Uptrace Cloud Documentation
Uptrace is a distributed tracing and metrics tool that monitors performance, errors, and logs. It collects traces, aggregates and processes them to help you pinpoint failures and find performance bottlenecks.
OpenTelemetry
Uptrace uses OpenTelementry to instrument code and collect traces, metrics, and logs. OpenTelemetry is an open source and vendor-neutral API that allows to instrument app once and send data to multiple backends as required.
Getting started
Getting started is easy:
Play with Uptrace demo, grab a binary or create a free account. Use the received connection string (DSN) to configure Uptrace client.
Install Uptrace client for your programming language to start receiving data:
Instrument your application with plugins for popular frameworks and libraries.
Install OpenTelemetry Collector to gather infrastructure metrics.
Basic terms
- Span 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.
- Event 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).
- Attribute is a key-value pair on a span that carries some information about the operation. For example,
host.name: localhost
orhttp.request_content_length: 10000
. - OpenTelemetry 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 OpenTelemetry 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 instrumentations. 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 API. You can use attributes to record contextual information and events to monitor errors and logs.
Have questions?
Don't hesitate to email us. We reply as soon as possible.