@@ -1236,6 +1236,54 @@ 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+ }
1245+ metaBytesDecompressedL5Data = metric.Metadata {
1246+ Name : "storage.bytes-decompressed.l5.data" ,
1247+ Help : "Total number of logical bytes decompressed for L5 data blocks." ,
1248+ Measurement : "Bytes" ,
1249+ Unit : metric .Unit_BYTES ,
1250+ }
1251+ metaBytesCompressedL5Values = metric.Metadata {
1252+ Name : "storage.bytes-compressed.l5.values" ,
1253+ Help : "Total number of logical bytes compressed for L5 value blocks." ,
1254+ Measurement : "Bytes" ,
1255+ Unit : metric .Unit_BYTES ,
1256+ }
1257+ metaBytesDecompressedL5Values = metric.Metadata {
1258+ Name : "storage.bytes-decompressed.l5.values" ,
1259+ Help : "Total number of logical bytes decompressed for L5 value blocks." ,
1260+ Measurement : "Bytes" ,
1261+ Unit : metric .Unit_BYTES ,
1262+ }
1263+ metaBytesCompressedL6Data = metric.Metadata {
1264+ Name : "storage.bytes-compressed.l6.data" ,
1265+ Help : "Total number of logical bytes compressed for L6 data blocks." ,
1266+ Measurement : "Bytes" ,
1267+ Unit : metric .Unit_BYTES ,
1268+ }
1269+ metaBytesDecompressedL6Data = metric.Metadata {
1270+ Name : "storage.bytes-decompressed.l6.data" ,
1271+ Help : "Total number of logical bytes decompressed for L6 data blocks." ,
1272+ Measurement : "Bytes" ,
1273+ Unit : metric .Unit_BYTES ,
1274+ }
1275+ metaBytesCompressedL6Values = metric.Metadata {
1276+ Name : "storage.bytes-compressed.l6.values" ,
1277+ Help : "Total number of logical bytes compressed for L6 value blocks." ,
1278+ Measurement : "Bytes" ,
1279+ Unit : metric .Unit_BYTES ,
1280+ }
1281+ metaBytesDecompressedL6Values = metric.Metadata {
1282+ Name : "storage.bytes-decompressed.l6.values" ,
1283+ Help : "Total number of logical bytes decompressed for L6 value blocks." ,
1284+ Measurement : "Bytes" ,
1285+ Unit : metric .Unit_BYTES ,
1286+ }
12391287)
12401288
12411289var (
@@ -2935,6 +2983,9 @@ Note that the measurement does not include the duration for replicating the eval
29352983)
29362984
29372985// StoreMetrics is the set of metrics for a given store.
2986+ //
2987+ // Note: any non-embedded struct fields must implement the metric.Struct
2988+ // interface.
29382989type StoreMetrics struct {
29392990 registry * metric.Registry
29402991
@@ -3105,6 +3156,7 @@ type StoreMetrics struct {
31053156 SSTableRemoteBytes * metric.Gauge
31063157 SSTableRemoteCount * metric.Gauge
31073158
3159+ // Compression metrics for currently live sstables and blob files.
31083160 CompressionSnappyBytes * metric.Gauge
31093161 CompressionSnappyCR * metric.GaugeFloat64
31103162 CompressionMinLZBytes * metric.Gauge
@@ -3115,6 +3167,16 @@ type StoreMetrics struct {
31153167 CompressionUnknownBytes * metric.Gauge
31163168 CompressionOverallCR * metric.GaugeFloat64
31173169
3170+ // Runtime metrics for compression.
3171+ BytesCompressedL5Values * metric.Counter
3172+ BytesCompressedL5Data * metric.Counter
3173+ BytesCompressedL6Values * metric.Counter
3174+ BytesCompressedL6Data * metric.Counter
3175+ BytesDecompressedL5Values * metric.Counter
3176+ BytesDecompressedL5Data * metric.Counter
3177+ BytesDecompressedL6Values * metric.Counter
3178+ BytesDecompressedL6Data * metric.Counter
3179+
31183180 categoryIterMetrics pebbleCategoryIterMetricsContainer
31193181 categoryDiskWriteMetrics pebbleCategoryDiskWriteMetricsContainer
31203182 ValueSeparationBytesReferenced * metric.Gauge
@@ -3872,6 +3934,15 @@ func newStoreMetrics(histogramWindow time.Duration) *StoreMetrics {
38723934 CompressionUnknownBytes : metric .NewGauge (metaCompressionUnknownBytes ),
38733935 CompressionOverallCR : metric .NewGaugeFloat64 (metaCompressionOverallCR ),
38743936
3937+ BytesCompressedL5Data : metric .NewCounter (metaBytesCompressedL5Data ),
3938+ BytesCompressedL5Values : metric .NewCounter (metaBytesCompressedL5Values ),
3939+ BytesCompressedL6Data : metric .NewCounter (metaBytesCompressedL6Data ),
3940+ BytesCompressedL6Values : metric .NewCounter (metaBytesCompressedL6Values ),
3941+ BytesDecompressedL5Data : metric .NewCounter (metaBytesDecompressedL5Data ),
3942+ BytesDecompressedL5Values : metric .NewCounter (metaBytesDecompressedL5Values ),
3943+ BytesDecompressedL6Data : metric .NewCounter (metaBytesDecompressedL6Data ),
3944+ BytesDecompressedL6Values : metric .NewCounter (metaBytesDecompressedL6Values ),
3945+
38753946 categoryDiskWriteMetrics : pebbleCategoryDiskWriteMetricsContainer {
38763947 registry : storeRegistry ,
38773948 },
@@ -4212,6 +4283,7 @@ func newStoreMetrics(histogramWindow time.Duration) *StoreMetrics {
42124283 ClosedTimestampPolicyChange : metric .NewCounter (metaClosedTimestampPolicyChange ),
42134284 ClosedTimestampLatencyInfoMissing : metric .NewCounter (metaClosedTimestampLatencyInfoMissing ),
42144285 }
4286+
42154287 sm .categoryIterMetrics .init (storeRegistry )
42164288
42174289 storeRegistry .AddMetricStruct (sm )
@@ -4378,6 +4450,15 @@ func (sm *StoreMetrics) updateEngineMetrics(m storage.Metrics) {
43784450 // ratio; we estimate it from the data we do have.
43794451 sm .CompressionOverallCR .Update (overall .CompressionRatio ())
43804452
4453+ sm .BytesCompressedL5Values .Update (int64 (m .CompressionCounters .LogicalBytesCompressed .L5 .ValueBlocks ))
4454+ sm .BytesCompressedL5Data .Update (int64 (m .CompressionCounters .LogicalBytesCompressed .L5 .DataBlocks ))
4455+ sm .BytesCompressedL6Values .Update (int64 (m .CompressionCounters .LogicalBytesCompressed .L6 .ValueBlocks ))
4456+ sm .BytesCompressedL6Data .Update (int64 (m .CompressionCounters .LogicalBytesCompressed .L6 .DataBlocks ))
4457+ sm .BytesDecompressedL5Values .Update (int64 (m .CompressionCounters .LogicalBytesDecompressed .L5 .ValueBlocks ))
4458+ sm .BytesDecompressedL5Data .Update (int64 (m .CompressionCounters .LogicalBytesDecompressed .L5 .DataBlocks ))
4459+ sm .BytesDecompressedL6Values .Update (int64 (m .CompressionCounters .LogicalBytesDecompressed .L6 .ValueBlocks ))
4460+ sm .BytesDecompressedL6Data .Update (int64 (m .CompressionCounters .LogicalBytesDecompressed .L6 .DataBlocks ))
4461+
43814462 sm .categoryIterMetrics .update (m .CategoryStats )
43824463 sm .categoryDiskWriteMetrics .update (m .DiskWriteStats )
43834464
0 commit comments