Core concepts
A small mental model goes a long way. avuru obs is built on OpenTelemetry concepts, so if you know OTel, you already know most of this.
Signals
A signal is a category of telemetry. avuru obs handles four:
- Traces — the path of a request across services, as a tree of spans.
- Metrics — numeric measurements over time (counters, gauges, histograms).
- Logs — timestamped events, ideally carrying a
trace_id. - Profiles — continuous CPU/heap samples, attributed to code.
All four are stored together in ClickHouse, which is what makes cross-signal correlation cheap.
Context & propagation
Context is the metadata that ties signals together — most importantly the
trace_id and span_id. When a service calls another, that context is
propagated over the wire (W3C traceparent header for HTTP, metadata for
gRPC). That propagation is what lets a single trace span many services.
avuru obs gets context two ways:
- eBPF (zero-code). The
sensorruns upstream OBI to capture zero-code traces, and the service map is derived from those spans — no propagation headers required. - OTLP (full fidelity). For full distributed traces with span attributes, propagate context with an OpenTelemetry SDK or auto-instrumentation and export OTLP to the gateway.
:::note Service map today
The service map's edges are derived from trace spans (cross-service
Client/Server pairs). To cover un-instrumented services and add per-edge
network health, enable OBI's built-in network feature — a config toggle,
not a separate agent. See Feature status.
:::
:::info eBPF vs SDK — which do I need?
The eBPF sensor gives you the service map and RED metrics for free. Add an
OTLP SDK only where you want rich, in-process spans (DB statements, business
attributes, custom events). They compose — eBPF and OTLP spans share the same
storage.
:::
Correlation
Because every signal shares trace_id and resource attributes (service name,
namespace, pod), you can pivot from a slow trace → its logs → the metrics for
that endpoint → a CPU profile, without leaving the request's context.
Resource attributes
A resource describes what produced the telemetry: service.name,
k8s.namespace.name, k8s.pod.name, and so on. avuru obs follows OTel
semantic conventions so these attributes are
consistent across signals and across integrations.
Next
- Your first trace — see these concepts in action.
- Signals — the model for each signal in depth.