replaced success metric and removed comments

Signed-off-by: amanycodes <amanycodes@gmail.com>
This commit is contained in:
amanycodes 2025-02-03 18:57:02 +05:30
parent c2c2103b00
commit 2dcab871cc
5 changed files with 38 additions and 81 deletions

View file

@ -738,7 +738,7 @@ func createHeadWithOOOSamples(tb testing.TB, w *wlog.WL, series []storage.Series
require.NoError(tb, app.Commit()) require.NoError(tb, app.Commit())
oooSamplesAppended := 0 oooSamplesAppended := 0
require.Equal(tb, float64(0), prom_testutil.ToFloat64(head.metrics.successfulSamplesAppended.WithLabelValues(oooAppends))) require.Equal(tb, float64(0), prom_testutil.ToFloat64(head.metrics.outOfOrderSamplesAppended))
app = head.Appender(context.Background()) app = head.Appender(context.Background())
for i, lset := range oooSampleLabels { for i, lset := range oooSampleLabels {
@ -751,11 +751,11 @@ func createHeadWithOOOSamples(tb testing.TB, w *wlog.WL, series []storage.Series
} }
require.NoError(tb, app.Commit()) require.NoError(tb, app.Commit())
actOOOAppended := prom_testutil.ToFloat64(head.metrics.successfulSamplesAppended.WithLabelValues(oooAppends)) actOOOAppended := prom_testutil.ToFloat64(head.metrics.outOfOrderSamplesAppended)
require.GreaterOrEqual(tb, actOOOAppended, float64(oooSamplesAppended-len(series))) require.GreaterOrEqual(tb, actOOOAppended, float64(oooSamplesAppended-len(series)))
require.LessOrEqual(tb, actOOOAppended, float64(oooSamplesAppended)) require.LessOrEqual(tb, actOOOAppended, float64(oooSamplesAppended))
require.Equal(tb, float64(totalSamples), prom_testutil.ToFloat64(head.metrics.successfulSamplesAppended.WithLabelValues(successfulAppends))) require.Equal(tb, float64(totalSamples), prom_testutil.ToFloat64(head.metrics.samplesAppended))
return head return head
} }

View file

