Glossary · Automation software engineering and architecture
Distributed tracing
Also known as: Tracing
German: Verteilte Ablaufverfolgung
In software engineering, distributed tracing is a technique for following a request or transaction as it passes through several services or components by propagating a shared trace identifier and recording timed spans for each step, so latency and failures can be located across a distributed system.
- Software engineering
In one sentence
Distributed tracing follows a request across services using a shared trace ID and timed spans, to locate latency and failures.
Example
Tracing shows that a slow order release in the MES spends most of its time waiting for a label-printing service, not in the database as assumed.
Explained in context
Context cards connect this term with others to answer one question. Also in British English and German.
How it applies
- Engineering: Services add trace context to outgoing calls and report spans to a tracing backend. Standards such as OpenTelemetry and W3C Trace Context make traces work across different languages and tools.
- Operation: Tracing complements Logging and metrics: logs tell what happened in one component, traces show how a request moved through many. It is most useful for MES, cloud and edge service architectures; PLC cycles are usually analyzed with controller trace tools instead.
- Documentation: Operations documentation should explain how to find traces for a given order, device or error, and which identifiers link traces to logs and alarms. Accurate Time synchronization across systems is needed for traces to be meaningful.
Distributed tracing vs. logging
A log is a record of events in one component. A trace connects related events across components into one timeline. Traces can contain personal or sensitive data, so apply the same data protection rules as for logs.