aramperes / uptrace

Open-source APM tool with support for distributed tracing, metrics, and logs

Home Page:https://uptrace.dev/get/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Distributed Tracing, Metrics, and Logs using OpenTelemetry and ClickHouse

build workflow Chat

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 others.

Uptrace uses OpenTelelemetry to collect data and ClickHouse database to store it. ClickHouse is the only dependency.

Features:

  • Spans/logs grouping.
  • SQL-like query language to aggregate spans.
  • Promql-like language to aggregate and monitor metrics.
  • Email/Slack/Telegram notifications using AlertManager.
  • Pre-built metrics dashboards.
  • Multiple users/projects via YAML config.

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.
  • Automatic alerts with notifications via email, Slack, Telegram, and others.

Uptrace Home

Quickstart

First spend few minutes to decide if you need Uptrace by running a docker-compose example. You can also play with public Uptrace demo.

Then follow the getting started guide to properly setup Uptrace by downloading a Go binary or installing a DEB/RPM package.

Telegram

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?

We picked the license with the intention to allow users to monitor their applications using Uptrace, but to forbid other companies creating a cloud service using the code.

We provide a monitoring service ourselves in order to monetize our work and sustain development efforts.

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.

About

Open-source APM tool with support for distributed tracing, metrics, and logs

https://uptrace.dev/get/

License:Other


Languages

Language:Go 46.3%Language:Vue 38.9%Language:TypeScript 12.0%Language:Python 1.0%Language:JavaScript 0.5%Language:Shell 0.4%Language:Ruby 0.3%Language:Makefile 0.2%Language:HTML 0.1%Language:SCSS 0.1%Language:Dockerfile 0.1%