mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-03 06:30:40 +08:00
feat: added new event for length of filters in logs search page
This commit is contained in:
parent
db704b212d
commit
ece2988d0d
@ -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, "+
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user