From 3519d6e1234d79f285451515b75da6397f7fb6d6 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:48:58 +0200 Subject: [PATCH 1/3] Correct exponential histogram schema --- .../clickstack/ingesting-data/schemas.md | 50 +++++++++++-------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/docs/use-cases/observability/clickstack/ingesting-data/schemas.md b/docs/use-cases/observability/clickstack/ingesting-data/schemas.md index b7c8fca4be6..04a386de43d 100644 --- a/docs/use-cases/observability/clickstack/ingesting-data/schemas.md +++ b/docs/use-cases/observability/clickstack/ingesting-data/schemas.md @@ -208,14 +208,16 @@ CREATE TABLE otel_metrics_histogram ENGINE = SharedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}') PARTITION BY toDate(TimeUnix) ORDER BY (ServiceName, MetricName, Attributes, toUnixTimestamp64Nano(TimeUnix)) -SETTINGS index_granularity = 8192" ``` ### Exponential histograms {#exponential-histograms} +:::note +HyperDX does not support fetching/displaying exponential histogram metrics yet. Users may configure them in the metrics source but future support is forthcoming. +::: + ```sql -CREATE TABLE otel_metrics_histogram -( +CREATE TABLE otel_metrics_exponentialhistogram ( `ResourceAttributes` Map(LowCardinality(String), String) CODEC(ZSTD(1)), `ResourceSchemaUrl` String CODEC(ZSTD(1)), `ScopeName` String CODEC(ZSTD(1)), @@ -228,27 +230,33 @@ CREATE TABLE otel_metrics_histogram `MetricDescription` String CODEC(ZSTD(1)), `MetricUnit` String CODEC(ZSTD(1)), `Attributes` Map(LowCardinality(String), String) CODEC(ZSTD(1)), - `StartTimeUnix` DateTime64(9) CODEC(Delta(8), ZSTD(1)), - `TimeUnix` DateTime64(9) CODEC(Delta(8), ZSTD(1)), - `Count` UInt64 CODEC(Delta(8), ZSTD(1)), - `Sum` Float64 CODEC(ZSTD(1)), - `BucketCounts` Array(UInt64) CODEC(ZSTD(1)), - `ExplicitBounds` Array(Float64) CODEC(ZSTD(1)), - `Exemplars.FilteredAttributes` Array(Map(LowCardinality(String), String)) CODEC(ZSTD(1)), - `Exemplars.TimeUnix` Array(DateTime64(9)) CODEC(ZSTD(1)), - `Exemplars.Value` Array(Float64) CODEC(ZSTD(1)), - `Exemplars.SpanId` Array(String) CODEC(ZSTD(1)), - `Exemplars.TraceId` Array(String) CODEC(ZSTD(1)), - `Flags` UInt32 CODEC(ZSTD(1)), + `StartTimeUnix` DateTime64(9) CODEC(Delta, ZSTD(1)), + `TimeUnix` DateTime64(9) CODEC(Delta, ZSTD(1)), + `Count UInt64` CODEC(Delta, ZSTD(1)), + `Sum Float64` CODEC(ZSTD(1)), + `Scale Int32` CODEC(ZSTD(1)), + `ZeroCount` UInt64 CODEC(ZSTD(1)), + `PositiveOffset` Int32 CODEC(ZSTD(1)), + `PositiveBucketCounts` Array(UInt64) CODEC(ZSTD(1)), + `NegativeOffset` Int32 CODEC(ZSTD(1)), + `NegativeBucketCounts` Array(UInt64) CODEC(ZSTD(1)), + `Exemplars` Nested ( + FilteredAttributes Map(LowCardinality(String), String), + TimeUnix DateTime64(9), + Value Float64, + SpanId String, + TraceId String + ) CODEC(ZSTD(1)), + `Flags` UInt32 CODEC(ZSTD(1)), `Min` Float64 CODEC(ZSTD(1)), `Max` Float64 CODEC(ZSTD(1)), `AggregationTemporality` Int32 CODEC(ZSTD(1)), - INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1 + INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1 ) ENGINE = SharedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}') PARTITION BY toDate(TimeUnix) From 5c3f5786769634122bad4f76edcbeb4d6ebdf259 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Fri, 6 Jun 2025 11:55:53 +0200 Subject: [PATCH 2/3] remove hard tabs --- .../clickstack/ingesting-data/schemas.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/use-cases/observability/clickstack/ingesting-data/schemas.md b/docs/use-cases/observability/clickstack/ingesting-data/schemas.md index 04a386de43d..2d81998dc06 100644 --- a/docs/use-cases/observability/clickstack/ingesting-data/schemas.md +++ b/docs/use-cases/observability/clickstack/ingesting-data/schemas.md @@ -251,12 +251,12 @@ CREATE TABLE otel_metrics_exponentialhistogram ( `Min` Float64 CODEC(ZSTD(1)), `Max` Float64 CODEC(ZSTD(1)), `AggregationTemporality` Int32 CODEC(ZSTD(1)), - INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1, - INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1 + INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_res_attr_value mapValues(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_scope_attr_value mapValues(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_attr_key mapKeys(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1, + INDEX idx_attr_value mapValues(Attributes) TYPE bloom_filter(0.01) GRANULARITY 1 ) ENGINE = SharedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}') PARTITION BY toDate(TimeUnix) From 93d92db55090bdd37cd65e24ab4346a09b9473d8 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Fri, 6 Jun 2025 12:58:52 +0200 Subject: [PATCH 3/3] remove hard tabs --- .../clickstack/ingesting-data/schemas.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/use-cases/observability/clickstack/ingesting-data/schemas.md b/docs/use-cases/observability/clickstack/ingesting-data/schemas.md index 2d81998dc06..dee181cd513 100644 --- a/docs/use-cases/observability/clickstack/ingesting-data/schemas.md +++ b/docs/use-cases/observability/clickstack/ingesting-data/schemas.md @@ -230,22 +230,22 @@ CREATE TABLE otel_metrics_exponentialhistogram ( `MetricDescription` String CODEC(ZSTD(1)), `MetricUnit` String CODEC(ZSTD(1)), `Attributes` Map(LowCardinality(String), String) CODEC(ZSTD(1)), - `StartTimeUnix` DateTime64(9) CODEC(Delta, ZSTD(1)), - `TimeUnix` DateTime64(9) CODEC(Delta, ZSTD(1)), + `StartTimeUnix` DateTime64(9) CODEC(Delta, ZSTD(1)), + `TimeUnix` DateTime64(9) CODEC(Delta, ZSTD(1)), `Count UInt64` CODEC(Delta, ZSTD(1)), `Sum Float64` CODEC(ZSTD(1)), `Scale Int32` CODEC(ZSTD(1)), `ZeroCount` UInt64 CODEC(ZSTD(1)), - `PositiveOffset` Int32 CODEC(ZSTD(1)), - `PositiveBucketCounts` Array(UInt64) CODEC(ZSTD(1)), - `NegativeOffset` Int32 CODEC(ZSTD(1)), - `NegativeBucketCounts` Array(UInt64) CODEC(ZSTD(1)), - `Exemplars` Nested ( - FilteredAttributes Map(LowCardinality(String), String), - TimeUnix DateTime64(9), - Value Float64, - SpanId String, - TraceId String + `PositiveOffset` Int32 CODEC(ZSTD(1)), + `PositiveBucketCounts` Array(UInt64) CODEC(ZSTD(1)), + `NegativeOffset` Int32 CODEC(ZSTD(1)), + `NegativeBucketCounts` Array(UInt64) CODEC(ZSTD(1)), + `Exemplars` Nested ( + FilteredAttributes Map(LowCardinality(String), String), + TimeUnix DateTime64(9), + Value Float64, + SpanId String, + TraceId String ) CODEC(ZSTD(1)), `Flags` UInt32 CODEC(ZSTD(1)), `Min` Float64 CODEC(ZSTD(1)),