mirror of
https://github.com/hyperdxio/hyperdx
synced 2026-04-21 13:37:15 +00:00
46 lines
3.2 KiB
SQL
46 lines
3.2 KiB
SQL
-- +goose Up
|
|
CREATE TABLE IF NOT EXISTS ${DATABASE}.otel_logs
|
|
(
|
|
`Timestamp` DateTime64(9) CODEC(Delta(8), ZSTD(1)),
|
|
`TimestampTime` DateTime DEFAULT toDateTime(Timestamp),
|
|
`TraceId` String CODEC(ZSTD(1)),
|
|
`SpanId` String CODEC(ZSTD(1)),
|
|
`TraceFlags` UInt8,
|
|
`SeverityText` LowCardinality(String) CODEC(ZSTD(1)),
|
|
`SeverityNumber` UInt8,
|
|
`ServiceName` LowCardinality(String) CODEC(ZSTD(1)),
|
|
`Body` String CODEC(ZSTD(1)),
|
|
`ResourceSchemaUrl` LowCardinality(String) CODEC(ZSTD(1)),
|
|
`ResourceAttributes` Map(LowCardinality(String), String) CODEC(ZSTD(1)),
|
|
`ScopeSchemaUrl` LowCardinality(String) CODEC(ZSTD(1)),
|
|
`ScopeName` String CODEC(ZSTD(1)),
|
|
`ScopeVersion` LowCardinality(String) CODEC(ZSTD(1)),
|
|
`ScopeAttributes` Map(LowCardinality(String), String) CODEC(ZSTD(1)),
|
|
`LogAttributes` Map(LowCardinality(String), String) CODEC(ZSTD(1)),
|
|
`ResourceAttributeTokens` Array(String) ALIAS arrayMap((k,v) -> concat(k, '=', v), mapKeys(ResourceAttributes), mapValues(ResourceAttributes)),
|
|
`LogAttributeTokens` Array(String) ALIAS arrayMap((k,v) -> concat(k, '=', v), mapKeys(LogAttributes), mapValues(LogAttributes)),
|
|
`ScopeAttributeTokens` Array(String) ALIAS arrayMap((k,v) -> concat(k, '=', v), mapKeys(ScopeAttributes), mapValues(ScopeAttributes)),
|
|
`__hdx_materialized_k8s.cluster.name` LowCardinality(String) MATERIALIZED ResourceAttributes['k8s.cluster.name'] CODEC(ZSTD(1)),
|
|
`__hdx_materialized_k8s.container.name` LowCardinality(String) MATERIALIZED ResourceAttributes['k8s.container.name'] CODEC(ZSTD(1)),
|
|
`__hdx_materialized_k8s.deployment.name` LowCardinality(String) MATERIALIZED ResourceAttributes['k8s.deployment.name'] CODEC(ZSTD(1)),
|
|
`__hdx_materialized_k8s.namespace.name` LowCardinality(String) MATERIALIZED ResourceAttributes['k8s.namespace.name'] CODEC(ZSTD(1)),
|
|
`__hdx_materialized_k8s.node.name` LowCardinality(String) MATERIALIZED ResourceAttributes['k8s.node.name'] CODEC(ZSTD(1)),
|
|
`__hdx_materialized_k8s.pod.name` LowCardinality(String) MATERIALIZED ResourceAttributes['k8s.pod.name'] CODEC(ZSTD(1)),
|
|
`__hdx_materialized_k8s.pod.uid` LowCardinality(String) MATERIALIZED ResourceAttributes['k8s.pod.uid'] CODEC(ZSTD(1)),
|
|
`__hdx_materialized_deployment.environment.name` LowCardinality(String) MATERIALIZED ResourceAttributes['deployment.environment.name'] CODEC(ZSTD(1)),
|
|
INDEX idx_trace_id TraceId TYPE bloom_filter(0.001) GRANULARITY 1,
|
|
INDEX idx_res_attr_key mapKeys(ResourceAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
|
|
INDEX idx_res_attr_kv_text ResourceAttributeTokens TYPE text(tokenizer = 'array'),
|
|
INDEX idx_scope_attr_key mapKeys(ScopeAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
|
|
INDEX idx_scope_attr_kv_text ScopeAttributeTokens TYPE text(tokenizer = 'array')
|
|
INDEX idx_log_attr_key mapKeys(LogAttributes) TYPE bloom_filter(0.01) GRANULARITY 1,
|
|
INDEX idx_log_attr_kv_text LogAttributeTokens TYPE text(tokenizer = 'array'),
|
|
INDEX idx_lower_body lower(Body) TYPE tokenbf_v1(32768, 3, 0) GRANULARITY 8
|
|
)
|
|
ENGINE = MergeTree
|
|
PARTITION BY toDate(TimestampTime)
|
|
PRIMARY KEY (ServiceName, TimestampTime)
|
|
ORDER BY (ServiceName, TimestampTime, Timestamp)
|
|
TTL TimestampTime + ${TABLES_TTL}
|
|
SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1;
|
|
|