Trace, Span, and Service: Core Concepts :: Kloudfuse Docs
Trace, Span, and Service: Core Concepts
Table of Contents
A trace represents a complete request or transaction as it moves through various services in a distributed system. It contains multiple spans, each representing a single unit of work within a service. A service is any independently deployable component that handles part of the transaction.
Trace
A trace is a collection of spans that together show the journey of a request across services.
- Begins at the entry point (frontend, API gateway, etc.)
- Captures timings, metadata, and flow
- Enables end-to-end latency and performance analysis
Span
A span represents an individual operation within a service.
- Contains start/end time, tags, and context
- May be a parent (calling operation) or child (called operation)
- Includes metadata:
http.status_code,db.statement, etc.
Service
A service is a logically grouped unit of software with a network endpoint.
- Examples: payment-service, auth-service, inventory-db
- Services generate spans, send traces, and are the main units of observability
Relationships
One trace = many spans
Spans form a DAG (Directed Acyclic Graph)
Each span is assigned to a service