From df117f85bd34b5c8d6f2e7668082c48ff397e3eb Mon Sep 17 00:00:00 2001
From: Aliaksandr Valialkin <valyala@gmail.com>
Date: Thu, 15 Jul 2021 16:44:26 +0300
Subject: [PATCH] app/vmselect: do not track queries with less than 1ms
 execution time at /api/v1/status/top_queries

This should improve the readability and usefullness of the /api/v1/status/top_queries when debugging slow queries
or queries that take too much cpu time.
---
 README.md                             | 2 +-
 app/vmselect/querystats/querystats.go | 3 +--
 docs/README.md                        | 2 +-
 docs/Single-server-VictoriaMetrics.md | 2 +-
 4 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index 3eaa1bdc4d..2139bb7b4d 100644
--- a/README.md
+++ b/README.md
@@ -663,7 +663,7 @@ Below is the output for `/path/to/vmselect -help`:
   -search.queryStats.lastQueriesCount int
     	Query stats for /api/v1/status/top_queries is tracked on this number of last queries. Zero value disables query stats tracking (default 20000)
   -search.queryStats.minQueryDuration duration
-    	The minimum duration for queries to track in query stats at /api/v1/status/top_queries. Queries with lower duration are ignored in query stats
+    	The minimum duration for queries to track in query stats at /api/v1/status/top_queries. Queries with lower duration are ignored in query stats (default 1ms)
   -search.resetCacheAuthKey string
     	Optional authKey for resetting rollup cache via /internal/resetRollupResultCache call
   -search.treatDotsAsIsInRegexps
diff --git a/app/vmselect/querystats/querystats.go b/app/vmselect/querystats/querystats.go
index 99eec000df..5a86581915 100644
--- a/app/vmselect/querystats/querystats.go
+++ b/app/vmselect/querystats/querystats.go
@@ -14,8 +14,7 @@ import (
 var (
 	lastQueriesCount = flag.Int("search.queryStats.lastQueriesCount", 20000, "Query stats for /api/v1/status/top_queries is tracked on this number of last queries. "+
 		"Zero value disables query stats tracking")
-	minQueryDuration = flag.Duration("search.queryStats.minQueryDuration", 0, "The minimum duration for queries to track in query stats at /api/v1/status/top_queries. "+
-		"Queries with lower duration are ignored in query stats")
+	minQueryDuration = flag.Duration("search.queryStats.minQueryDuration", time.Millisecond, "The minimum duration for queries to track in query stats at /api/v1/status/top_queries. Queries with lower duration are ignored in query stats")
 )
 
 var (
diff --git a/docs/README.md b/docs/README.md
index 7cce8396a4..f6b77f1618 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1806,7 +1806,7 @@ Pass `-help` to VictoriaMetrics in order to see the list of supported command-li
   -search.queryStats.lastQueriesCount int
     	Query stats for /api/v1/status/top_queries is tracked on this number of last queries. Zero value disables query stats tracking (default 20000)
   -search.queryStats.minQueryDuration duration
-    	The minimum duration for queries to track in query stats at /api/v1/status/top_queries. Queries with lower duration are ignored in query stats
+    	The minimum duration for queries to track in query stats at /api/v1/status/top_queries. Queries with lower duration are ignored in query stats (default 1ms)
   -search.resetCacheAuthKey string
     	Optional authKey for resetting rollup cache via /internal/resetRollupResultCache call
   -search.treatDotsAsIsInRegexps
diff --git a/docs/Single-server-VictoriaMetrics.md b/docs/Single-server-VictoriaMetrics.md
index b06bbf93e6..31a1c39b29 100644
--- a/docs/Single-server-VictoriaMetrics.md
+++ b/docs/Single-server-VictoriaMetrics.md
@@ -1810,7 +1810,7 @@ Pass `-help` to VictoriaMetrics in order to see the list of supported command-li
   -search.queryStats.lastQueriesCount int
     	Query stats for /api/v1/status/top_queries is tracked on this number of last queries. Zero value disables query stats tracking (default 20000)
   -search.queryStats.minQueryDuration duration
-    	The minimum duration for queries to track in query stats at /api/v1/status/top_queries. Queries with lower duration are ignored in query stats
+    	The minimum duration for queries to track in query stats at /api/v1/status/top_queries. Queries with lower duration are ignored in query stats (default 1ms)
   -search.resetCacheAuthKey string
     	Optional authKey for resetting rollup cache via /internal/resetRollupResultCache call
   -search.treatDotsAsIsInRegexps