ClickHouse / ClickHouse/ClickStack

Support the OpenTelemetry Profiles signal end-to-end (ingestion, storage, correlation, visualization)

Đang mở
#9 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Shell
Star
166
Fork
19
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

> Cross-filed in [hyperdxio/hyperdx#2415](https://github.com/hyperdxio/hyperdx/issues/2415) — see that issue for additional context and discussion.

## Summary

Add support for the OpenTelemetry Profiles signal to ClickStack/HyperDX so that continuous profiling can be ingested, stored, correlated, and visualized alongside logs, metrics, traces, and session replays in the same backend.

## Background

The OpenTelemetry Profiles signal entered public Alpha in March 2026. The current ClickStack OTLP entry point accepts logs, metrics, traces, and session data. Teams that want continuous profiling correlated with their other telemetry currently must deploy a separate backend, which breaks the single-pane-of-glass model that motivates ClickStack adoption.

## Requirements

### Ingestion

- The ClickStack OTel collector distribution must accept OTLP Profiles over the same gRPC and HTTP endpoints already used for other signals.
- Profile ingestion must not require an additional pipeline, sidecar, or auxiliary process beyond what is required for existing signals.
- Authentication, TLS termination, and any tenancy controls that apply to other OTLP signals must apply equivalently to profiles.

### Storage

- Profile data must be persisted in ClickHouse alongside the existing signal tables.
- The storage layer must support the same operational properties as the other signal tables: retention/TTL, secondary indexes, partition strategy, and compression behavior.
- Any ancillary data required to render profiles (for example symbolization mappings) must be persisted such that visualization queries remain efficient at production data volumes.

### Correlation

- Profile records must be queryable by `trace_id` and `span_id`, so that profile data is reachable from a span and vice versa.
- Profile records must be queryable by OpenTelemetry resource attributes — at minimum the Kubernetes attributes (`k8s.cluster.name`, `k8s.namespace.name`, `k8s.pod.name`, `k8s.node.name`, `k8s.container.name`), and the standard service identity attributes (`service.name`, `service.namespace`, `service.instance.id`).
- Cross-signal navigation between profiles and every other signal (logs, traces, metrics, session replays) must work bidirectionally on these correlation keys.

### Visualization

- HyperDX must expose a profiles view supporting, at minimum, flame graph rendering of CPU stack samples.
- The profiles view must be reachable as a drill-down from a span context in the trace view.
- The profiles view must be filterable by the resource attributes listed above (pod, node, namespace, cluster, service, etc.) and by arbitrary time range.
- Profile data must be searchable and filterable within HyperDX in a manner consistent with how other signals are filtered today.

### Compatibility

- The feature must behave consistently across the supported ClickStack deployment topologies (all-in-one, HyperDX-only, decoupled ingestion).
- Documentation must specify how the feature is enabled (feature-gate state, configuration surface, schema migration steps) for each supported topology.

## Upstream references

- [OpenTelemetry Profiles Public Alpha announcement](https://opentelemetry.io/blog/2026/profiles-alpha/)
- [OTLP Profiles protobuf definitions](https://github.com/open-telemetry/opentelemetry-proto/tree/main/opentelemetry/proto/profiles)
- [opentelemetry-ebpf-profiler](https://github.com/open-telemetry/opentelemetry-ebpf-profiler)

## Testing

We may be able to validate a preview branch against a production-adjacent EKS cluster running ClickStack 1.0.1.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Không có tệp nguồn hoặc test nào được nêu tên. Hãy bắt đầu bằng cách đọc issue HyperDX cross-filed và lần theo các điểm vào OTLP gRPC/HTTP hiện có, các bảng tín hiệu ClickHouse và giao diện xem trace của HyperDX. Công việc được xem là hoàn tất khi profile hoạt động xuyên suốt quá trình ingestion, lưu trữ, tương quan, trực quan hóa và các topology triển khai được hỗ trợ, với việc bật tính năng và xác thực được ghi lại trong tài liệu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
clickhouse, kubernetes
Lĩnh vực
backend, databases, frontend, observability
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.