@ -351,26 +351,22 @@ type headMetrics struct {
chunksCreated prometheus.Counter chunksCreated prometheus.Counter
chunksRemoved prometheus.Counter chunksRemoved prometheus.Counter
gcDuration prometheus.Summary gcDuration prometheus.Summary
successfulSamplesAppended *prometheus.CounterVec samplesAppended *prometheus.CounterVec
// samplesAppended *prometheus.CounterVec outOfOrderSamplesAppended *prometheus.CounterVec
// outOfOrderSamplesAppended *prometheus.CounterVec walTruncateDuration prometheus.Summary
// outOfBoundSamples *prometheus.CounterVec walCorruptionsTotal prometheus.Counter
// outOfOrderSamples *prometheus.CounterVec dataTotalReplayDuration prometheus.Gauge
// tooOldSamples *prometheus.CounterVec headTruncateFail prometheus.Counter
walTruncateDuration prometheus.Summary headTruncateTotal prometheus.Counter
walCorruptionsTotal prometheus.Counter checkpointDeleteFail prometheus.Counter
dataTotalReplayDuration prometheus.Gauge checkpointDeleteTotal prometheus.Counter
headTruncateFail prometheus.Counter checkpointCreationFail prometheus.Counter
headTruncateTotal prometheus.Counter checkpointCreationTotal prometheus.Counter
checkpointDeleteFail prometheus.Counter mmapChunkCorruptionTotal prometheus.Counter
checkpointDeleteTotal prometheus.Counter snapshotReplayErrorTotal prometheus.Counter // Will be either 0 or 1.
checkpointCreationFail prometheus.Counter oooHistogram prometheus.Histogram
checkpointCreationTotal prometheus.Counter mmapChunksTotal prometheus.Counter
mmapChunkCorruptionTotal prometheus.Counter sampleAppendFailures *prometheus.CounterVec
snapshotReplayErrorTotal prometheus.Counter // Will be either 0 or 1.
oooHistogram prometheus.Histogram
mmapChunksTotal prometheus.Counter
sampleAppendFailures *prometheus.CounterVec
} }
const ( const (
@ -379,8 +375,6 @@ const (
outOfBounds = "out_of_bounds" outOfBounds = "out_of_bounds"
outOfOrder = "out_of_order" outOfOrder = "out_of_order"
tooOld = "too_old" tooOld = "too_old"
successfulAppends = "successful_appends"
oooAppends = "ooo_appends"
) )
func newHeadMetrics(h *Head, r prometheus.Registerer) *headMetrics { func newHeadMetrics(h *Head, r prometheus.Registerer) *headMetrics {
@ -435,34 +429,18 @@ func newHeadMetrics(h *Head, r prometheus.Registerer) *headMetrics {
Name: "prometheus_tsdb_data_replay_duration_seconds", Name: "prometheus_tsdb_data_replay_duration_seconds",
Help: "Time taken to replay the data on disk.", Help: "Time taken to replay the data on disk.",
}), }),
successfulSamplesAppended: prometheus.NewCounterVec(prometheus.CounterOpts{
Name: "prometheus_tsdb_head_successful_samples_appended_total",
Help: "Total number of successful appended samples including out of order samples.",
}, []string{"reason", "type"}),
sampleAppendFailures: prometheus.NewCounterVec(prometheus.CounterOpts{ sampleAppendFailures: prometheus.NewCounterVec(prometheus.CounterOpts{
Name: "prometheus_tsdb_head_samples_append_failures_total", Name: "prometheus_tsdb_head_append_failures_total",
Help: "Total number of sample append failures with different reasons.", Help: "Total number of sample append failures with different reasons.",
}, []string{"reason", "type"}), }, []string{"reason", "type"}),
// samplesAppended: prometheus.NewCounterVec(prometheus.CounterOpts{ samplesAppended: prometheus.NewCounterVec(prometheus.CounterOpts{
// Name: "prometheus_tsdb_head_samples_appended_total", Name: "prometheus_tsdb_head_samples_appended_total",
// Help: "Total number of appended samples.", Help: "Total number of appended samples.",
// }, []string{"type"}), }, []string{"type"}),
// outOfOrderSamplesAppended: prometheus.NewCounterVec(prometheus.CounterOpts{ outOfOrderSamplesAppended: prometheus.NewCounterVec(prometheus.CounterOpts{
// Name: "prometheus_tsdb_head_out_of_order_samples_appended_total", Name: "prometheus_tsdb_head_out_of_order_samples_appended_total",
// Help: "Total number of appended out of order samples.", Help: "Total number of appended out of order samples.",
// }, []string{"type"}), }, []string{"type"}),
// outOfBoundSamples: prometheus.NewCounterVec(prometheus.CounterOpts{
// Name: "prometheus_tsdb_out_of_bound_samples_total",
// Help: "Total number of out of bound samples ingestion failed attempts with out of order support disabled.",
// }, []string{"type"}),
// outOfOrderSamples: prometheus.NewCounterVec(prometheus.CounterOpts{
// Name: "prometheus_tsdb_out_of_order_samples_total",
// Help: "Total number of out of order samples ingestion failed attempts due to out of order being disabled.",
// }, []string{"type"}),
// tooOldSamples: prometheus.NewCounterVec(prometheus.CounterOpts{
// Name: "prometheus_tsdb_too_old_samples_total",
// Help: "Total number of out of order samples ingestion failed attempts with out of support enabled, but sample outside of time window.",
// }, []string{"type"}),
headTruncateFail: prometheus.NewCounter(prometheus.CounterOpts{ headTruncateFail: prometheus.NewCounter(prometheus.CounterOpts{
Name: "prometheus_tsdb_head_truncations_failed_total", Name: "prometheus_tsdb_head_truncations_failed_total",
Help: "Total number of head truncations that failed.", Help: "Total number of head truncations that failed.",
@ -531,13 +509,9 @@ func newHeadMetrics(h *Head, r prometheus.Registerer) *headMetrics {
m.walTruncateDuration, m.walTruncateDuration,
m.walCorruptionsTotal, m.walCorruptionsTotal,
m.dataTotalReplayDuration, m.dataTotalReplayDuration,
// m.samplesAppended, m.samplesAppended,
m.successfulSamplesAppended, m.outOfOrderSamplesAppended,
// m.outOfOrderSamplesAppended,
m.sampleAppendFailures, m.sampleAppendFailures,
// m.outOfBoundSamples,
// m.outOfOrderSamples,
// m.tooOldSamples,
m.headTruncateFail, m.headTruncateFail,
m.headTruncateTotal, m.headTruncateTotal,
m.checkpointDeleteFail, m.checkpointDeleteFail,

View file

@ -344,7 +344,6 @@ func (a *headAppender) Append(ref storage.SeriesRef, lset labels.Labels, t int64
// Otherwise a full check will be done later to decide if the sample is in-order or out-of-order. // Otherwise a full check will be done later to decide if the sample is in-order or out-of-order.
if a.oooTimeWindow == 0 && t < a.minValidTime { if a.oooTimeWindow == 0 && t < a.minValidTime {
a.head.metrics.sampleAppendFailures.WithLabelValues(outOfBounds, sampleMetricTypeFloat).Inc() a.head.metrics.sampleAppendFailures.WithLabelValues(outOfBounds, sampleMetricTypeFloat).Inc()
// a.head.metrics.outOfBoundSamples.WithLabelValues(sampleMetricTypeFloat).Inc()
return 0, storage.ErrOutOfBounds return 0, storage.ErrOutOfBounds
} }
@ -379,7 +378,6 @@ func (a *headAppender) Append(ref storage.SeriesRef, lset labels.Labels, t int64
if err == nil { if err == nil {
if isOOO && a.hints != nil && a.hints.DiscardOutOfOrder { if isOOO && a.hints != nil && a.hints.DiscardOutOfOrder {
a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeFloat).Inc() a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeFloat).Inc()
// a.head.metrics.outOfOrderSamples.WithLabelValues(sampleMetricTypeFloat).Inc()
return 0, storage.ErrOutOfOrderSample return 0, storage.ErrOutOfOrderSample
} }
s.pendingCommit = true s.pendingCommit = true
@ -391,10 +389,8 @@ func (a *headAppender) Append(ref storage.SeriesRef, lset labels.Labels, t int64
switch { switch {
case errors.Is(err, storage.ErrOutOfOrderSample): case errors.Is(err, storage.ErrOutOfOrderSample):
a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeFloat).Inc() a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeFloat).Inc()
// a.head.metrics.outOfOrderSamples.WithLabelValues(sampleMetricTypeFloat).Inc()
case errors.Is(err, storage.ErrTooOldSample): case errors.Is(err, storage.ErrTooOldSample):
a.head.metrics.sampleAppendFailures.WithLabelValues(tooOld, sampleMetricTypeFloat).Inc() a.head.metrics.sampleAppendFailures.WithLabelValues(tooOld, sampleMetricTypeFloat).Inc()
// a.head.metrics.tooOldSamples.WithLabelValues(sampleMetricTypeFloat).Inc()
} }
return 0, err return 0, err
} }
@ -660,7 +656,6 @@ func (a *headAppender) AppendHistogram(ref storage.SeriesRef, lset labels.Labels
// Otherwise a full check will be done later to decide if the sample is in-order or out-of-order. // Otherwise a full check will be done later to decide if the sample is in-order or out-of-order.
if (a.oooTimeWindow == 0 || !a.head.opts.EnableOOONativeHistograms.Load()) && t < a.minValidTime { if (a.oooTimeWindow == 0 || !a.head.opts.EnableOOONativeHistograms.Load()) && t < a.minValidTime {
a.head.metrics.sampleAppendFailures.WithLabelValues(outOfBounds, sampleMetricTypeHistogram).Inc() a.head.metrics.sampleAppendFailures.WithLabelValues(outOfBounds, sampleMetricTypeHistogram).Inc()
// a.head.metrics.outOfBoundSamples.WithLabelValues(sampleMetricTypeHistogram).Inc()
return 0, storage.ErrOutOfBounds return 0, storage.ErrOutOfBounds
} }
@ -713,10 +708,8 @@ func (a *headAppender) AppendHistogram(ref storage.SeriesRef, lset labels.Labels
fallthrough fallthrough
case errors.Is(err, storage.ErrOOONativeHistogramsDisabled): case errors.Is(err, storage.ErrOOONativeHistogramsDisabled):
a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeHistogram).Inc() a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeHistogram).Inc()
// a.head.metrics.outOfOrderSamples.WithLabelValues(sampleMetricTypeHistogram).Inc()
case errors.Is(err, storage.ErrTooOldSample): case errors.Is(err, storage.ErrTooOldSample):
a.head.metrics.sampleAppendFailures.WithLabelValues(tooOld, sampleMetricTypeHistogram).Inc() a.head.metrics.sampleAppendFailures.WithLabelValues(tooOld, sampleMetricTypeHistogram).Inc()
// a.head.metrics.tooOldSamples.WithLabelValues(sampleMetricTypeHistogram).Inc()
} }
return 0, err return 0, err
} }
@ -752,9 +745,7 @@ func (a *headAppender) AppendHistogram(ref storage.SeriesRef, lset labels.Labels
fallthrough fallthrough
case errors.Is(err, storage.ErrOOONativeHistogramsDisabled): case errors.Is(err, storage.ErrOOONativeHistogramsDisabled):
a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeHistogram).Inc() a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeHistogram).Inc()
// a.head.metrics.outOfOrderSamples.WithLabelValues(sampleMetricTypeHistogram).Inc()
case errors.Is(err, storage.ErrTooOldSample): case errors.Is(err, storage.ErrTooOldSample):
// a.head.metrics.tooOldSamples.WithLabelValues(sampleMetricTypeHistogram).Inc()
a.head.metrics.sampleAppendFailures.WithLabelValues(tooOld, sampleMetricTypeHistogram).Inc() a.head.metrics.sampleAppendFailures.WithLabelValues(tooOld, sampleMetricTypeHistogram).Inc()
} }
return 0, err return 0, err
@ -1500,22 +1491,14 @@ func (a *headAppender) Commit() (err error) {
a.commitFloatHistograms(acc) a.commitFloatHistograms(acc)
a.commitMetadata() a.commitMetadata()
// a.head.metrics.outOfOrderSamples.WithLabelValues(sampleMetricTypeFloat).Add(float64(acc.floatOOORejected))
// a.head.metrics.outOfOrderSamples.WithLabelValues(sampleMetricTypeHistogram).Add(float64(acc.histoOOORejected))
a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeHistogram).Add(float64(acc.histoOOORejected)) a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeHistogram).Add(float64(acc.histoOOORejected))
a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeFloat).Add(float64(acc.floatOOORejected)) a.head.metrics.sampleAppendFailures.WithLabelValues(outOfOrder, sampleMetricTypeFloat).Add(float64(acc.floatOOORejected))
// a.head.metrics.outOfBoundSamples.WithLabelValues(sampleMetricTypeFloat).Add(float64(acc.floatOOBRejected))
a.head.metrics.sampleAppendFailures.WithLabelValues(outOfBounds, sampleMetricTypeFloat).Add(float64(acc.floatOOBRejected)) a.head.metrics.sampleAppendFailures.WithLabelValues(outOfBounds, sampleMetricTypeFloat).Add(float64(acc.floatOOBRejected))
// a.head.metrics.tooOldSamples.WithLabelValues(sampleMetricTypeFloat).Add(float64(acc.floatTooOldRejected))
a.head.metrics.sampleAppendFailures.WithLabelValues(tooOld, sampleMetricTypeFloat).Add(float64(acc.floatTooOldRejected)) a.head.metrics.sampleAppendFailures.WithLabelValues(tooOld, sampleMetricTypeFloat).Add(float64(acc.floatTooOldRejected))
a.head.metrics.successfulSamplesAppended.WithLabelValues(successfulAppends, sampleMetricTypeFloat).Add(float64(acc.floatsAppended)) a.head.metrics.samplesAppended.WithLabelValues(sampleMetricTypeFloat).Add(float64(acc.floatsAppended))
a.head.metrics.successfulSamplesAppended.WithLabelValues(successfulAppends, sampleMetricTypeHistogram).Add(float64(acc.histogramsAppended)) a.head.metrics.samplesAppended.WithLabelValues(sampleMetricTypeHistogram).Add(float64(acc.histogramsAppended))
// a.head.metrics.samplesAppended.WithLabelValues(sampleMetricTypeFloat).Add(float64(acc.floatsAppended)) a.head.metrics.outOfOrderSamplesAppended.WithLabelValues(sampleMetricTypeFloat).Add(float64(acc.oooFloatsAccepted))
// a.head.metrics.samplesAppended.WithLabelValues(sampleMetricTypeHistogram).Add(float64(acc.histogramsAppended)) a.head.metrics.outOfOrderSamplesAppended.WithLabelValues(sampleMetricTypeHistogram).Add(float64(acc.oooHistogramAccepted))
a.head.metrics.successfulSamplesAppended.WithLabelValues(oooAppends, sampleMetricTypeFloat).Add(float64(acc.oooFloatsAccepted))
a.head.metrics.successfulSamplesAppended.WithLabelValues(oooAppends, sampleMetricTypeHistogram).Add(float64(acc.oooHistogramAccepted))
// a.head.metrics.outOfOrderSamplesAppended.WithLabelValues(sampleMetricTypeFloat).Add(float64(acc.oooFloatsAccepted))
// a.head.metrics.outOfOrderSamplesAppended.WithLabelValues(sampleMetricTypeHistogram).Add(float64(acc.oooHistogramAccepted))
a.head.updateMinMaxTime(acc.inOrderMint, acc.inOrderMaxt) a.head.updateMinMaxTime(acc.inOrderMint, acc.inOrderMaxt)
a.head.updateMinOOOMaxOOOTime(acc.oooMinT, acc.oooMaxT) a.head.updateMinOOOMaxOOOTime(acc.oooMinT, acc.oooMaxT)

