Skip to main content

Architecture

CodeXray Observability is built on open standards and a horizontally scalable design. Telemetry flows in through OpenTelemetry, lands in purpose-built storage, and is served back through a unified query and alerting layer.


Data Flow​


How It Works​

1. Instrumentation​

You instrument your applications and infrastructure using OpenTelemetry (SDKs for Java, .NET, Python, Node.js, Go) or CodeXray agents (eBPF node agent, DB agents, cluster agent, VM agent, Windows exporter, and browser/mobile RUM SDKs). All of them speak open, standards-based protocols — so your telemetry stays portable.

2. Ingestion​

Telemetry is sent to CodeXray over OTLP (gRPC or HTTP), the standard OpenTelemetry protocol. The ingestion endpoint is the single place your applications, agents, and third-party exporters connect to.

3. Storage​

Telemetry lands in two stores, each chosen for the job it does best:

  • Traces, logs, events, and metrics are written to a purpose-built time-series store optimized for fast analytical queries over large volumes. This is the source of truth for dashboards, RED metrics, and correlation queries.
  • Prometheus holds alert rules and handles continuous evaluation — it's dedicated to alerting, not long-term metric storage.
  • An optional streaming buffer sits in front of storage to absorb ingestion spikes and decouple collection from writes.

4. Query & Correlation​

The query layer unifies traces, logs, metrics, and infrastructure signals into a single correlated view. Dependency-aware service maps, RED metrics, and dependency breakdowns are all served from here. This is what the web UI talks to.

Alerting, authentication, and RBAC

Alerting rules, notification routing, SSO, tenants, projects, and role-based access control each have dedicated pages — see Alerting and Authentication in the sidebar.


Deployment Footprint​

At a high level, any CodeXray deployment has three logical planes:

PlaneWhat lives hereScales with
Data planeIngestion endpoint, streaming bufferTelemetry volume (GB/day)
Storage planeTime-series store, Prometheus, metadataRetention window × volume
Access planeWeb UI, query layer, auth, alert engineActive users & alert rules

Each plane scales independently — for example, you can add ingestion capacity without expanding the storage cluster, and vice versa.

For concrete sizing at each tier, see Requirements.


Next Steps​

  • Instances Overview — the next category: the application detail view that sits on top of this data flow
  • Log Monitoring — how the log ingestion path works end-to-end
  • Distributed Traces — the trace investigation workflow the query layer surfaces