Merge pull request #13681 from krajorama/native-latency-histograms

Add native histograms to latency/duration metrics
This commit is contained in:
Björn Rabenstein 2024-03-07 20:46:43 +01:00 committed by GitHub
commit 9acae57937
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 43 additions and 22 deletions

View file

@ -86,6 +86,9 @@ var (
Name: "sent_batch_duration_seconds", Name: "sent_batch_duration_seconds",
Help: "Duration of sample batch send calls to the remote storage.", Help: "Duration of sample batch send calls to the remote storage.",
Buckets: prometheus.DefBuckets, Buckets: prometheus.DefBuckets,
NativeHistogramBucketFactor: 1.1,
NativeHistogramMaxBucketNumber: 100,
NativeHistogramMinResetDuration: 1 * time.Hour,
}, },
[]string{"remote"}, []string{"remote"},
) )

View file

@ -69,6 +69,9 @@ var (
Name: "read_request_duration_seconds", Name: "read_request_duration_seconds",
Help: "Histogram of the latency for remote read requests.", Help: "Histogram of the latency for remote read requests.",
Buckets: append(prometheus.DefBuckets, 25, 60), Buckets: append(prometheus.DefBuckets, 25, 60),
NativeHistogramBucketFactor: 1.1,
NativeHistogramMaxBucketNumber: 100,
NativeHistogramMinResetDuration: 1 * time.Hour,
}, },
[]string{remoteName, endpoint}, []string{remoteName, endpoint},
) )

View file

@ -220,6 +220,9 @@ func newQueueManagerMetrics(r prometheus.Registerer, rn, e string) *queueManager
Help: "Duration of send calls to the remote storage.", Help: "Duration of send calls to the remote storage.",
Buckets: append(prometheus.DefBuckets, 25, 60, 120, 300), Buckets: append(prometheus.DefBuckets, 25, 60, 120, 300),
ConstLabels: constLabels, ConstLabels: constLabels,
NativeHistogramBucketFactor: 1.1,
NativeHistogramMaxBucketNumber: 100,
NativeHistogramMinResetDuration: 1 * time.Hour,
}) })
m.highestSentTimestamp = &maxTimestamp{ m.highestSentTimestamp = &maxTimestamp{
Gauge: prometheus.NewGauge(prometheus.GaugeOpts{ Gauge: prometheus.NewGauge(prometheus.GaugeOpts{

View file

@ -115,6 +115,9 @@ func newCompactorMetrics(r prometheus.Registerer) *CompactorMetrics {
Name: "prometheus_tsdb_compaction_duration_seconds", Name: "prometheus_tsdb_compaction_duration_seconds",
Help: "Duration of compaction runs", Help: "Duration of compaction runs",
Buckets: prometheus.ExponentialBuckets(1, 2, 14), Buckets: prometheus.ExponentialBuckets(1, 2, 14),
NativeHistogramBucketFactor: 1.1,
NativeHistogramMaxBucketNumber: 100,
NativeHistogramMinResetDuration: 1 * time.Hour,
}) })
m.ChunkSize = prometheus.NewHistogram(prometheus.HistogramOpts{ m.ChunkSize = prometheus.NewHistogram(prometheus.HistogramOpts{
Name: "prometheus_tsdb_compaction_chunk_size_bytes", Name: "prometheus_tsdb_compaction_chunk_size_bytes",

View file

@ -321,6 +321,9 @@ func newDBMetrics(db *DB, r prometheus.Registerer) *dbMetrics {
m.tombCleanTimer = prometheus.NewHistogram(prometheus.HistogramOpts{ m.tombCleanTimer = prometheus.NewHistogram(prometheus.HistogramOpts{
Name: "prometheus_tsdb_tombstone_cleanup_seconds", Name: "prometheus_tsdb_tombstone_cleanup_seconds",
Help: "The time taken to recompact blocks to remove tombstones.", Help: "The time taken to recompact blocks to remove tombstones.",
NativeHistogramBucketFactor: 1.1,
NativeHistogramMaxBucketNumber: 100,
NativeHistogramMinResetDuration: 1 * time.Hour,
}) })
m.blocksBytes = prometheus.NewGauge(prometheus.GaugeOpts{ m.blocksBytes = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "prometheus_tsdb_storage_blocks_bytes", Name: "prometheus_tsdb_storage_blocks_bytes",

View file

@ -480,6 +480,9 @@ func newHeadMetrics(h *Head, r prometheus.Registerer) *headMetrics {
60 * 60 * 6, // 6h 60 * 60 * 6, // 6h
60 * 60 * 12, // 12h 60 * 60 * 12, // 12h
}, },
NativeHistogramBucketFactor: 1.1,
NativeHistogramMaxBucketNumber: 100,
NativeHistogramMinResetDuration: 1 * time.Hour,
}), }),
mmapChunksTotal: prometheus.NewCounter(prometheus.CounterOpts{ mmapChunksTotal: prometheus.NewCounter(prometheus.CounterOpts{
Name: "prometheus_tsdb_mmap_chunks_total", Name: "prometheus_tsdb_mmap_chunks_total",

View file

@ -126,6 +126,9 @@ func newMetrics(r prometheus.Registerer) *metrics {
Name: "prometheus_http_request_duration_seconds", Name: "prometheus_http_request_duration_seconds",
Help: "Histogram of latencies for HTTP requests.", Help: "Histogram of latencies for HTTP requests.",
Buckets: []float64{.1, .2, .4, 1, 3, 8, 20, 60, 120}, Buckets: []float64{.1, .2, .4, 1, 3, 8, 20, 60, 120},
NativeHistogramBucketFactor: 1.1,
NativeHistogramMaxBucketNumber: 100,
NativeHistogramMinResetDuration: 1 * time.Hour,
}, },
[]string{"handler"}, []string{"handler"},
), ),