BlockEdge

Technology and digital life

How LinkedIn Connects User Actions to Backend Traces with OpenTelemetry

LinkedIn has built an OpenTelemetry-based platform to connect actions in its iOS, Android and web apps with the backend services that handle them. As reported by InfoQ on November 12, 2026, the aim is to close a gap between client analytics, which can show a click or error, and distributed traces, which show what happened inside services.

A page can generate many requests, each with its own OpenTelemetry traceId. LinkedIn adds a pageForestId to group requests from the same page context. Engineers can therefore inspect an individual request or follow the wider activity behind a user experience.

LinkedIn wraps and extends standard OpenTelemetry SDKs for its mobile and web clients and its Java, Python, Go and Rust services. HTTP and gRPC frameworks automatically instrument common request paths, while teams can add spans for important business operations. Telemetry moves through Apache Kafka and is stored in ClickHouse, where pageForestId, traceId and timestamps help connect client activity to backend execution.

To control data volume, LinkedIn uses coordinated head-based sampling so related client and server activity receives consistent sampling decisions. Anonymized user identifiers help keep sampling consistent across a user journey. LinkedIn estimates that as much as 90% of some backend trace data may be debugging-level data, rather than higher-value experience-quality telemetry.

The design also accounts for mobile apps being suspended or terminated before telemetry is sent: spans are batched, with a flush possible when an app enters the background. Attribute allowlists, blocklists and content redaction limit what can enter traces, reducing the risk of exposing sensitive information.

The distinction is not that other tracing platforms lack client-to-backend monitoring. LinkedIn’s approach uses OpenTelemetry as a common foundation, adds pageForestId as a grouping layer above individual traces, and uses Kafka and ClickHouse for its ingestion and storage architecture.

Source: InfoQ