• Stars
    star
    2,401
  • Rank 18,470 (Top 0.4 %)
  • Language
    Go
  • License
    GNU Affero Genera...
  • Created over 2 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open source APM: OpenTelemetry traces, metrics, and logs

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 OpenTelelemetry framework to collect data and ClickHouse database to store it. Uptrace also requires PostgreSQL database to store metadata such as metric names and alerts.

Features:

  • Single UI for traces, metrics, and logs.
  • SQL-like query language to aggregate spans.
  • Promql-like language to aggregate metrics.
  • Built-in alerts with notifications via Email, Slack, WebHook, and AlertManager.
  • Pre-built metrics dashboards.
  • Multiple users/projects via YAML config.
  • Single sign-on (SSO) using OpenID Connect: Keycloak, Google Cloud, and Cloudflare.
  • Ingestion using OpenTelemetry, Vector, FluentBit, CloudWatch, and more.
  • 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

In just a few minutes, you can try Uptrace by visiting the cloud demo (no login required) or 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.

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 or double licensing (MIT + ee), 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.

Contributing

See Contributing to Uptrace.