Skip to main content

Welcome to Tracetest Docs! 👋

Tracetest is a trace-based testing tool for building integration and end-to-end tests in minutes using your OpenTelemetry traces. Assert against your trace data at every point of a request transaction.

👇 Install Tracetest

Set up Tracetest and start trace-based testing your distributed system.

🙌 Open Tracetest

After installing it, open Tracetest start to creating trace-based tests.

🤔 Don't have OpenTelemetry?

Install OpenTelemetry in 5 minutes without any code changes!

🤩 Open Source

Check out the Tracetest GitHub repo! Please consider giving us a star! ⭐️

⚙️ Configure trace data stores

Connect your existing trace data store or send traces to Tracetest directly!

🙄 New to Trace-based Testing?

Read about the concepts of trace-based testing to learn more!

Why Tracetest?

You can:

  • Define tests and assertions against every single microservice that a trace goes through.
  • Define assertions against both the response and trace data.
  • Ensure both your response and the underlying processes worked correctly, quickly, and without errors.
  • Work with your existing distributed tracing solution.
  • Build tests based on your already instrumented system.
  • Define multiple transaction triggers:
    • HTTP requests
    • GRPC requests
    • trace IDs
    • and many more...
  • Save and run the tests manually or via CI build jobs.
  • Write detailed trace-based tests as:
    • End-to-end tests
    • Integration tests
  • Build tests in minutes.

Visually - Build tests in the Web UI

Programmatically - Build tests in YAML

Architecture

Understand how Tracetest works.

  1. Trigger a test and generate a trace response.
  2. Fetch traces to render and analyze them.
  3. Add assertions to traces.
  4. See test results.
  5. Run tests as part of CI/CD pipelines.

Marketechture

Who uses Tracetest?

Our users are typically developers or QA engineers building distributed systems with microservices using back-end languages like Go, Rust, Node.js and Python.

What makes Tracetest special?

Tracetest can be compared with Cypress or Selenium; however Tracetest is fundamentally different.

Cypress and Selenium are constrained by using the browser for testing. Tracetest bypasses this entirely by using your existing OpenTelemetry instrumentation and trace data to run tests and assertions against traces in every step of a request transaction.