Telemetry Conventions
The telemetry contract: resource attributes, naming rules, and forbidden Tier 2 fields.
Read the contract →System telemetry decision for operator observability
Esta página aún no está disponible en tu idioma.
vortex-telemetry consumer)nexus has two observability audiences with different data boundaries. Tenants need request analytics, bodies, model usage, cost, and request detail; that data lives in the Tier 1 ClickHouse and object-store path. Operators need service health, latency, error rates, and dependency visibility; that data must not contain tenant identifiers, request bodies, prompts, completions, API keys, or classification labels.
The system needs a standard operator telemetry channel that works in local development and can be pointed at an operator-selected backend in production.
The shared vortex-telemetry crate is the right boundary because every Rust service already initializes it and Aegis consumes the same conventions through the shared-crate contract.
tracing, metrics, axum, and tonic rather than adding a second instrumentation stack.Chosen option: all Nexus Rust services emit Tier 2 operator telemetry through OTLP to an OpenTelemetry Collector.
Concrete constraints:
vortex-telemetry owns initialization of tracing, Prometheus scrape support, OTLP trace/log export, resource attributes, cardinality helpers, and propagation helpers.service.name, service.version, service.instance.id, deployment.environment, and nexus.tier = "2" resource attributes.tenant_id, org_id, project_id, user_id, api_key_id, session_id, request/response bodies, prompt/completion text, provider secrets, raw object keys, raw SQL parameters, or classification labels./metrics remains available for scrape-based environments; OTLP is the canonical trace/log path.vortex-telemetry must follow the shared-crate review rules in the shared-crate contract.Telemetry Conventions
The telemetry contract: resource attributes, naming rules, and forbidden Tier 2 fields.
Read the contract →Telemetry Tiering
Contributor rules for keeping Tier 1 tenant data and Tier 2 operator data separated.
Learn the tiers →Observability (Local Stack)
The dev observability guide: reference Collector plus Grafana LGTM in the compose stack.
Set up observability →The shared-crate contract lives at vortex-common-crates/contracts/shared-crates.md.