|
8 | 8 | "github.com/go-kit/log"
|
9 | 9 | "github.com/go-kit/log/level"
|
10 | 10 | "github.com/prometheus/client_golang/prometheus"
|
11 |
| - "github.com/prometheus/client_golang/prometheus/promauto" |
12 | 11 | "github.com/prometheus/prometheus/model/exemplar"
|
13 | 12 | "github.com/prometheus/prometheus/model/histogram"
|
14 | 13 | "github.com/prometheus/prometheus/model/labels"
|
@@ -279,47 +278,22 @@ type RulesManager interface {
|
279 | 278 | // ManagerFactory is a function that creates new RulesManager for given user and notifier.Manager.
|
280 | 279 | type ManagerFactory func(ctx context.Context, userID string, notifier *notifier.Manager, logger log.Logger, reg prometheus.Registerer) RulesManager
|
281 | 280 |
|
282 |
| -func DefaultTenantManagerFactory(cfg Config, p Pusher, q storage.Queryable, engine v1.QueryEngine, overrides RulesLimits, reg prometheus.Registerer) ManagerFactory { |
283 |
| - totalWritesVec := promauto.With(reg).NewCounterVec(prometheus.CounterOpts{ |
284 |
| - Name: "cortex_ruler_write_requests_total", |
285 |
| - Help: "Number of write requests to ingesters.", |
286 |
| - }, []string{"user"}) |
287 |
| - failedWritesVec := promauto.With(reg).NewCounterVec(prometheus.CounterOpts{ |
288 |
| - Name: "cortex_ruler_write_requests_failed_total", |
289 |
| - Help: "Number of failed write requests to ingesters.", |
290 |
| - }, []string{"user"}) |
291 |
| - |
292 |
| - totalQueriesVec := promauto.With(reg).NewCounterVec(prometheus.CounterOpts{ |
293 |
| - Name: "cortex_ruler_queries_total", |
294 |
| - Help: "Number of queries executed by ruler.", |
295 |
| - }, []string{"user"}) |
296 |
| - failedQueriesVec := promauto.With(reg).NewCounterVec(prometheus.CounterOpts{ |
297 |
| - Name: "cortex_ruler_queries_failed_total", |
298 |
| - Help: "Number of failed queries by ruler.", |
299 |
| - }, []string{"user"}) |
300 |
| - var rulerQuerySeconds *prometheus.CounterVec |
301 |
| - if cfg.EnableQueryStats { |
302 |
| - rulerQuerySeconds = promauto.With(reg).NewCounterVec(prometheus.CounterOpts{ |
303 |
| - Name: "cortex_ruler_query_seconds_total", |
304 |
| - Help: "Total amount of wall clock time spent processing queries by the ruler.", |
305 |
| - }, []string{"user"}) |
306 |
| - } |
307 |
| - |
| 281 | +func DefaultTenantManagerFactory(cfg Config, p Pusher, q storage.Queryable, engine v1.QueryEngine, overrides RulesLimits, evalMetrics *RuleEvalMetrics, reg prometheus.Registerer) ManagerFactory { |
308 | 282 | // Wrap errors returned by Queryable to our wrapper, so that we can distinguish between those errors
|
309 | 283 | // and errors returned by PromQL engine. Errors from Queryable can be either caused by user (limits) or internal errors.
|
310 | 284 | // Errors from PromQL are always "user" errors.
|
311 | 285 | q = querier.NewErrorTranslateQueryableWithFn(q, WrapQueryableErrors)
|
312 | 286 |
|
313 | 287 | return func(ctx context.Context, userID string, notifier *notifier.Manager, logger log.Logger, reg prometheus.Registerer) RulesManager {
|
314 | 288 | var queryTime prometheus.Counter
|
315 |
| - if rulerQuerySeconds != nil { |
316 |
| - queryTime = rulerQuerySeconds.WithLabelValues(userID) |
| 289 | + if evalMetrics.RulerQuerySeconds != nil { |
| 290 | + queryTime = evalMetrics.RulerQuerySeconds.WithLabelValues(userID) |
317 | 291 | }
|
318 | 292 |
|
319 |
| - failedQueries := failedQueriesVec.WithLabelValues(userID) |
320 |
| - totalQueries := totalQueriesVec.WithLabelValues(userID) |
321 |
| - totalWrites := totalWritesVec.WithLabelValues(userID) |
322 |
| - failedWrites := failedWritesVec.WithLabelValues(userID) |
| 293 | + failedQueries := evalMetrics.FailedQueriesVec.WithLabelValues(userID) |
| 294 | + totalQueries := evalMetrics.TotalQueriesVec.WithLabelValues(userID) |
| 295 | + totalWrites := evalMetrics.TotalWritesVec.WithLabelValues(userID) |
| 296 | + failedWrites := evalMetrics.FailedWritesVec.WithLabelValues(userID) |
323 | 297 |
|
324 | 298 | engineQueryFunc := EngineQueryFunc(engine, q, overrides, userID)
|
325 | 299 | metricsQueryFunc := MetricsQueryFunc(engineQueryFunc, totalQueries, failedQueries)
|
|
0 commit comments