You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by GitBox <gi...@apache.org> on 2026/10/09 19:29:51 UTC
[GH] (texera/obs/pr3/deployment): Workflow run "Required Checks" is working again!
The GitHub Actions job "Required Checks" on texera.git/obs/pr3/deployment has succeeded.
Run started by GitHub user Ma77Ball (triggered by Ma77Ball).
Head commit for run:
3523acd61282fcf7f17ce395e89a52f871d593fd / Matthew Ball <mg...@uci.edu>
feat(observability): deployment (OTel collector + Parca/eBPF)
Add the local deployment wiring that receives and stores the telemetry
emitted by PR 2: an OpenTelemetry Collector plus logs, metrics, traces,
and profiles backends, for both the single-node docker-compose stack and
the Kubernetes Helm chart. Infrastructure only; the application runs
unchanged whether or not these services are started. This is PR 3 of the
observability stack.
Single-node compose (bin/single-node, bin/observability):
- otel-collector as the single OTLP ingress, routing to VictoriaLogs
(logs), VictoriaMetrics (metrics), and Jaeger (traces); the collector
config caps OTLP message size and bounds memory via memory_limiter.
- Parca server + eBPF agent for continuous profiling, configured in
bin/observability/parca.
- Each signal is its own compose profile and is OFF by default:
COMPOSE_PROFILES is empty, so observability is opt-in. docker compose
reads COMPOSE_PROFILES natively via the canonical launcher.
- Emission is gated by OTEL_SDK_DISABLED (default disabled); nothing is
emitted unless an operator opts in alongside the collector profile.
Kubernetes Helm chart (bin/k8s):
- Templates for the collector, Jaeger, VictoriaLogs, and VictoriaMetrics
under templates/base/observability, plus values.yaml knobs and an
install.sh helper.
- Service deployments gain the OTLP endpoint wiring.
Every observability port binds to loopback (127.0.0.1) or stays on the
bridge network; no 0.0.0.0 host bindings.
Tests: ObservabilityComposeSpec and ParcaConfigSpec (string-level smoke
tests over the compose, collector, and Parca config, pinning image
versions, the opt-in default, loopback binding, and the no-high-
cardinality-label rule). All 24 pass; sbt scalafmtCheckAll is clean.
Review follow-ups addressed: observability is opt-in rather than on by
default, and the privileged eBPF agent is opt-in with its host-wide scope
documented; removed the non-canonical up.sh launcher so COMPOSE_PROFILES
is the single switch; corrected the Parca README (the agent profiles every
host process, and profiles cannot be joined to traces by trace_id); moved
the local-dev-only OTLP host ports into docker-compose.override.yml so the
base compose stays deploy-clean; the release workflow now ships
bin/observability and rewrites the mount paths so the compose works from
the released single-node bundle; and removed the inter-PR references from
the configs, comments, and specs.
Stacked on PR 2 (obs/pr2/backend-emit).
Report URL: https://github.com/apache/texera/actions/runs/37974980749
With regards,
GitHub Actions via GitBox