View file

@ -4379,7 +4379,7 @@ func TestHistogramMetrics(t *testing.T) {
} }
} }
require.Equal(t, float64(expHSamples), prom_testutil.ToFloat64(head.metrics.successfulSamplesAppended.WithLabelValues(successfulAppends, sampleMetricTypeHistogram))) require.Equal(t, float64(expHSamples), prom_testutil.ToFloat64(head.metrics.samplesAppended.WithLabelValues(sampleMetricTypeHistogram)))
require.NoError(t, head.Close()) require.NoError(t, head.Close())
w, err := wlog.NewSize(nil, nil, head.wal.Dir(), 32768, wlog.CompressionNone) w, err := wlog.NewSize(nil, nil, head.wal.Dir(), 32768, wlog.CompressionNone)
@ -4388,7 +4388,7 @@ func TestHistogramMetrics(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.NoError(t, head.Init(0)) require.NoError(t, head.Init(0))
require.Equal(t, float64(0), prom_testutil.ToFloat64(head.metrics.successfulSamplesAppended.WithLabelValues(successfulAppends, sampleMetricTypeHistogram))) // Counter reset. require.Equal(t, float64(0), prom_testutil.ToFloat64(head.metrics.samplesAppended.WithLabelValues(sampleMetricTypeHistogram)))
} }
func TestHistogramStaleSample(t *testing.T) { func TestHistogramStaleSample(t *testing.T) {

View file

@ -149,8 +149,8 @@ func requireEqualSeries(t *testing.T, expected, actual map[string][]chunks.Sampl
func requireEqualOOOSamples(t *testing.T, expectedSamples int, db *DB) { func requireEqualOOOSamples(t *testing.T, expectedSamples int, db *DB) {
require.Equal(t, float64(expectedSamples), require.Equal(t, float64(expectedSamples),
prom_testutil.ToFloat64(db.head.metrics.successfulSamplesAppended.WithLabelValues(oooAppends, sampleMetricTypeFloat))+ prom_testutil.ToFloat64(db.head.metrics.outOfOrderSamplesAppended.WithLabelValues(sampleMetricTypeFloat))+
prom_testutil.ToFloat64(db.head.metrics.successfulSamplesAppended.WithLabelValues(oooAppends, sampleMetricTypeHistogram)), prom_testutil.ToFloat64(db.head.metrics.outOfOrderSamplesAppended.WithLabelValues(sampleMetricTypeHistogram)),
"number of ooo appended samples mismatch") "number of ooo appended samples mismatch")
} }