uptrace icon indicating copy to clipboard operation
uptrace copied to clipboard

Open source APM: OpenTelemetry traces, metrics, and logs

OpenTelemetry distributed tracing tool that monitors performance, errors, and logs

build workflow Chat

Uptrace is an OpenTelemetry distributed tracing tool that monitors performance, errors, and logs. It uses OpenTelelemetry to collect data and ClickHouse database to store it.

Distributed tracing, errors, and logs

Features:

  • OpenTelemetry tracing, metrics, and logs.
  • Email/Slack/other notifications using Prometheus AlertManager.
  • Span/Trace grouping.
  • SQL-like query language to aggregate spans.
  • Promql-like language to aggregate metrics.
  • Systems, services, and hostnames dashboards.
  • Multiple users/projects via YAML config.

Ingestion:

  • OpenTelemetry protocol via gRPC (:14317) and HTTP (:14318).
  • Zipkin protocol support on http://uptrace:14318/api/v2/spans.
  • Vector Logs API support.

Roadmap:

  • ClickHouse S3 storage
  • mTLS support

Getting started

  • Docker example to try Uptrace with a single command
  • Installation guide with pre-compiled binaries for Linux, MacOS, and Windows

We also provide guides for the most popular frameworks:

FAQ

What is the license?

The Business Source License is identical to Apache 2.0 with the only exception being that you can't use the code to create a cloud service or, in other words, resell the product to others.

BSL is a more permissive license than, for example, AGPL, because it allows private changes to the code.

In three years, the code also becomes available under Apache 2.0 license. You can learn more about BSL here.

Is the database schema stable?

Yes, but we are still making changes to the database schema and plan to switch to ClickHouse dynamic subcolumns when that feature is stable enough.

Contributing

See Contributing to Uptrace.