LinkedIn Uses OpenTelemetry to Trace the Member Journey from Tap to Backend
LinkedIn has built an OpenTelemetry-based telemetry platform that connects what members do in its iOS, Android, and web applications with the backend services processing those interactions. By Craig Risi
LinkedIn has developed an OpenTelemetry-based telemetry platform that links users' actions within its applications to the backend services responsible for processing those requests. This enables engineers to trace a user's journey from their tap or interaction with the client, through various frontend and backend services, to the data stores.
The platform employs a pageForestId to track context around individual distributed traces, allowing engineers to investigate both individual requests and the broader user experience. With a diverse technology stack comprising mobile and web clients, as well as backend services written in various languages, OpenTelemetry offers a unified model for instrumentation and trace context across these environments.
LinkedIn has customized OpenTelemetry SDKs to incorporate product teams' specific needs while handling aspects such as mobile lifecycle, export, and LinkedIn-specific metadata. Client and backend applications generate OpenTelemetry spans, with trace context propagated as they move through the system. Telemetry is transmitted via Apache Kafka and stored in ClickHouse, with pageForestId, traceId, and timestamps serving as correlation keys.
To manage the volume of telemetry data, LinkedIn uses coordinated head sampling, ensuring related client and server activity are consistently sampled. Pseudonymised member identifiers maintain the correlation between client and backend traces. The platform also separates high-quality observability data from lower-level debugging information, with up to 90% of certain backend tracing potentially considered debug-level.
LinkedIn's approach aims to make OpenTelemetry the foundation for both client and backend telemetry, rather than introducing capabilities that existing platforms cannot provide. By providing a higher-level grouping around standard traces through its pageForestId model, and employing a custom ingestion and storage architecture with Kafka and ClickHouse, LinkedIn maintains greater control over its observability stack and avoids dependence on specific commercial backends. This enables engineers to trace user experiences directly back to the technical causes behind them.
Written by urgent.news from InfoQ's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.