feat: added new event for length of filters in logs search page

This commit is contained in:
Ankit Nayan 2022-12-26 22:11:23 +05:30
parent db704b212d
commit ece2988d0d
3 changed files with 24 additions and 7 deletions

View File

@ -45,6 +45,7 @@ import (
am "go.signoz.io/signoz/pkg/query-service/integrations/alertManager" am "go.signoz.io/signoz/pkg/query-service/integrations/alertManager"
"go.signoz.io/signoz/pkg/query-service/interfaces" "go.signoz.io/signoz/pkg/query-service/interfaces"
"go.signoz.io/signoz/pkg/query-service/model" "go.signoz.io/signoz/pkg/query-service/model"
"go.signoz.io/signoz/pkg/query-service/telemetry"
"go.signoz.io/signoz/pkg/query-service/utils" "go.signoz.io/signoz/pkg/query-service/utils"
"go.uber.org/zap" "go.uber.org/zap"
) )
@ -3212,11 +3213,16 @@ func (r *ClickHouseReader) GetLogs(ctx context.Context, params *model.LogsFilter
} }
isPaginatePrev := logs.CheckIfPrevousPaginateAndModifyOrder(params) isPaginatePrev := logs.CheckIfPrevousPaginateAndModifyOrder(params)
filterSql, err := logs.GenerateSQLWhere(fields, params) filterSql, lenFilters, err := logs.GenerateSQLWhere(fields, params)
if err != nil { if err != nil {
return nil, &model.ApiError{Err: err, Typ: model.ErrorBadData} return nil, &model.ApiError{Err: err, Typ: model.ErrorBadData}
} }
data := map[string]interface{}{
"lenFilters": lenFilters,
}
telemetry.GetInstance().SendEvent(telemetry.TELEMETRY_EVENT_LOGS_FILTERS, data)
query := fmt.Sprintf("%s from %s.%s", constants.LogsSQLSelect, r.logsDB, r.logsTable) query := fmt.Sprintf("%s from %s.%s", constants.LogsSQLSelect, r.logsDB, r.logsTable)
if filterSql != "" { if filterSql != "" {
@ -3246,10 +3252,15 @@ func (r *ClickHouseReader) TailLogs(ctx context.Context, client *model.LogsTailC
return return
} }
filterSql, err := logs.GenerateSQLWhere(fields, &model.LogsFilterParams{ filterSql, lenFilters, err := logs.GenerateSQLWhere(fields, &model.LogsFilterParams{
Query: client.Filter.Query, Query: client.Filter.Query,
}) })
data := map[string]interface{}{
"lenFilters": lenFilters,
}
telemetry.GetInstance().SendEvent(telemetry.TELEMETRY_EVENT_LOGS_FILTERS, data)
if err != nil { if err != nil {
client.Error <- err client.Error <- err
return return
@ -3326,13 +3337,18 @@ func (r *ClickHouseReader) AggregateLogs(ctx context.Context, params *model.Logs
return nil, apiErr return nil, apiErr
} }
filterSql, err := logs.GenerateSQLWhere(fields, &model.LogsFilterParams{ filterSql, lenFilters, err := logs.GenerateSQLWhere(fields, &model.LogsFilterParams{
Query: params.Query, Query: params.Query,
}) })
if err != nil { if err != nil {
return nil, &model.ApiError{Err: err, Typ: model.ErrorBadData} return nil, &model.ApiError{Err: err, Typ: model.ErrorBadData}
} }
data := map[string]interface{}{
"lenFilters": lenFilters,
}
telemetry.GetInstance().SendEvent(telemetry.TELEMETRY_EVENT_LOGS_FILTERS, data)
query := "" query := ""
if params.GroupBy != "" { if params.GroupBy != "" {
query = fmt.Sprintf("SELECT toInt64(toUnixTimestamp(toStartOfInterval(toDateTime(timestamp/1000000000), INTERVAL %d minute))*1000000000) as ts_start_interval, toString(%s) as groupBy, "+ query = fmt.Sprintf("SELECT toInt64(toUnixTimestamp(toStartOfInterval(toDateTime(timestamp/1000000000), INTERVAL %d minute))*1000000000) as ts_start_interval, toString(%s) as groupBy, "+

View File

@ -279,20 +279,20 @@ func CheckIfPrevousPaginateAndModifyOrder(params *model.LogsFilterParams) (isPag
return return
} }
func GenerateSQLWhere(allFields *model.GetFieldsResponse, params *model.LogsFilterParams) (string, error) { func GenerateSQLWhere(allFields *model.GetFieldsResponse, params *model.LogsFilterParams) (string, int, error) {
var tokens []string var tokens []string
var err error var err error
var sqlWhere string var sqlWhere string
if params.Query != "" { if params.Query != "" {
tokens, err = parseLogQuery(params.Query) tokens, err = parseLogQuery(params.Query)
if err != nil { if err != nil {
return sqlWhere, err return sqlWhere, -1, err
} }
} }
tokens, err = replaceInterestingFields(allFields, tokens) tokens, err = replaceInterestingFields(allFields, tokens)
if err != nil { if err != nil {
return sqlWhere, err return sqlWhere, -1, err
} }
filterTokens := []string{} filterTokens := []string{}
@ -342,5 +342,5 @@ func GenerateSQLWhere(allFields *model.GetFieldsResponse, params *model.LogsFilt
sqlWhere = strings.Join(tokens, "") sqlWhere = strings.Join(tokens, "")
return sqlWhere, nil return sqlWhere, len(tokens), nil
} }

View File

@ -32,6 +32,7 @@ const (
TELEMETRY_LICENSE_ACT_FAILED = "License Activation Failed" TELEMETRY_LICENSE_ACT_FAILED = "License Activation Failed"
TELEMETRY_EVENT_ENVIRONMENT = "Environment" TELEMETRY_EVENT_ENVIRONMENT = "Environment"
TELEMETRY_EVENT_LANGUAGE = "Language" TELEMETRY_EVENT_LANGUAGE = "Language"
TELEMETRY_EVENT_LOGS_FILTERS = "Logs Filters"
) )
const api_key = "4Gmoa4ixJAUHx2BpJxsjwA1bEfnwEeRz" const api_key = "4Gmoa4ixJAUHx2BpJxsjwA1bEfnwEeRz"