@@ -1236,6 +1236,70 @@ storage.initial_stats_complete becomes true.
12361236 Measurement : "Ratio" ,
12371237 Unit : metric .Unit_CONST ,
12381238 }
1239+ metaBytesCompressedL5Data = metric.Metadata {
1240+ Name : "storage.bytes-compressed.l5.data" ,
1241+ Help : "Total number of logical bytes compressed for L5 data blocks." ,
1242+ Measurement : "Bytes" ,
1243+ Unit : metric .Unit_BYTES ,
1244+ LabeledName : "storage.bytes-compressed" ,
1245+ StaticLabels : metric .MakeLabelPairs (metric .LabelLevel , "5" , metric .LabelType , "data" ),
1246+ }
1247+ metaBytesDecompressedL5Data = metric.Metadata {
1248+ Name : "storage.bytes-decompressed.l5.data" ,
1249+ Help : "Total number of logical bytes decompressed for L5 data blocks." ,
1250+ Measurement : "Bytes" ,
1251+ Unit : metric .Unit_BYTES ,
1252+ LabeledName : "storage.bytes-decompressed" ,
1253+ StaticLabels : metric .MakeLabelPairs (metric .LabelLevel , "5" , metric .LabelType , "data" ),
1254+ }
1255+ metaBytesCompressedL5Values = metric.Metadata {
1256+ Name : "storage.bytes-compressed.l5.values" ,
1257+ Help : "Total number of logical bytes compressed for L5 value blocks." ,
1258+ Measurement : "Bytes" ,
1259+ Unit : metric .Unit_BYTES ,
1260+ LabeledName : "storage.bytes-compressed" ,
1261+ StaticLabels : metric .MakeLabelPairs (metric .LabelLevel , "5" , metric .LabelType , "values" ),
1262+ }
1263+ metaBytesDecompressedL5Values = metric.Metadata {
1264+ Name : "storage.bytes-decompressed.l5.values" ,
1265+ Help : "Total number of logical bytes decompressed for L5 value blocks." ,
1266+ Measurement : "Bytes" ,
1267+ Unit : metric .Unit_BYTES ,
1268+ LabeledName : "storage.bytes-decompressed" ,
1269+ StaticLabels : metric .MakeLabelPairs (metric .LabelLevel , "5" , metric .LabelType , "values" ),
1270+ }
1271+ metaBytesCompressedL6Data = metric.Metadata {
1272+ Name : "storage.bytes-compressed.l6.data" ,
1273+ Help : "Total number of logical bytes compressed for L6 data blocks." ,
1274+ Measurement : "Bytes" ,
1275+ Unit : metric .Unit_BYTES ,
1276+ LabeledName : "storage.bytes-compressed" ,
1277+ StaticLabels : metric .MakeLabelPairs (metric .LabelLevel , "6" , metric .LabelType , "data" ),
1278+ }
1279+ metaBytesDecompressedL6Data = metric.Metadata {
1280+ Name : "storage.bytes-decompressed.l6.data" ,
1281+ Help : "Total number of logical bytes decompressed for L6 data blocks." ,
1282+ Measurement : "Bytes" ,
1283+ Unit : metric .Unit_BYTES ,
1284+ LabeledName : "storage.bytes-decompressed" ,
1285+ StaticLabels : metric .MakeLabelPairs (metric .LabelLevel , "6" , metric .LabelType , "data" ),
1286+ }
1287+ metaBytesCompressedL6Values = metric.Metadata {
1288+ Name : "storage.bytes-compressed.l6.values" ,
1289+ Help : "Total number of logical bytes compressed for L6 value blocks." ,
1290+ Measurement : "Bytes" ,
1291+ Unit : metric .Unit_BYTES ,
1292+ LabeledName : "storage.bytes-compressed" ,
1293+ StaticLabels : metric .MakeLabelPairs (metric .LabelLevel , "6" , metric .LabelType , "values" ),
1294+ }
1295+ metaBytesDecompressedL6Values = metric.Metadata {
1296+ Name : "storage.bytes-decompressed.l6.values" ,
1297+ Help : "Total number of logical bytes decompressed for L6 value blocks." ,
1298+ Measurement : "Bytes" ,
1299+ Unit : metric .Unit_BYTES ,
1300+ LabeledName : "storage.bytes-decompressed" ,
1301+ StaticLabels : metric .MakeLabelPairs (metric .LabelLevel , "6" , metric .LabelType , "values" ),
1302+ }
12391303)
12401304
12411305var (
@@ -2935,6 +2999,9 @@ Note that the measurement does not include the duration for replicating the eval
29352999)
29363000
29373001// StoreMetrics is the set of metrics for a given store.
3002+ //
3003+ // Note: any non-embedded struct fields must implement the metric.Struct
3004+ // interface.
29383005type StoreMetrics struct {
29393006 registry * metric.Registry
29403007
@@ -3105,6 +3172,7 @@ type StoreMetrics struct {
31053172 SSTableRemoteBytes * metric.Gauge
31063173 SSTableRemoteCount * metric.Gauge
31073174
3175+ // Compression metrics for currently live sstables and blob files.
31083176 CompressionSnappyBytes * metric.Gauge
31093177 CompressionSnappyCR * metric.GaugeFloat64
31103178 CompressionMinLZBytes * metric.Gauge
@@ -3115,6 +3183,16 @@ type StoreMetrics struct {
31153183 CompressionUnknownBytes * metric.Gauge
31163184 CompressionOverallCR * metric.GaugeFloat64
31173185
3186+ // Runtime metrics for compression.
3187+ BytesCompressedL5Values * metric.Counter
3188+ BytesCompressedL5Data * metric.Counter
3189+ BytesCompressedL6Values * metric.Counter
3190+ BytesCompressedL6Data * metric.Counter
3191+ BytesDecompressedL5Values * metric.Counter
3192+ BytesDecompressedL5Data * metric.Counter
3193+ BytesDecompressedL6Values * metric.Counter
3194+ BytesDecompressedL6Data * metric.Counter
3195+
31183196 categoryIterMetrics pebbleCategoryIterMetricsContainer
31193197 categoryDiskWriteMetrics pebbleCategoryDiskWriteMetricsContainer
31203198 ValueSeparationBytesReferenced * metric.Gauge
@@ -3872,6 +3950,15 @@ func newStoreMetrics(histogramWindow time.Duration) *StoreMetrics {
38723950 CompressionUnknownBytes : metric .NewGauge (metaCompressionUnknownBytes ),
38733951 CompressionOverallCR : metric .NewGaugeFloat64 (metaCompressionOverallCR ),
38743952
3953+ BytesCompressedL5Data : metric .NewCounter (metaBytesCompressedL5Data ),
3954+ BytesCompressedL5Values : metric .NewCounter (metaBytesCompressedL5Values ),
3955+ BytesCompressedL6Data : metric .NewCounter (metaBytesCompressedL6Data ),
3956+ BytesCompressedL6Values : metric .NewCounter (metaBytesCompressedL6Values ),
3957+ BytesDecompressedL5Data : metric .NewCounter (metaBytesDecompressedL5Data ),
3958+ BytesDecompressedL5Values : metric .NewCounter (metaBytesDecompressedL5Values ),
3959+ BytesDecompressedL6Data : metric .NewCounter (metaBytesDecompressedL6Data ),
3960+ BytesDecompressedL6Values : metric .NewCounter (metaBytesDecompressedL6Values ),
3961+
38753962 categoryDiskWriteMetrics : pebbleCategoryDiskWriteMetricsContainer {
38763963 registry : storeRegistry ,
38773964 },
@@ -4212,6 +4299,7 @@ func newStoreMetrics(histogramWindow time.Duration) *StoreMetrics {
42124299 ClosedTimestampPolicyChange : metric .NewCounter (metaClosedTimestampPolicyChange ),
42134300 ClosedTimestampLatencyInfoMissing : metric .NewCounter (metaClosedTimestampLatencyInfoMissing ),
42144301 }
4302+
42154303 sm .categoryIterMetrics .init (storeRegistry )
42164304
42174305 storeRegistry .AddMetricStruct (sm )
@@ -4378,6 +4466,15 @@ func (sm *StoreMetrics) updateEngineMetrics(m storage.Metrics) {
43784466 // ratio; we estimate it from the data we do have.
43794467 sm .CompressionOverallCR .Update (overall .CompressionRatio ())
43804468
4469+ sm .BytesCompressedL5Values .Update (int64 (m .CompressionCounters .LogicalBytesCompressed .L5 .ValueBlocks ))
4470+ sm .BytesCompressedL5Data .Update (int64 (m .CompressionCounters .LogicalBytesCompressed .L5 .DataBlocks ))
4471+ sm .BytesCompressedL6Values .Update (int64 (m .CompressionCounters .LogicalBytesCompressed .L6 .ValueBlocks ))
4472+ sm .BytesCompressedL6Data .Update (int64 (m .CompressionCounters .LogicalBytesCompressed .L6 .DataBlocks ))
4473+ sm .BytesDecompressedL5Values .Update (int64 (m .CompressionCounters .LogicalBytesDecompressed .L5 .ValueBlocks ))
4474+ sm .BytesDecompressedL5Data .Update (int64 (m .CompressionCounters .LogicalBytesDecompressed .L5 .DataBlocks ))
4475+ sm .BytesDecompressedL6Values .Update (int64 (m .CompressionCounters .LogicalBytesDecompressed .L6 .ValueBlocks ))
4476+ sm .BytesDecompressedL6Data .Update (int64 (m .CompressionCounters .LogicalBytesDecompressed .L6 .DataBlocks ))
4477+
43814478 sm .categoryIterMetrics .update (m .CategoryStats )
43824479 sm .categoryDiskWriteMetrics .update (m .DiskWriteStats )
43834480
0 commit comments