Databuff
GitHub
Skip to content

中文  |  English

Telemetry Pipeline and Storage

Read this overview first, then dive into Application Performance, Log Analytics, and other module designs.

DataBuff ingests telemetry via OpenTelemetry OTLP, writes through Ingest into Apache Doris, and serves queries, topology, alerting, and AI diagnostics from Web.

Overview

Three Signals

SignalTypical sourceIngest processingDoris tables (examples)Web capabilities
TraceOTel SDK, Java AgentSpan assembly, service metadatatrace_dc_spanTraces, topology, flame graphs
MetricsOTel metrics, JVM/HTTP, etc.Minute-level aggregationmetric_service*, etc.Service metrics, dashboards
LogsOTel logs exporterOTLP log record parsinglog_dc_recordLog search, trace correlation

See OpenTelemetry OTLP Ingestion for exporter setup.

How Trace, Metrics, and Logs Relate

  • Trace ↔ Logs: Log records may carry trace_id / span_id (OTel conventions); trace detail views can show related log lines.
  • Trace ↔ Metrics: Ingest derives minute-level service and endpoint metrics from spans, sharing service / instance dimensions with traces.
  • Unified query surface: Web aggregates all three by service and time range; AI diagnostics use traces and metrics as context, with logs expanding over time.

Component Roles

ComponentRole
IngestOTLP ingress, trace processing, metric aggregation, Doris Stream Load
DorisColumnar storage and time-series queries; trace table uses daily partitions (~30-day retention by default)
WebREST APIs, UI, alerting, AI platform and MCP

Default Docker stack: Doris FE/BE, ingest, web. See Docker Operations Reference.

Further Reading