Skip to content

Commit b821244

Browse files
committed
Merge branch 'main' into limit-for-empty-key-search
2 parents 6952300 + b5098e0 commit b821244

File tree

33 files changed

+1428
-60
lines changed

33 files changed

+1428
-60
lines changed

conf/example.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ telemetrystore:
121121
timeout_before_checking_execution_speed: 0
122122
max_bytes_to_read: 0
123123
max_result_rows: 0
124+
ignore_data_skipping_indices: ""
124125

125126
##################### Prometheus #####################
126127
prometheus:

frontend/src/container/LogsExplorerList/InfinityTableView/TableRow.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ export default function TableRow({
7373
{tableColumns.map((column) => {
7474
if (!column.render) return <td>Empty</td>;
7575

76+
if (!column.key) return null;
77+
7678
const element: ColumnTypeRender<Record<string, unknown>> = column.render(
7779
log[column.key as keyof Record<string, unknown>],
7880
log,
@@ -97,6 +99,7 @@ export default function TableRow({
9799
fontSize={fontSize}
98100
columnKey={column.key as string}
99101
onClick={handleShowLogDetails}
102+
className={column.key as string}
100103
>
101104
{cloneElement(children, props)}
102105
</TableCellStyled>

frontend/src/container/LogsExplorerList/InfinityTableView/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ const InfinityTable = forwardRef<TableVirtuosoHandle, InfinityTableProps>(
136136
key={column.key}
137137
fontSize={tableViewProps?.fontSize}
138138
// eslint-disable-next-line react/jsx-props-no-spreading
139-
{...(isDragColumn && { className: 'dragHandler' })}
139+
{...(isDragColumn && { className: `dragHandler ${column.key}` })}
140140
columnKey={column.key as string}
141141
>
142142
{(column.title as string).replace(/^\w/, (c) => c.toUpperCase())}

frontend/src/container/LogsExplorerList/utils.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { TelemetryFieldKey } from 'api/v5/v5';
2+
import { isEmpty } from 'lodash-es';
23
import { IField } from 'types/api/logs/fields';
34
import {
45
IBuilderQuery,
@@ -8,11 +9,13 @@ import {
89
export const convertKeysToColumnFields = (
910
keys: TelemetryFieldKey[],
1011
): IField[] =>
11-
keys.map((item) => ({
12-
dataType: item.fieldDataType ?? '',
13-
name: item.name,
14-
type: item.fieldContext ?? '',
15-
}));
12+
keys
13+
.filter((item) => !isEmpty(item.name))
14+
.map((item) => ({
15+
dataType: item.fieldDataType ?? '',
16+
name: item.name,
17+
type: item.fieldContext ?? '',
18+
}));
1619
/**
1720
* Determines if a query represents a trace-to-logs navigation
1821
* by checking for the presence of a trace_id filter.

frontend/src/container/OptionsMenu/useOptionsMenu.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { useGetQueryKeySuggestions } from 'hooks/querySuggestions/useGetQueryKey
66
import useDebounce from 'hooks/useDebounce';
77
import { useNotifications } from 'hooks/useNotifications';
88
import useUrlQueryData from 'hooks/useUrlQueryData';
9+
import { has } from 'lodash-es';
910
import { AllTraceFilterKeyValue } from 'pages/TracesExplorer/Filter/filterUtils';
1011
import { usePreferenceContext } from 'providers/preferences/context/PreferenceContextProvider';
1112
import { useCallback, useEffect, useMemo, useState } from 'react';
@@ -452,7 +453,9 @@ const useOptionsMenu = ({
452453
() => ({
453454
addColumn: {
454455
isFetching: isSearchedAttributesFetchingV5,
455-
value: preferences?.columns || defaultOptionsQuery.selectColumns,
456+
value:
457+
preferences?.columns.filter((item) => has(item, 'name')) ||
458+
defaultOptionsQuery.selectColumns.filter((item) => has(item, 'name')),
456459
options: optionsFromAttributeKeys || [],
457460
onFocus: handleFocus,
458461
onBlur: handleBlur,

frontend/src/container/TopNav/DateTimeSelectionV2/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ function DateTimeSelection({
372372
})),
373373
},
374374
};
375-
return JSON.stringify(updatedCompositeQuery);
375+
return encodeURIComponent(JSON.stringify(updatedCompositeQuery));
376376
}, [currentQuery]);
377377

378378
const onSelectHandler = useCallback(

frontend/src/lib/getChartData.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@ const getChartData = ({
1717
// eslint-disable-next-line sonarjs/cognitive-complexity
1818
} => {
1919
const uniqueTimeLabels = new Set<number>();
20-
queryData.forEach((data) => {
21-
data.queryData.forEach((query) => {
22-
query.values.forEach((value) => {
20+
queryData?.forEach((data) => {
21+
data.queryData?.forEach((query) => {
22+
query.values?.forEach((value) => {
2323
uniqueTimeLabels.add(value[0]);
2424
});
2525
});
2626
});
2727

2828
const labels = Array.from(uniqueTimeLabels).sort((a, b) => a - b);
2929

30-
const response = queryData.map(
31-
({ queryData, query: queryG, legend: legendG }) =>
30+
const response =
31+
queryData?.map(({ queryData, query: queryG, legend: legendG }) =>
3232
queryData.map((e) => {
3333
const { values = [], metric, legend, queryName } = e || {};
3434
const labelNames = getLabelName(
@@ -61,7 +61,7 @@ const getChartData = ({
6161
second: filledDataValues.map((e) => e.second || 0),
6262
};
6363
}),
64-
);
64+
) || [];
6565

6666
const modifiedData = response
6767
.flat()

pkg/apis/fields/api.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/SigNoz/signoz/pkg/http/render"
1010
"github.com/SigNoz/signoz/pkg/telemetrylogs"
1111
"github.com/SigNoz/signoz/pkg/telemetrymetadata"
12+
"github.com/SigNoz/signoz/pkg/telemetrymeter"
1213
"github.com/SigNoz/signoz/pkg/telemetrymetrics"
1314
"github.com/SigNoz/signoz/pkg/telemetrystore"
1415
"github.com/SigNoz/signoz/pkg/telemetrytraces"
@@ -33,6 +34,8 @@ func NewAPI(
3334
telemetrytraces.SpanIndexV3TableName,
3435
telemetrymetrics.DBName,
3536
telemetrymetrics.AttributesMetadataTableName,
37+
telemetrymeter.DBName,
38+
telemetrymeter.SamplesAgg1dTableName,
3639
telemetrylogs.DBName,
3740
telemetrylogs.LogsV2TableName,
3841
telemetrylogs.TagAttributesV2TableName,

pkg/apis/fields/parse.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
func parseFieldKeyRequest(r *http.Request) (*telemetrytypes.FieldKeySelector, error) {
1313
var req telemetrytypes.FieldKeySelector
1414
var signal telemetrytypes.Signal
15+
var source telemetrytypes.Source
1516
var err error
1617

1718
signalStr := r.URL.Query().Get("signal")
@@ -21,6 +22,13 @@ func parseFieldKeyRequest(r *http.Request) (*telemetrytypes.FieldKeySelector, er
2122
signal = telemetrytypes.SignalUnspecified
2223
}
2324

25+
sourceStr := r.URL.Query().Get("source")
26+
if sourceStr != "" {
27+
source = telemetrytypes.Source{String: valuer.NewString(sourceStr)}
28+
} else {
29+
source = telemetrytypes.SourceUnspecified
30+
}
31+
2432
if r.URL.Query().Get("limit") != "" {
2533
limit, err := strconv.Atoi(r.URL.Query().Get("limit"))
2634
if err != nil {
@@ -76,6 +84,7 @@ func parseFieldKeyRequest(r *http.Request) (*telemetrytypes.FieldKeySelector, er
7684
StartUnixMilli: startUnixMilli,
7785
EndUnixMilli: endUnixMilli,
7886
Signal: signal,
87+
Source: source,
7988
Name: name,
8089
FieldContext: fieldContext,
8190
FieldDataType: fieldDataType,

pkg/querier/builder_query.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ func (q *builderQuery[T]) Fingerprint() string {
6262
// Add signal type
6363
parts = append(parts, fmt.Sprintf("signal=%s", q.spec.Signal.StringValue()))
6464

65+
// Add source type
66+
parts = append(parts, fmt.Sprintf("source=%s", q.spec.Source.StringValue()))
67+
6568
// Add step interval if present
6669
parts = append(parts, fmt.Sprintf("step=%s", q.spec.StepInterval.String()))
6770

0 commit comments

Comments
 (0)