From c994fbf500836cdf925b74550e9b87c5125a9913 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Wed, 31 Jul 2019 03:35:13 +0300 Subject: [PATCH] app/vmselect/promql: add `vm_slow_queries_total` metric for counting slow queries The query is slow if its execution time exceeds `-search.logSlowQueryDuration` --- app/vmselect/promql/exec.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/vmselect/promql/exec.go b/app/vmselect/promql/exec.go index c7b0e2f39f..303cb82286 100644 --- a/app/vmselect/promql/exec.go +++ b/app/vmselect/promql/exec.go @@ -16,6 +16,8 @@ import ( var logSlowQueryDuration = flag.Duration("search.logSlowQueryDuration", 5*time.Second, "Log queries with execution time exceeding this value. Zero disables slow query logging") +var slowQueries = metrics.NewCounter(`vm_slow_queries_total`) + // ExpandWithExprs expands WITH expressions inside q and returns the resulting // PromQL without WITH expressions. func ExpandWithExprs(q string) (string, error) { @@ -36,6 +38,7 @@ func Exec(ec *EvalConfig, q string, isFirstPointOnly bool) ([]netstorage.Result, if d >= *logSlowQueryDuration { logger.Infof("slow query according to -search.logSlowQueryDuration=%s: duration=%s, start=%d, end=%d, step=%d, accountID=%d, projectID=%d, query=%q", *logSlowQueryDuration, d, ec.Start/1000, ec.End/1000, ec.Step/1000, ec.AuthToken.AccountID, ec.AuthToken.ProjectID, q) + slowQueries.Inc() } }() }