Languages: English | 简体中文
Open source APM: OpenTelemetry traces, metrics, and logs
Uptrace is an open-source APM tool that supports distributed tracing, metrics, and logs. You can use it to monitor applications and set up automatic alerts to receive notifications via email, Slack, Telegram, and more.
Uptrace uses OpenTelelemetry to collect data and ClickHouse database to store it. Uptrace also requires PostgreSQL database to store metadata such as metric names and alerts.
Features:
- Spans/logs grouping.
- SQL-like query language to aggregate spans.
- Promql-like language to aggregate and monitor metrics.
- Email/Slack/WebHook/AlertManager notifications.
- Pre-built metrics dashboards.
- Multiple users/projects via YAML config.
- Single sign-on (SSO) using OpenID Connect: Keycloak, Cloudflare, Google Cloud, and others.
- Ingesting logs using Vector.
- Ingesting errors and spans using Sentry SDK integration.
Why Uptrace?
- Single UI for traces, metrics, and logs.
- Efficient ingestion: more than 10K spans / second on a single core.
- Excellent on-disk compression with ZSTD, for example, 1KB span can be compressed down to <40 bytes.
- S3 storage support with ability to automatically upload cold data to S3-like storage or HDD.
- Automatic alerts with notifications via email, Slack, Telegram, and more.
Quickstart
In just few minutes, you can decide if you need Uptrace by running a docker-compose example. You can also play with the public Uptrace Cloud demo (no login required).
Then follow the getting started guide to install Uptrace by downloading a Go binary or a DEB/RPM package.
Help
Have questions? Get help via Telegram or start a discussion on GitHub.
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 adopted by MariaDB, Sentry, CockroachDB, Couchbase and many others. In most cases, it is a more permissive license than, for example, AGPL, because it allows you to make 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.
Can I use Uptrace to monitor commercial or production-grade applications?
Yes, you can use Uptrace to monitor your applications and provide employees access to the Uptrace app without any limitations.
Why BSL license?
The Uptrace team picked BSL license with the intention to allow users monitor their applications, but to forbid other companies creating a cloud service using the code.
Are you open-source?
Technically, the BSL license is classified as source-available, but we continue to use the term open-source on the basis that the source code is open.
Existing SEO practices don't leave us much choice and our competitors do more or less the same.
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.