Introduction to Uptrace

What is Uptrace?

Uptraceopen in new window is a tracingopen in new window and metricsopen in new window app that monitors performance, errors, and logs. It collects traces, aggregates and processes them to help you pinpoint failures and find performance bottlenecks.

Getting started

Getting started is easy:

  1. Playopen in new window with Uptrace demo and create a free accountopen in new window.

  2. Follow the getting started guide for your programming language.

  1. Instrumentopen in new window your application with plugins for popular frameworks and libraries.

  2. Installopen in new window OpenTelemetry Collector to gather infrastructure metrics.

Basic terms

  • Spanopen in new window is an operation (unit of work) in a trace, for example, an HTTP endpoint or a database query.
  • Trace is a tree of spans that shows the path that a request makes through an app. Root span is the first span in a trace.
  • You create spans with a tracer. Usually, there is a single tracer for an app or a library.
  • Eventopen in new window is an entity within a span, for example, a read message event or an error event. You can also think of events as spans without end time (and thus duration).
  • Attributeopen in new window is a key-value pair on a span that carries some information about the operation. For example, host.name: localhost or http.request_content_length: 10000.
  • OpenTelemetryopen in new window is a vendor-neutral API for distributed traces and metrics. Uptrace uses OpenTelemetry to collect telemetry data.
  • Uptrace client is an OpenTelemery distribution configured to export data to Uptrace.

Sending data to Uptrace

Uptrace uses OpenTelemetryopen in new window to collect traces, logs, errors, and metrics from your application. To collect that data, you need to annotate (instrument) important operations with spans and metrics.

First, you need to install and configure Uptrace client using your project DSN (connection string), for example, https://<key>@uptrace.dev/<project_id>.

Then you need to instrument your services using OpenTelemetry instrumentationsopen in new window. Instrumentations are plugins for popular frameworks and libraries which capture telemetry data and allow you to see how requests progress through different services and components.

Lastly, you can create your own instrumentations using OpenTelemetry APIopen in new window. You can use attributesopen in new window to record contextual information and eventsopen in new window to monitor errors and logs.

Have questions?

Don't hesitate to email us. We reply as soon as possible.