[HDX-4029] Add commonly-used core and contrib components to OTel Collector builder-config#2121
Conversation
🦋 Changeset detectedLatest commit: 1bb1b65 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
803928e to
dc92b1e
Compare
E2E Test Results✅ All tests passed • 132 passed • 3 skipped • 1029s
Tests ran across 4 shards in parallel. |
dc92b1e to
d82848b
Compare
d82848b to
878884e
Compare
🔴 Tier 4 — CriticalTouches auth, data models, config, tasks, OTel pipeline, ClickHouse, or CI/CD. Why this tier:
Review process: Deep review from a domain expert. Synchronous walkthrough may be required. Stats
|
PR Review✅ No critical issues found. A few observations worth noting:
All new components use the consistent |
1dd43aa to
b71ee66
Compare
8992ebb to
5f620a3
Compare
…vers Add the two missing core extensions (memorylimiterextension, zpagesextension), 12 commonly-used contrib processors, and 4 commonly-used contrib receivers to builder-config.yaml. New processors: attributesprocessor, cumulativetodeltaprocessor, filterprocessor, groupbyattrsprocessor, k8sattributesprocessor, logdedupprocessor, metricstransformprocessor, probabilisticsamplerprocessor, redactionprocessor, resourceprocessor, spanprocessor, tailsamplingprocessor New receivers: dockerstatsreceiver, filelogreceiver, k8sclusterreceiver, kubeletstatsreceiver Refs: HDX-4029
5f620a3 to
13cebf5
Compare
…ector builder-config (#2121) ## Summary Update `packages/otel-collector/builder-config.yaml` to include commonly-used components from the upstream [opentelemetry-collector](https://github.com/open-telemetry/opentelemetry-collector) core and [opentelemetry-collector-contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib) distributions. This gives users more flexibility in their custom OTel configs without pulling in the entire contrib distribution (which causes very long compile times). Also adds Go module and build cache mounts to the OCB Docker build stage for faster rebuilds, and bumps CI timeouts for integration and smoke test jobs to account for the larger binary. ### Core extensions added (2) - `memorylimiterextension` — memory-based limiting at the extension level - `zpagesextension` — zPages debugging endpoints ### Contrib receivers added (4) - `dockerstatsreceiver` — container metrics from Docker - `filelogreceiver` — tail log files - `k8sclusterreceiver` — Kubernetes cluster-level metrics - `kubeletstatsreceiver` — node/pod/container metrics from kubelet ### Contrib processors added (12) - `attributesprocessor` — insert/update/delete/hash attributes - `cumulativetodeltaprocessor` — convert cumulative metrics to delta - `filterprocessor` — drop unwanted telemetry - `groupbyattrsprocessor` — reassign resource attributes - `k8sattributesprocessor` — enrich telemetry with k8s metadata - `logdedupprocessor` — deduplicate repeated log entries - `metricstransformprocessor` — rename/aggregate/transform metrics - `probabilisticsamplerprocessor` — percentage-based sampling - `redactionprocessor` — mask/remove sensitive data - `resourceprocessor` — modify resource attributes - `spanprocessor` — rename spans, extract attributes - `tailsamplingprocessor` — sample traces based on policies ### Contrib extensions added (1) - `filestorage` — persistent file-based storage (used by clickhouse exporter sending queue in EE OpAMP controller) ### Other changes - **Docker cache mounts**: Added `--mount=type=cache` for Go module and build caches in the OCB builder stage of both `docker/otel-collector/Dockerfile` and `docker/hyperdx/Dockerfile` - **CI timeouts**: Bumped `integration` and `otel-smoke-test` jobs from 8 to 16 minutes in `.github/workflows/main.yml` All existing HyperDX-specific components are preserved unchanged. ### How to test locally or on Vercel 1. Build the OTel Collector Docker image — verify OCB resolves all listed modules 2. Provide a custom OTel config that uses one of the newly-added components and verify it loads 3. Verify existing HyperDX OTel pipeline still functions ### References - Linear Issue: https://linear.app/clickhouse/issue/HDX-4029 - Upstream core builder-config: https://github.com/open-telemetry/opentelemetry-collector/blob/main/cmd/otelcorecol/builder-config.yaml - Upstream contrib builder-config: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/otelcontribcol/builder-config.yaml
Summary
Update
packages/otel-collector/builder-config.yamlto include commonly-used components from the upstream opentelemetry-collector core and opentelemetry-collector-contrib distributions. This gives users more flexibility in their custom OTel configs without pulling in the entire contrib distribution (which causes very long compile times).Also adds Go module and build cache mounts to the OCB Docker build stage for faster rebuilds, and bumps CI timeouts for integration and smoke test jobs to account for the larger binary.
Core extensions added (2)
memorylimiterextension— memory-based limiting at the extension levelzpagesextension— zPages debugging endpointsContrib receivers added (4)
dockerstatsreceiver— container metrics from Dockerfilelogreceiver— tail log filesk8sclusterreceiver— Kubernetes cluster-level metricskubeletstatsreceiver— node/pod/container metrics from kubeletContrib processors added (12)
attributesprocessor— insert/update/delete/hash attributescumulativetodeltaprocessor— convert cumulative metrics to deltafilterprocessor— drop unwanted telemetrygroupbyattrsprocessor— reassign resource attributesk8sattributesprocessor— enrich telemetry with k8s metadatalogdedupprocessor— deduplicate repeated log entriesmetricstransformprocessor— rename/aggregate/transform metricsprobabilisticsamplerprocessor— percentage-based samplingredactionprocessor— mask/remove sensitive dataresourceprocessor— modify resource attributesspanprocessor— rename spans, extract attributestailsamplingprocessor— sample traces based on policiesContrib extensions added (1)
filestorage— persistent file-based storage (used by clickhouse exporter sending queue in EE OpAMP controller)Other changes
--mount=type=cachefor Go module and build caches in the OCB builder stage of bothdocker/otel-collector/Dockerfileanddocker/hyperdx/Dockerfileintegrationandotel-smoke-testjobs from 8 to 16 minutes in.github/workflows/main.ymlAll existing HyperDX-specific components are preserved unchanged.
How to test locally or on Vercel
References