mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-03 13:20:39 +08:00
feat: minor fixes to logs QB (#3022)
* feat: minor fixes to logs QB * fix: panel type check added * fix: panel type check added * fix: order by logic updated
This commit is contained in:
parent
10a3a6d3e5
commit
193b04ff0f
@ -131,7 +131,7 @@ func enrichFieldWithMetadata(field v3.AttributeKey, fields map[string]v3.Attribu
|
|||||||
// check if the field is present in the fields map
|
// check if the field is present in the fields map
|
||||||
if existingField, ok := fields[field.Key]; ok {
|
if existingField, ok := fields[field.Key]; ok {
|
||||||
if existingField.IsColumn {
|
if existingField.IsColumn {
|
||||||
return field
|
return existingField
|
||||||
}
|
}
|
||||||
field.Type = existingField.Type
|
field.Type = existingField.Type
|
||||||
field.DataType = existingField.DataType
|
field.DataType = existingField.DataType
|
||||||
|
@ -321,19 +321,13 @@ func orderByAttributeKeyTags(panelType v3.PanelType, aggregatorOperator v3.Aggre
|
|||||||
}
|
}
|
||||||
orderByArray := orderBy(panelType, items, groupTags)
|
orderByArray := orderBy(panelType, items, groupTags)
|
||||||
|
|
||||||
found := false
|
if panelType == v3.PanelTypeList {
|
||||||
for i := 0; i < len(orderByArray); i++ {
|
if len(orderByArray) == 0 {
|
||||||
if strings.Compare(orderByArray[i], constants.TIMESTAMP) == 0 {
|
|
||||||
orderByArray[i] = "ts"
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if !found {
|
|
||||||
if aggregatorOperator == v3.AggregateOperatorNoOp {
|
|
||||||
orderByArray = append(orderByArray, constants.TIMESTAMP)
|
orderByArray = append(orderByArray, constants.TIMESTAMP)
|
||||||
} else {
|
|
||||||
orderByArray = append(orderByArray, "ts")
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// since in other aggregation operator we will have to add ts as it will not be present in group by
|
||||||
|
orderByArray = append(orderByArray, "ts")
|
||||||
}
|
}
|
||||||
|
|
||||||
str := strings.Join(orderByArray, ",")
|
str := strings.Join(orderByArray, ",")
|
||||||
|
@ -589,7 +589,7 @@ var testBuildLogsQueryData = []struct {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "Test Noop",
|
Name: "Test Noop",
|
||||||
PanelType: v3.PanelTypeGraph,
|
PanelType: v3.PanelTypeList,
|
||||||
Start: 1680066360726210000,
|
Start: 1680066360726210000,
|
||||||
End: 1680066458000000000,
|
End: 1680066458000000000,
|
||||||
Step: 60,
|
Step: 60,
|
||||||
@ -605,6 +605,25 @@ var testBuildLogsQueryData = []struct {
|
|||||||
"CAST((resources_string_key, resources_string_value), 'Map(String, String)') as resources_string " +
|
"CAST((resources_string_key, resources_string_value), 'Map(String, String)') as resources_string " +
|
||||||
"from signoz_logs.distributed_logs where (timestamp >= 1680066360726210000 AND timestamp <= 1680066458000000000) order by timestamp",
|
"from signoz_logs.distributed_logs where (timestamp >= 1680066360726210000 AND timestamp <= 1680066458000000000) order by timestamp",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "Test Noop order by custom",
|
||||||
|
PanelType: v3.PanelTypeList,
|
||||||
|
Start: 1680066360726210000,
|
||||||
|
End: 1680066458000000000,
|
||||||
|
Step: 60,
|
||||||
|
BuilderQuery: &v3.BuilderQuery{
|
||||||
|
SelectColumns: []v3.AttributeKey{},
|
||||||
|
QueryName: "A",
|
||||||
|
AggregateOperator: v3.AggregateOperatorNoOp,
|
||||||
|
Expression: "A",
|
||||||
|
Filters: &v3.FilterSet{Operator: "AND", Items: []v3.FilterItem{}},
|
||||||
|
OrderBy: []v3.OrderBy{{ColumnName: "method", Order: "ASC", IsColumn: true}},
|
||||||
|
},
|
||||||
|
ExpectedQuery: "SELECT timestamp, id, trace_id, span_id, trace_flags, severity_text, severity_number, body,CAST((attributes_string_key, attributes_string_value), 'Map(String, String)') as attributes_string," +
|
||||||
|
"CAST((attributes_int64_key, attributes_int64_value), 'Map(String, Int64)') as attributes_int64,CAST((attributes_float64_key, attributes_float64_value), 'Map(String, Float64)') as attributes_float64," +
|
||||||
|
"CAST((resources_string_key, resources_string_value), 'Map(String, String)') as resources_string " +
|
||||||
|
"from signoz_logs.distributed_logs where (timestamp >= 1680066360726210000 AND timestamp <= 1680066458000000000) order by method ASC",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "Test aggregate with having clause",
|
Name: "Test aggregate with having clause",
|
||||||
PanelType: v3.PanelTypeGraph,
|
PanelType: v3.PanelTypeGraph,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user