Skip to content

tracewayapp/traceway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

362 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Traceway Logo

Open-source error tracking and performance monitoring for Go applications

Website · Docs · Go Client SDK


Traceway is a self-hosted observability platform that ingests OpenTelemetry traces and metrics, groups exceptions automatically, and gives you endpoint performance, distributed tracing, and alerts — all in a single binary. No OTel Collector or separate time-series database required.

It can run as a standalone server with ClickHouse + PostgreSQL, or embedded directly inside your Go application with SQLite for zero-infrastructure local development.

Traceway Dashboard

Features

  • OTel-Native — Accepts OTLP/HTTP traces and metrics directly, no Collector needed
  • Embedded Mode — Run Traceway inside your Go process with SQLite, zero external dependencies
  • Issue Tracking — Automatic exception grouping with normalized stack trace hashing and contextual tags
  • Endpoint Performance — P50, P95, P99 latency percentiles with Apdex scoring and impact scores
  • Distributed Tracing — Full request traces with span breakdowns
  • Alerts & Notifications — Configurable rules (error rate, latency thresholds, Apdex drops, metric thresholds) with email, Slack, GitHub, and webhook delivery
  • Session Replay — Replay user sessions to see exactly what happened before an error
  • System Metrics — CPU, memory, goroutines, and GC monitoring with custom metric support
  • Background Tasks — Track and monitor async job performance
  • Multi-Tenant — Organization-based access control with owner, admin, user, and read-only roles

Quick Start

Docker (standalone server)

docker compose up --build

Open http://localhost to access the dashboard.

See the self-hosting docs for configuration and deployment options.

Embedded Mode (inside your Go app)

Run Traceway inside your Go process — no Docker, no external databases:

go get github.com/tracewayapp/traceway/backend
import tracewaybackend "github.com/tracewayapp/traceway/backend"

func main() {
    go tracewaybackend.Run(
        tracewaybackend.WithPort(8082),
        tracewaybackend.WithDefaultUser("admin@localhost.com", "admin"),
        tracewaybackend.WithDefaultProject("My App", "go", "dev-token"),
    )

    // ... start your app, point OTel exporter to http://localhost:8082/api/otel/v1/traces
}

Open http://localhost:8082, log in, and hit your app to see traces appear.

See the embedded mode guide for the full step-by-step setup with OpenTelemetry, or check the working example.

Tech Stack

Component Technology
Backend Go 1.25, Gin
Frontend SvelteKit 2, Svelte 5, Tailwind CSS v4
Telemetry DB ClickHouse (standalone) or SQLite (embedded)
Relational DB PostgreSQL (standalone) or SQLite (embedded)
Client SDKs Go, OpenTelemetry (any language)

Screenshots

Issues Endpoints
Spans Metrics
Session Replay Attributes

Project Structure

Directory Description
backend/ Go/Gin API server — telemetry ingestion, REST API, notifications, migrations
frontend/ SvelteKit 2 dashboard SPA
docs/ Documentation site (Nextra)
examples/ Working examples for embedded mode (OTel, Go client)
website/ Landing page

Build Tags

Tag Purpose
(none) SQLite storage — embedded mode, zero dependencies. This is the default.
pgch ClickHouse + PostgreSQL storage — standalone server mode.
localdist Embeds frontend from static/dist/ instead of static/frontend/. Used by traceway-cloud to inject billing UI.
# Embedded mode (SQLite, default)
cd backend && go build ./cmd/traceway

# Standalone server (ClickHouse + PostgreSQL)
cd backend && go build -tags pgch ./cmd/traceway

Running Tests

# SQLite tests (default, no tags needed)
cd backend && go test -v -count=1 ./app/repositories/

# ClickHouse + PostgreSQL tests (requires Docker)
./scripts/test-backend-pgch.sh

Documentation

Full documentation at docs.tracewayapp.com:

  • Client SDKs — Go, Node.js, and OpenTelemetry integration guides
  • Self-Hosting — Docker Compose and deployment options
  • Concepts — How tracing, exception grouping, metrics, and alerts work
  • Embedded Mode — Run Traceway inside your Go app

Links

About

The only tool you need to know what is happening and how to fix it.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors