Skip to content

uptrace/uptrace

Repository files navigation

Languages: English | 简体中文

Open source APM: OpenTelemetry traces, metrics, and logs

build workflow Chat Slack

Uptrace is an open source APM that supports distributed tracing, metrics, and logs. You can use it to monitor applications and troubleshoot issues.

Uptrace comes with an intuitive query builder, rich dashboards, alerting rules, notifications, and integrations for most languages and frameworks.

Uptrace can process billions of spans and metrics on a single server and allows you to monitor your applications at 10x lower cost.

Uptrace uses OpenTelemetry framework to collect data and ClickHouse database to store it. It also requires PostgreSQL database to store metadata such as metric names and alerts.

Features:

  • Single UI for traces, metrics, and logs.
  • 50 pre-built dashboards that are automatically created once metrics start coming in.
  • Service graph and chart annotations.
  • Spans/logs/metrics monitoring with notifications via Email, Slack, WebHook, and AlertManager.
  • SQL-like query language to aggregate spans.
  • Promql-like language to aggregate metrics.
  • Data ingestion using OpenTelemetry, Prometheus, Vector, FluentBit, CloudWatch, and more.
  • Grafana compatibility. You can configure Grafana to use Uptrace as a Tempo/Prometheus datasource.
  • Managing users/projects via YAML config.
  • Single sign-on (SSO) using OpenID Connect: Keycloak, Google Cloud, and Cloudflare.
  • Efficient processing: more than 10K spans / second on a single core.
  • Excellent on-disk compression: 1KB span can be compressed down to ~40 bytes.

System overview

System overview

Faceted filters

Faceted filters

Metrics

Metrics

Alerts

Alerts

Quickstart

You can try Uptrace in just a few minutes by visiting the cloud demo (no login required) or by running it locally with Docker.

Then follow the getting started guide.

Help

Have questions? Get help via Telegram, Slack, or start a discussion on GitHub.

Contributing

See Contributing to Uptrace.