8000 GitHub - vmihailenco/uptrace: Distributed tracing using OpenTelemetry and ClickHouse
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

vmihailenco/uptrace

 
 

Repository files navigation

Distributed tracing backend using OpenTelemetry and ClickHouse

Uptrace is a distributed tracing system that uses OpenTelemetry to collect data and ClickHouse database to store it. ClickHouse is the only dependency.

Distributed tracing, errors, and logs

Features:

  • OpenTelemetry protocol via gRPC (:14317) and HTTP (:14318)
  • Span/Trace grouping
  • SQL-like query language
  • Percentiles
  • Systems dashboard

Roadmap:

  • Errors/logs support
  • More dashboards for services and hosts
  • ClickHouse cluster support
  • TLS support
  • Sampling/adjusted counts support
  • Improved SQL support using CockroachDB SQL parser

Getting started

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

Compiling Uptrace manually

To compile and run Uptrace locally, you need Go 1.18 and ClickHouse.

Step 1. Create uptrace ClickHouse database:

clickhouse-client -q "CREATE DATABASE uptrace"

Step 2. Reset ClickHouse database schema:

go run cmd/uptrace/main.go ch reset

Step 3. Start Uptrace:

go run cmd/uptrace/main.go serve

Step 4. Open Uptrace UI at http://localhost:14318

Uptrace will monitor itself using uptrace-go OpenTelemetry distro. To get some test data, just reload the UI few times.

Compiling UI manually

You can also start the UI locally:

cd vue
pnpm install
pnpm serve

And open http://localhost:19876

FAQ

What is the license?

The license is identical to Apache 2.0 with the only exception being that you can't use the code to create a cloud service. You can learn more about BSL here.

Are there 2 versions of Uptrace?

Yes, having 2 separate versions allows us to have minimal number of dependencies (ClickHouse) and keep the codebase small and fun to work with.

About

Distributed tracing using OpenTelemetry and ClickHouse

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 61.1%
  • Vue 26.2%
  • TypeScript 11.5%
  • JavaScript 0.8%
  • Makefile 0.2%
  • Shell 0.1%
  • Other 0.1%
0