A Golang-based distributed tracing tool (OpenTelemetry) that monitors performance, errors, and logs

Uptrace Golang Application Screenshot

Uptrace is an OpenTelemetry distributed tracing tool implemented with Golang that monitors performance, errors, and logs. It uses OpenTelelemetry to collect data and ClickHouse database to store it.

Golang Application Features:

  • OpenTelemetry tracingmetrics, and logs.
  • Grafana integration to browse OpenTelemetry Metrics.
  • Span/Trace grouping.
  • SQL-like query language.
  • Charts and Percentiles.
  • Email/Slack notifications using Prometheus AlertManager.
  • Systems, services, and hostnames dashboards.
  • Multiple users/projects via YAML config.

Roadmap:

  • ClickHouse S3 storage
  • mTLS support

Ingestion:

  • OpenTelemetry protocol via gRPC (:14317) and HTTP (:14318).
  • Zipkin protocol support on http://uptrace:14318/api/v2/spans.
  • Vector Logs API support.

Getting started with the Golang monitoring

We also provide guides for the most popular frameworks: