From abf82b1117b66a15618ddca4f1f70a622dc5638c Mon Sep 17 00:00:00 2001 From: Spencer Torres Date: Mon, 19 Oct 2026 17:52:15 -0700 Subject: [PATCH] feat: align default HyperDX sources with the source schema (HDX-5732) --- .changeset/quiet-trace-events.md | 9 +++++++ .../tests/default-env-vars_test.yaml | 20 +++++++++++++++ charts/clickstack/values.yaml | 25 +++++-------------- 3 files changed, 35 insertions(+), 19 deletions(-) create mode 100644 .changeset/quiet-trace-events.md diff --git a/.changeset/quiet-trace-events.md b/.changeset/quiet-trace-events.md new file mode 100644 index 00000000..9f2074d0 --- /dev/null +++ b/.changeset/quiet-trace-events.md @@ -0,0 +1,9 @@ +--- +"helm-charts": patch +--- + +feat: update the default HyperDX sources to match the current source schema (only applies to new installs; existing sources are not modified) + +- Traces: set `spanEventsValueExpression: "Events"` and `spanLinksValueExpression: "Links"` so span events (including exceptions) and span links are shown +- Metrics: register the `summary` and `exponential histogram` metric tables +- Remove fields HyperDX ignores for each source kind (e.g. log-style fields on the Sessions source, stray `_id`/`id` keys in `metricTables`) diff --git a/charts/clickstack/tests/default-env-vars_test.yaml b/charts/clickstack/tests/default-env-vars_test.yaml index a997d2f6..5a617a45 100644 --- a/charts/clickstack/tests/default-env-vars_test.yaml +++ b/charts/clickstack/tests/default-env-vars_test.yaml @@ -107,6 +107,26 @@ tests: content: name: DEFAULT_CONNECTIONS + - it: should set span events and links on the default trace source + asserts: + - matchRegex: + path: spec.template.spec.containers[0].env[?(@.name == "DEFAULT_SOURCES")].value + pattern: '"kind": "trace",[^}]*"spanEventsValueExpression": "Events"' + - matchRegex: + path: spec.template.spec.containers[0].env[?(@.name == "DEFAULT_SOURCES")].value + pattern: '"kind": "trace",[^}]*"spanLinksValueExpression": "Links"' + + # metricTables keys must match MetricsDataType values; unknown keys + # (e.g. camelCase "exponentialHistogram") are silently dropped by HyperDX. + - it: should register all OTel metric tables on the default metric source + asserts: + - matchRegex: + path: spec.template.spec.containers[0].env[?(@.name == "DEFAULT_SOURCES")].value + pattern: '"summary": "otel_metrics_summary"' + - matchRegex: + path: spec.template.spec.containers[0].env[?(@.name == "DEFAULT_SOURCES")].value + pattern: '"exponential histogram": "otel_metrics_exponential_histogram"' + - it: should not include DEFAULT_SOURCES when set to empty string set: hyperdx: diff --git a/charts/clickstack/values.yaml b/charts/clickstack/values.yaml index 59088842..991d7884 100644 --- a/charts/clickstack/values.yaml +++ b/charts/clickstack/values.yaml @@ -236,7 +236,6 @@ hyperdx: "spanIdExpression": "SpanId", "connection": "Local ClickHouse", "traceSourceId": "Traces", - "sessionSourceId": "Sessions", "metricSourceId": "Metrics" }, { @@ -250,7 +249,6 @@ hyperdx: "displayedTimestampValueExpression": "Timestamp", "implicitColumnExpression": "SpanName", "serviceNameExpression": "ServiceName", - "bodyExpression": "SpanName", "eventAttributesExpression": "SpanAttributes", "resourceAttributesExpression": "ResourceAttributes", "defaultTableSelectExpression": "Timestamp,ServiceName,StatusCode,round(Duration/1e6),SpanName", @@ -263,6 +261,8 @@ hyperdx: "spanKindExpression": "SpanKind", "statusCodeExpression": "StatusCode", "statusMessageExpression": "StatusMessage", + "spanEventsValueExpression": "Events", + "spanLinksValueExpression": "Links", "connection": "Local ClickHouse", "logSourceId": "Logs", "sessionSourceId": "Sessions", @@ -281,13 +281,11 @@ hyperdx: "gauge": "otel_metrics_gauge", "histogram": "otel_metrics_histogram", "sum": "otel_metrics_sum", - "_id": "682586a8b1f81924e628e808", - "id": "682586a8b1f81924e628e808" + "summary": "otel_metrics_summary", + "exponential histogram": "otel_metrics_exponential_histogram" }, "connection": "Local ClickHouse", - "logSourceId": "Logs", - "traceSourceId": "Traces", - "sessionSourceId": "Sessions" + "logSourceId": "Logs" }, { "from": { @@ -297,20 +295,9 @@ hyperdx: "kind": "session", "timestampValueExpression": "TimestampTime", "name": "Sessions", - "displayedTimestampValueExpression": "Timestamp", - "implicitColumnExpression": "Body", - "serviceNameExpression": "ServiceName", - "bodyExpression": "Body", - "eventAttributesExpression": "LogAttributes", "resourceAttributesExpression": "ResourceAttributes", - "defaultTableSelectExpression": "Timestamp,ServiceName,SeverityText,Body", - "severityTextExpression": "SeverityText", - "traceIdExpression": "TraceId", - "spanIdExpression": "SpanId", "connection": "Local ClickHouse", - "logSourceId": "Logs", - "traceSourceId": "Traces", - "metricSourceId": "Metrics" + "traceSourceId": "Traces" } ]