Introduction to Uptrace and OpenTelemetry

What is Uptrace?

Uptrace is an OpenTelemetry tracing tool that monitors performance, errors, and logs. It collects tracesopen in new window, aggregates and processes them to help you pinpoint failures and find performance bottlenecks.

What is OpenTelemetry?

OpenTelemetryopen in new window is an open source and vendor-neutral API for distributed traces (including logs and errors) and metrics. It specifies how to collect and export telemetry data. With OpenTelemetry, you can instrument your application once and then add or change vendors without changing the instrumentation.

OpenTelemetry is available for most programming languages and provides interoperability across different languages and environments.

How Uptrace works?

Uptrace uses OpenTelemetry to collect telemetry data such as traces, errors, and logs. To get started, you can install OpenTelemetry distroopen in new window configured to work with Uptrace.

Uptrace natively supports OpenTelemetry protocol and does not require OpenTelemetry Collectoropen in new window.

Uptrace stores the data in blazingly fast and efficient ClickHouse database which, when compared with Elasticsearch or Cassandra, allows to significantly reduce storage requirements and improve query performance.

Lastly, Uptrace comes with Vue-based UI that helps you analyze application performance using a fast and intuitive query language.

Why not ...?

See Open source distributed tracing tools for the detailed comparison.

Zipkin

Zipkinopen in new window does not support ClickHouse and requires OpenTelemetry -> Zipkin transformation to convert data between different protocols.

Zipkin's UI is minimalistic and can't be directly compared with Uptrace.

Jaeger

Jaegeropen in new window requires a plugin to work with ClickHouse. Because Jaeger supports multiple storages, the ClickHouse database schema and the plugin communication protocol are sub-optimal.

Jaeger does not support charts or percentiles and has limited filtering capabilities.

SkyWalking

SkyWalkingopen in new window does not support ClickHouse and instead uses ElasticSearch/OpenSearch. SkyWalking also does not directly support OpenTelemetry protocol.

SkyWalking has an official demo so you can compare it with Uptraceopen in new window yourself.

What's next?

Next, get started by installing Uptrace and ClickHouse database.

Last Updated: