chore: fix elapsed time formatting (#5238)

This commit is contained in:
Srikanth Chekuri 2024-06-17 09:00:55 +05:30 committed by GitHub
parent fe87711b25
commit f1b5da9916
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 25 additions and 20 deletions

View File

@ -21,7 +21,7 @@ import (
// GetMetricResultEE runs the query and returns list of time series // GetMetricResultEE runs the query and returns list of time series
func (r *ClickhouseReader) GetMetricResultEE(ctx context.Context, query string) ([]*basemodel.Series, string, error) { func (r *ClickhouseReader) GetMetricResultEE(ctx context.Context, query string) ([]*basemodel.Series, string, error) {
defer utils.Elapsed("GetMetricResult")() defer utils.Elapsed("GetMetricResult", nil)()
zap.L().Info("Executing metric result query: ", zap.String("query", query)) zap.L().Info("Executing metric result query: ", zap.String("query", query))
var hash string var hash string

View File

@ -3081,7 +3081,7 @@ func (r *ClickHouseReader) GetMetricResultEE(ctx context.Context, query string)
// GetMetricResult runs the query and returns list of time series // GetMetricResult runs the query and returns list of time series
func (r *ClickHouseReader) GetMetricResult(ctx context.Context, query string) ([]*model.Series, error) { func (r *ClickHouseReader) GetMetricResult(ctx context.Context, query string) ([]*model.Series, error) {
defer utils.Elapsed("GetMetricResult")() defer utils.Elapsed("GetMetricResult", nil)()
zap.L().Info("Executing metric result query: ", zap.String("query", query)) zap.L().Info("Executing metric result query: ", zap.String("query", query))
@ -4594,26 +4594,27 @@ func readRowsForTimeSeriesResult(rows driver.Rows, vars []interface{}, columnNam
return seriesList, getPersonalisedError(rows.Err()) return seriesList, getPersonalisedError(rows.Err())
} }
func logComment(ctx context.Context) string { func logCommentKVs(ctx context.Context) map[string]string {
// Get the key-value pairs from context for log comment
kv := ctx.Value(common.LogCommentKey) kv := ctx.Value(common.LogCommentKey)
if kv == nil { if kv == nil {
return "" return nil
} }
logCommentKVs, ok := kv.(map[string]string) logCommentKVs, ok := kv.(map[string]string)
if !ok { if !ok {
return "" return nil
} }
return logCommentKVs
x, _ := json.Marshal(logCommentKVs)
return string(x)
} }
// GetTimeSeriesResultV3 runs the query and returns list of time series // GetTimeSeriesResultV3 runs the query and returns list of time series
func (r *ClickHouseReader) GetTimeSeriesResultV3(ctx context.Context, query string) ([]*v3.Series, error) { func (r *ClickHouseReader) GetTimeSeriesResultV3(ctx context.Context, query string) ([]*v3.Series, error) {
defer utils.Elapsed("GetTimeSeriesResultV3", query, fmt.Sprintf("logComment: %s", logComment(ctx)))() ctxArgs := map[string]interface{}{"query": query}
for k, v := range logCommentKVs(ctx) {
ctxArgs[k] = v
}
defer utils.Elapsed("GetTimeSeriesResultV3", ctxArgs)()
rows, err := r.db.Query(ctx, query) rows, err := r.db.Query(ctx, query)
@ -4655,7 +4656,12 @@ func (r *ClickHouseReader) GetTimeSeriesResultV3(ctx context.Context, query stri
// GetListResultV3 runs the query and returns list of rows // GetListResultV3 runs the query and returns list of rows
func (r *ClickHouseReader) GetListResultV3(ctx context.Context, query string) ([]*v3.Row, error) { func (r *ClickHouseReader) GetListResultV3(ctx context.Context, query string) ([]*v3.Row, error) {
defer utils.Elapsed("GetListResultV3", query, fmt.Sprintf("logComment: %s", logComment(ctx)))() ctxArgs := map[string]interface{}{"query": query}
for k, v := range logCommentKVs(ctx) {
ctxArgs[k] = v
}
defer utils.Elapsed("GetListResultV3", ctxArgs)()
rows, err := r.db.Query(ctx, query) rows, err := r.db.Query(ctx, query)

View File

@ -1,20 +1,19 @@
package utils package utils
import ( import (
"fmt"
"time" "time"
"go.uber.org/zap" "go.uber.org/zap"
) )
func Elapsed(funcName string, args ...interface{}) func() { func Elapsed(funcName string, args map[string]interface{}) func() {
start := time.Now() start := time.Now()
argsStr := ""
for _, v := range args {
argsStr += fmt.Sprintf("%v, ", v)
}
argsStr = argsStr[:len(argsStr)-2]
return func() { return func() {
zap.L().Info("Elapsed time", zap.String("func_name", funcName), zap.Duration("duration", time.Since(start)), zap.String("args", argsStr)) var zapFields []zap.Field
zapFields = append(zapFields, zap.String("func_name", funcName), zap.Duration("duration", time.Since(start)))
for k, v := range args {
zapFields = append(zapFields, zap.Any(k, v))
}
zap.L().Info("Elapsed time", zapFields...)
} }
} }