Compare commits

..

3 Commits

Author SHA1 Message Date
nityanandagohain
b8d78b138f fix: disable enrichment 2024-05-06 18:00:10 +05:30
Nityananda Gohain
3957d91a9b fix: add read-in-order config (#4918) 2024-05-06 15:01:53 +05:30
Vishal Sharma
967aa16f21 feat: sort tags and events in trace detail (#4962) 2024-05-05 09:03:31 +05:30
5 changed files with 39 additions and 4 deletions

View File

@@ -13,11 +13,18 @@ function Events({
return <Typography>No events data in selected span</Typography>;
}
const sortedTraceEvents = events.sort((a, b) => {
// Handle undefined names by treating them as empty strings
const nameA = a.name || '';
const nameB = b.name || '';
return nameA.localeCompare(nameB);
});
return (
<ErrorTag
onToggleHandler={onToggleHandler}
setText={setText}
event={events}
event={sortedTraceEvents}
firstSpanStartTime={firstSpanStartTime}
/>
);

View File

@@ -41,8 +41,9 @@ function Tags({
setSearchText(value);
};
const filteredTags = tags.filter((tag) => tag.key.includes(searchText));
const filteredTags = tags
.filter((tag) => tag.key.includes(searchText))
.sort((a, b) => a.key.localeCompare(b.key));
if (tags.length === 0) {
return <Typography>No tags in selected span</Typography>;
}

View File

@@ -163,12 +163,24 @@ func NewReaderFromClickhouseConnection(
os.Exit(1)
}
regex := os.Getenv("ClickHouseOptimizeReadInOrderRegex")
var regexCompiled *regexp.Regexp
if regex != "" {
regexCompiled, err = regexp.Compile(regex)
if err != nil {
zap.L().Error("Incorrect regex for ClickHouseOptimizeReadInOrderRegex")
os.Exit(1)
}
}
wrap := clickhouseConnWrapper{
conn: db,
settings: ClickhouseQuerySettings{
MaxExecutionTimeLeaf: os.Getenv("ClickHouseMaxExecutionTimeLeaf"),
TimeoutBeforeCheckingExecutionSpeed: os.Getenv("ClickHouseTimeoutBeforeCheckingExecutionSpeed"),
MaxBytesToRead: os.Getenv("ClickHouseMaxBytesToRead"),
OptimizeReadInOrderRegex: os.Getenv("ClickHouseOptimizeReadInOrderRegex"),
OptimizeReadInOrderRegexCompiled: regexCompiled,
},
}

View File

@@ -3,6 +3,7 @@ package clickhouseReader
import (
"context"
"encoding/json"
"regexp"
"strings"
"github.com/ClickHouse/clickhouse-go/v2"
@@ -13,6 +14,8 @@ type ClickhouseQuerySettings struct {
MaxExecutionTimeLeaf string
TimeoutBeforeCheckingExecutionSpeed string
MaxBytesToRead string
OptimizeReadInOrderRegex string
OptimizeReadInOrderRegexCompiled *regexp.Regexp
}
type clickhouseConnWrapper struct {
@@ -58,6 +61,11 @@ func (c clickhouseConnWrapper) addClickHouseSettings(ctx context.Context, query
settings["timeout_before_checking_execution_speed"] = c.settings.TimeoutBeforeCheckingExecutionSpeed
}
// only list queries of
if c.settings.OptimizeReadInOrderRegex != "" && c.settings.OptimizeReadInOrderRegexCompiled.Match([]byte(query)) {
settings["optimize_read_in_order"] = 0
}
ctx = clickhouse.Context(ctx, clickhouse.WithSettings(settings))
return ctx
}

View File

@@ -2,6 +2,7 @@ package v3
import (
"fmt"
"os"
"strconv"
"strings"
@@ -9,6 +10,12 @@ import (
v3 "go.signoz.io/signoz/pkg/query-service/model/v3"
)
var disableReplaceJsonField bool
func init() {
disableReplaceJsonField, _ = strconv.ParseBool(os.Getenv("DisableReplaceJSONField"))
}
func EnrichmentRequired(params *v3.QueryRangeParamsV3) bool {
compositeQuery := params.CompositeQuery
if compositeQuery == nil {
@@ -108,7 +115,7 @@ func enrichLogsQuery(query *v3.BuilderQuery, fields map[string]v3.AttributeKey)
if query.Filters != nil && len(query.Filters.Items) != 0 {
for i := 0; i < len(query.Filters.Items); i++ {
query.Filters.Items[i] = jsonFilterEnrich(query.Filters.Items[i])
if query.Filters.Items[i].Key.IsJSON {
if query.Filters.Items[i].Key.IsJSON && !disableReplaceJsonField {
query.Filters.Items[i] = jsonReplaceField(query.Filters.Items[i], fields)
continue
}