Data Flow
Traceway is OpenTelemetry first. Your services are instrumented with the OpenTelemetry SDK for their language and export over OTLP/HTTP. See OpenTelemetry for the setup.
Request Flow
Here's how the concepts connect in a typical request:
- Request arrives → The HTTP instrumentation starts a server Span, which begins a Trace or joins the one the caller started (automatic)
- Auth middleware runs → You add
user_idto the active span's Attributes (done by you, Traceway does not know about your authentication) - Handler executes → Child Spans are created for sub-operations (DB queries, outgoing HTTP calls, your own spans)
- Error occurs → The exception is recorded on the span it happened in and becomes an Issue, linked to that trace and span (automatic)
- Request completes → The exporter sends the spans. Traceway stores accepted spans and shows the server span as an Endpoint with its duration, status code and waterfall
Task Flow
Here's how the concepts connect in a typical scheduled or queued job:
- Job starts → The queue instrumentation starts a consumer Span. Depending on the queue instrumentation, it either joins the producer's trace or starts a new trace with an OTel link
- Your job code executes → Child Spans are created for sub-operations
- Error occurs → The exception is recorded on its span and becomes an Issue, linked to the job's trace
- Job completes → Traceway stores the spans and shows the consumer span as a Task, alongside the producer endpoint when both share a trace ID
Metrics Flow
- System metrics collected → The OpenTelemetry Collector's host metrics receiver, or your runtime's metrics instrumentation, reports CPU, memory, disk and network
- Custom metrics recorded → Your code records counters, gauges and histograms with the OpenTelemetry metrics API, with attributes as tags
- Exported → Metrics are batched and sent over OTLP
- Displayed on dashboards → Metrics appear on configurable, org-shareable dashboards with line charts, area charts, bar charts, single values, gauges, and tables, filterable and groupable by tags
Ingestion
Traces, metrics and logs arrive over OTLP/HTTP at /api/otel/v1/traces, /api/otel/v1/metrics and /api/otel/v1/logs. Each request authenticates with the project token. Stack traces are symbolicated at ingest, and everything lands in the same telemetry store.
Browser and mobile apps use the Traceway SDK for their platform, which sends the native JSON collection-frame format to /api/report and adds session replay and on-device crash capture. Traceway builds canonical spans from those frames and keeps the API’s native UUID identities; OTLP export maps span and parent IDs to eight bytes and includes the available attributes and service metadata. Pick yours under Docs.
After the data collection
All this data flows to your Traceway dashboard where you can:
- Sort endpoints by impact to find the worst performers
- Get notified when errors happen
- Track task durations over time
- Monitor system health through metrics
Sampling, project permissions, healthcheck filtering and row rejection can remove telemetry before storage. Trace views are also bounded by access, time, row and attribute limits.