master
go 32 lines 705 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package clickhouse
4
5 import (
6 "strconv"
7
8 "github.com/netdata/netdata/go/plugins/pkg/web"
9 )
10
11 const queryLongestQueryTime = `
12 SELECT
13 toString(max(elapsed)) as value
14 FROM
15 system.processes FORMAT CSVWithNames
16 `
17
18 func (c *Collector) collectLongestRunningQueryTime(mx map[string]int64) error {
19 req, err := web.NewHTTPRequest(c.RequestConfig)
20 if err != nil {
21 return err
22 }
23 req.URL.RawQuery = makeURLQuery(queryLongestQueryTime)
24
25 return c.doHTTP(req, func(column, value string, lineEnd bool) {
26 if column == "value" {
27 if v, err := strconv.ParseFloat(value, 64); err == nil {
28 mx["LongestRunningQueryTime"] = int64(v * precision)
29 }
30 }
31 })
32 }