# Uptrace > Open-source observability platform built on OpenTelemetry for distributed tracing, metrics, and logs. ## Features Uptrace features including distributed tracing, metrics monitoring, log management, alerting, and SSO. - [Grouping similar spans and events together](https://uptrace.dev/raw/features/traces/grouping.md): Optimize grouping by choosing stable span names, leveraging display.name, and providing custom fingerprints when needed. - [Traces](https://uptrace.dev/raw/features/traces.md): Explore spans and traces in Uptrace using filters, aggregations, operation detail panels, and the full trace waterfall to find and diagnose errors. - [Querying spans](https://uptrace.dev/raw/features/traces/querying-spans.md): Master the Uptrace span query language including identifiers, filters, grouping, and aggregates for traces, logs, and events. - [Querying traces](https://uptrace.dev/raw/features/traces/querying-traces.md): Query distributed traces by filtering spans, logs, and events across services, and enrich root results with cross-join expressions that aggregate child spans within the same trace. - [Grouping rules](https://uptrace.dev/raw/features/logs/grouping.md): Create Grok-style log grouping rules that normalize noisy messages and generate consistent fingerprints for recurring issues. - [Logs and Errors](https://uptrace.dev/raw/features/logs.md): Browse grouped logs and errors in Uptrace, filter by service or severity, search by text or attribute, and inspect individual records with aggregated stats and per-entry details. - [Querying Metrics](https://uptrace.dev/raw/features/metrics/querying.md): Write PromQL inspired metric queries with aliases, joins, and expressions that feed dashboards built in the UI or YAML. - [PromQL compatibility](https://uptrace.dev/raw/features/metrics/promql-compat.md): See how Uptrace extends PromQL, which functions are supported, and how to adapt Prometheus queries or Grafana dashboards. - [Metrics](https://uptrace.dev/raw/features/metrics.md): Monitor infrastructure and application metrics in Uptrace using pre-built dashboards with table and grid views, or explore any metric interactively with aggregations, grouping, and filters. - [Error monitors](https://uptrace.dev/raw/features/alerting/error-monitors.md): Set up error monitors in Uptrace to receive alerts for specific log patterns, exception types, and severity levels. Customize alert names with Go templates. - [Alerting](https://uptrace.dev/raw/features/alerting.md): Configure metric and error monitors in Uptrace to track infrastructure health, span latency, error rates, and log patterns. Get notified via Slack, PagerDuty, Teams, and more. - [Metric monitors](https://uptrace.dev/raw/features/alerting/metric-monitors.md): Create metric monitors in Uptrace to alert on CPU, disk, network, span latency, error rates, and log volume using YAML-defined thresholds and rolling evaluation windows. - [Notifications](https://uptrace.dev/raw/features/alerting/notifications.md): Configure Uptrace notification channels to receive alerts via Slack, PagerDuty, Microsoft Teams, Telegram, email, webhooks, and more. Control routing with Expr conditions. - [Searching Spans and Logs](https://uptrace.dev/raw/features/searching.md): Search spans and logs using natural syntax with word filters, AND/OR logic, quoted phrases, negative filters, and scoped attribute queries. - [Chart Annotations](https://uptrace.dev/raw/features/annotations.md): Mark deployments, incidents, and config changes on Uptrace charts via API so your team can correlate timeline events with metric and trace changes. - [Dashboards](https://uptrace.dev/raw/features/dashboards.md): Build custom dashboards from spans, events, logs, and metrics using a graphical UI or YAML. Table and grid layouts, PromQL-style expressions, and auto-activating templates. - [Dashboard YAML Templates](https://uptrace.dev/raw/features/dashboards/yaml.md): Complete reference for the Uptrace dashboard template YAML format, covering metadata, tables, grids, grid items, monitors, and composition. - [Transformations](https://uptrace.dev/raw/features/transformations.md): Use YAML-based transformations and Expr filters to rename attributes, parse payloads, sample or drop telemetry, and build full-text indexes before data reaches Uptrace. - [Operations & Functions Reference](https://uptrace.dev/raw/features/transformations/reference.md): Complete reference for all Uptrace transformation operation types and built-in Expr functions for spans, logs, events, and metric datapoints. - [Service Graph](https://uptrace.dev/raw/features/service-graph.md): Visualize service dependencies, request flows, error rates, and latency across your infrastructure with Uptrace service graphs built from OpenTelemetry span relationships. - [Using Uptrace and Grafana Together](https://uptrace.dev/raw/features/grafana.md): Use Uptrace as a Prometheus and Tempo data source in Grafana to query metrics with PromQL and browse traces — reuse existing dashboards without changing metric names. - [Using Fixtures to Seed Uptrace Data](https://uptrace.dev/raw/features/fixtures.md): Define YAML or JSON fixtures that sync users, organizations, projects, and tokens so every Uptrace environment can be bootstrapped consistently. - [JavaScript Source Maps](https://uptrace.dev/raw/features/sourcemaps.md): Automatically unminify JavaScript stack traces using source maps. Upload source maps via API or let Uptrace fetch them from URLs in error spans. - [MCP Server](https://uptrace.dev/raw/features/mcp.md): Built-in Model Context Protocol server that lets AI assistants query spans, traces, metrics, alerts, and dashboards in Uptrace using natural language. - [Observability as Code](https://uptrace.dev/raw/features/observability-as-code.md): Manage Uptrace organizations, projects, monitors, and notification channels with the Uptrace Terraform provider — version-controlled and reproducible across environments. - [Uptrace Features](https://uptrace.dev/raw/features.md): Explore Uptrace features: alerting, dashboards, querying, service graphs, SSO, Grafana integration, and more. - [Google Cloud Single Sign-On](https://uptrace.dev/raw/features/sso/google.md): Configure Google Cloud OpenID Connect SSO with Uptrace using OAuth clients, redirect URIs, and client credentials. - [Okta Single Sign-On](https://uptrace.dev/raw/features/sso/okta.md): Configure Okta as a SAML 2.0 identity provider for Uptrace SSO using app integrations, attribute statements, and metadata URLs. - [Keycloak Single Sign-On](https://uptrace.dev/raw/features/sso/keycloak.md): Deploy Keycloak and configure OpenID Connect SSO with Uptrace using realms, clients, redirect URIs, and client credentials. ## Getting Started Language-specific guides for instrumenting your applications with OpenTelemetry and sending data to Uptrace. - [Getting started with Uptrace](https://uptrace.dev/raw/get.md): Learn how to connect OpenTelemetry signals to Uptrace, read your DSN, and monitor infrastructure, Kubernetes, and logs from one place. - [Monitoring logs with Uptrace](https://uptrace.dev/raw/get/logs.md): Collect infrastructure and application logs with Vector, Fluent Bit, or OpenTelemetry events, enrich them with attributes, and group records inside Uptrace. - [Monitoring errors and exceptions with OpenTelemetry](https://uptrace.dev/raw/get/exceptions.md): Record exceptions with OpenTelemetry spans, capture stack traces in multiple languages, and track grouped errors inside Uptrace. - [Monitor K8s with OpenTelemetry Collector](https://uptrace.dev/raw/get/kubernetes.md): Complete Kubernetes application monitoring and cluster observability using OpenTelemetry Collector receivers. Step-by-step setup guide for Kubernetes tracing. - [Migrating from Datadog to Uptrace](https://uptrace.dev/raw/get/datadog-migration.md): Learn how to successfully migrate your monitoring infrastructure from Datadog to Uptrace with this step-by-step guide covering infrastructure setup, application instrumentation, dashboard conversion, and validation. - [Migrating from New Relic to Uptrace](https://uptrace.dev/raw/get/newrelic-migration.md): Learn how to successfully migrate your monitoring infrastructure from New Relic to Uptrace with this step-by-step guide covering infrastructure setup, application instrumentation, dashboard conversion, and validation. - [Monitor HTTP endpoints with Uptrace](https://uptrace.dev/raw/get/synthetic-monitoring.md): Add synthetic HTTP endpoint monitoring to Uptrace using the OpenTelemetry httpcheckreceiver — uptime checks, response validation, and TLS certificate expiry tracking. - [Uptrace: Open Source APM [Forever Free]](https://uptrace.dev/raw/get/hosted/open-source-apm.md): Uptrace is an open source application performance monitoring tool that can help you monitor and analyze performance of your applications. - [Installing Uptrace](https://uptrace.dev/raw/get/hosted/install.md): Install self hosted Uptrace by provisioning ClickHouse, PostgreSQL, and Redis, generating config files, and wiring telemetry sources. - [Deploying Uptrace with Ansible](https://uptrace.dev/raw/get/hosted/ansible.md): Automate Uptrace deployments on bare metal with the official Ansible playbooks, inventories, and role based setup. - [Deploying Uptrace on Kubernetes](https://uptrace.dev/raw/get/hosted/k8s.md): Deploy Uptrace on Kubernetes via the Helm chart, provision dependencies, and manage namespaces plus upgrades with kubectl. - [Deploying Uptrace with Docker](https://uptrace.dev/raw/get/hosted/docker.md): Quick deployment of Uptrace using Docker Compose with pre-configured services including ClickHouse, PostgreSQL, and Redis. - [Uptrace Configuration Reference](https://uptrace.dev/raw/get/hosted/config.md): Reference guide for every Uptrace configuration option from file management to environment variables and ClickHouse tuning. - [Troubleshooting](https://uptrace.dev/raw/get/hosted/debug.md): Troubleshoot self-hosted Uptrace by checking versions, reading service logs, and enabling verbose ClickHouse or PostgreSQL diagnostics. - [Scaling Uptrace](https://uptrace.dev/raw/get/hosted/scale.md): Tune Uptrace processing pipelines, ClickHouse inserts, and optionally add Kafka for high-volume ingestion. - [Self-hosting Uptrace](https://uptrace.dev/raw/get/hosted.md): Deploy self-hosted Uptrace on your own infrastructure — choose Docker, Kubernetes, Ansible, or a manual install, then configure, scale, and troubleshoot. - [OpenTelemetry C++ SDK for Uptrace](https://uptrace.dev/raw/get/opentelemetry-cpp.md): Step-by-step guide to install and configure OpenTelemetry C++ SDK, export telemetry to Uptrace via OTLP. - [OTLP Configuration for OpenTelemetry C++](https://uptrace.dev/raw/get/opentelemetry-cpp/otlp.md): Configure OpenTelemetry C++ to export traces, metrics, and logs to Uptrace using the OTLP exporter. - [OpenTelemetry C++ Tracing](https://uptrace.dev/raw/get/opentelemetry-cpp/tracing.md): Instrument C++ services with the OpenTelemetry Tracing API, create spans, record errors, and send distributed traces to Uptrace. - [OpenTelemetry Metrics for C++](https://uptrace.dev/raw/get/opentelemetry-cpp/metrics.md): Collect C++ application metrics with the OpenTelemetry Meter API, configure instruments, and forward data to Uptrace dashboards. - [OpenTelemetry Logs for C++](https://uptrace.dev/raw/get/opentelemetry-cpp/logs.md): Collect C++ application logs with OpenTelemetry and send structured logs to Uptrace. - [Resource Attributes in OpenTelemetry C++](https://uptrace.dev/raw/get/opentelemetry-cpp/resources.md): Add resource attributes in C++ to describe service name, environment, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Context Propagation [C++]](https://uptrace.dev/raw/get/opentelemetry-cpp/propagation.md): Propagate trace context in C++ using W3C TraceContext, inject and extract traceparent headers. - [OpenTelemetry C++ Sampling](https://uptrace.dev/raw/get/opentelemetry-cpp/sampling.md): Configure OpenTelemetry sampling in C++ with parent-based, trace ID ratio, or always-on strategies. - [OpenTelemetry .NET distro for Uptrace](https://uptrace.dev/raw/get/opentelemetry-dotnet.md): Step-by-step guide to install and configure OpenTelemetry .NET SDKs, export telemetry to Uptrace, and verify that traces, metrics, and logs arrive via OTLP. - [Direct OTLP Configuration for OpenTelemetry .NET](https://uptrace.dev/raw/get/opentelemetry-dotnet/otlp.md): Configure OpenTelemetry .NET to export traces, metrics, and logs to Uptrace using the OTLP exporter directly. - [OpenTelemetry Tracing API for .NET](https://uptrace.dev/raw/get/opentelemetry-dotnet/tracing.md): Instrument .NET services with the OpenTelemetry Tracing API, create spans, record errors, and send distributed traces to Uptrace. - [OpenTelemetry Metrics API for .NET](https://uptrace.dev/raw/get/opentelemetry-dotnet/metrics.md): Collect .NET application metrics with the OpenTelemetry Meter API, configure instruments, and forward data to Uptrace dashboards. - [OpenTelemetry Logs for .NET](https://uptrace.dev/raw/get/opentelemetry-dotnet/logs.md): Collect .NET application logs with OpenTelemetry and send structured logs to Uptrace using the OTLP exporter. - [Resource Detectors in OpenTelemetry .NET](https://uptrace.dev/raw/get/opentelemetry-dotnet/resources.md): Add resource attributes in .NET to describe service name, environment, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Context Propagation [.NET]](https://uptrace.dev/raw/get/opentelemetry-dotnet/propagation.md): Configure context propagation for .NET apps using W3C TraceContext, baggage, and custom propagators to keep traces connected end to end. - [OpenTelemetry Sampling [.NET]](https://uptrace.dev/raw/get/opentelemetry-dotnet/sampling.md): Tune OpenTelemetry sampling in .NET with parent-based, trace ID ratio, or tail sampling strategies to balance observability cost and fidelity in Uptrace. - [.NET Zero-Code Instrumentation with Uptrace](https://uptrace.dev/raw/get/opentelemetry-dotnet/zero-code.md): Automatically instrument .NET applications without code changes using OpenTelemetry .NET auto-instrumentation. Export traces, metrics, and logs to Uptrace via OTLP. - [OpenTelemetry Erlang/Elixir for Uptrace](https://uptrace.dev/raw/get/opentelemetry-erlang.md): Step-by-step guide to install and configure OpenTelemetry Erlang/Elixir SDKs, export telemetry to Uptrace, and verify that traces and metrics arrive via OTLP. - [OTLP Exporter Configuration for OpenTelemetry Erlang/Elixir](https://uptrace.dev/raw/get/opentelemetry-erlang/otlp.md): Configure OpenTelemetry Erlang/Elixir to export traces and metrics to Uptrace using the OTLP exporter. - [OpenTelemetry Erlang/Elixir Tracing API](https://uptrace.dev/raw/get/opentelemetry-erlang/tracing.md): Learn how to use manual instrumentation for custom tracing in Erlang/Elixir applications. - [OpenTelemetry Erlang/Elixir Metrics API](https://uptrace.dev/raw/get/opentelemetry-erlang/metrics.md): Learn how to use the OpenTelemetry Metrics API to collect and export performance metrics from Erlang/Elixir applications. - [OpenTelemetry Logs for Erlang/Elixir](https://uptrace.dev/raw/get/opentelemetry-erlang/logs.md): Collect Erlang/Elixir application logs with OpenTelemetry and send structured logs to Uptrace. - [Resource Detectors in OpenTelemetry Elixir/Erlang](https://uptrace.dev/raw/get/opentelemetry-erlang/resources.md): Add resource attributes in Erlang to describe service name, environment, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Context Propagation in Erlang/Elixir](https://uptrace.dev/raw/get/opentelemetry-erlang/propagation.md): Learn how to implement context propagation for distributed tracing in Erlang/Elixir OpenTelemetry applications. - [OpenTelemetry Sampling [Erlang/Elixir]](https://uptrace.dev/raw/get/opentelemetry-erlang/sampling.md): Tune OpenTelemetry sampling in Erlang with parent-based, trace ID ratio, or tail sampling strategies to balance observability cost and fidelity in Uptrace. - [OpenTelemetry Go distro for Uptrace](https://uptrace.dev/raw/get/opentelemetry-go.md): Step-by-step guide to install and configure OpenTelemetry Go SDKs, export telemetry to Uptrace, and verify that traces, metrics, and logs arrive via OTLP. - [Direct OTLP Configuration for OpenTelemetry Go](https://uptrace.dev/raw/get/opentelemetry-go/otlp.md): Configure OpenTelemetry Go to export traces, metrics, and logs to Uptrace using the OTLP exporter directly. - [OpenTelemetry Go Tracing](https://uptrace.dev/raw/get/opentelemetry-go/tracing.md): Instrument Go services with the OpenTelemetry Tracing API, create spans, record errors, and send distributed traces to Uptrace. - [OpenTelemetry Metrics for Go](https://uptrace.dev/raw/get/opentelemetry-go/metrics.md): Collect Go application metrics with the OpenTelemetry Meter API, configure instruments, and forward data to Uptrace dashboards. - [OpenTelemetry Logs for Go](https://uptrace.dev/raw/get/opentelemetry-go/logs.md): Collect Go application logs with OpenTelemetry using slog and send structured logs to Uptrace. - [Resource Detectors in OpenTelemetry Go](https://uptrace.dev/raw/get/opentelemetry-go/resources.md): Add resource attributes in Go to describe service name, environment, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Context Propagation [Go]](https://uptrace.dev/raw/get/opentelemetry-go/propagation.md): Propagate trace context in Go using W3C TraceContext, inject and extract traceparent headers automatically or manually. - [OpenTelemetry Go Sampling](https://uptrace.dev/raw/get/opentelemetry-go/sampling.md): Tune OpenTelemetry sampling in Go with parent-based, trace ID ratio, or consistent probability strategies to balance observability cost and fidelity in Uptrace. - [OpenTelemetry Go for Serverless](https://uptrace.dev/raw/get/opentelemetry-go/serverless.md): Configure OpenTelemetry Go for serverless environments like AWS Lambda and Vercel, with proper initialization and flushing patterns. - [Go Zero-Code Instrumentation with Uptrace (eBPF)](https://uptrace.dev/raw/get/opentelemetry-go/zero-code.md): Automatically instrument Go applications using eBPF-based OpenTelemetry instrumentation. Export traces and metrics to Uptrace without code changes or recompilation. - [OpenTelemetry Java for Uptrace](https://uptrace.dev/raw/get/opentelemetry-java.md): Step-by-step guide to install and configure OpenTelemetry Java SDKs, export telemetry to Uptrace, and verify that traces, metrics, and logs arrive via OTLP. - [OpenTelemetry Java Tracing API](https://uptrace.dev/raw/get/opentelemetry-java/tracing.md): Instrument Java services with the OpenTelemetry Tracing API, create spans, record errors, and send distributed traces to Uptrace. - [OpenTelemetry Metrics API for Java](https://uptrace.dev/raw/get/opentelemetry-java/metrics.md): Collect Java application metrics with the OpenTelemetry Meter API, configure instruments, and forward data to Uptrace dashboards. - [OpenTelemetry Logs for Java](https://uptrace.dev/raw/get/opentelemetry-java/logs.md): Collect Java application logs with OpenTelemetry using Log4j2, Logback, or SLF4J and send structured logs to Uptrace. - [Resource Detectors in OpenTelemetry Java](https://uptrace.dev/raw/get/opentelemetry-java/resources.md): Add resource attributes in Java to describe service name, environment, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Trace Context Propagation [Java]](https://uptrace.dev/raw/get/opentelemetry-java/propagation.md): Configure context propagation for Java apps using W3C TraceContext, baggage, and custom propagators to keep traces connected end to end. - [OpenTelemetry Sampling [Java]](https://uptrace.dev/raw/get/opentelemetry-java/sampling.md): Tune OpenTelemetry sampling in Java with parent-based, trace ID ratio, or tail sampling strategies to balance observability cost and fidelity in Uptrace. - [Java Zero-Code Instrumentation with Uptrace](https://uptrace.dev/raw/get/opentelemetry-java/zero-code.md): Automatically instrument Java applications without code changes using OpenTelemetry Java Agent. Export traces, metrics, and logs to Uptrace via OTLP. - [OpenTelemetry JavaScript distro for Uptrace](https://uptrace.dev/raw/get/opentelemetry-js.md): Step-by-step guide to install and configure OpenTelemetry JavaScript SDKs, export telemetry to Uptrace, and verify that traces, metrics, and logs arrive via OTLP. - [Monitor OpenTelemetry Node.js with Uptrace](https://uptrace.dev/raw/get/opentelemetry-js/node.md): Comprehensive guide for setting up and using OpenTelemetry in Node.js applications to export telemetry data using OTLP/HTTP - [OpenTelemetry Browser SDK for Uptrace](https://uptrace.dev/raw/get/opentelemetry-js/browser.md): Learn how to configure OpenTelemetry JavaScript SDK for web browsers to export spans and metrics to Uptrace using OTLP/HTTP. - [Direct OTLP Configuration for OpenTelemetry JavaScript](https://uptrace.dev/raw/get/opentelemetry-js/otlp.md): Configure OpenTelemetry JavaScript to export traces, metrics, and logs to Uptrace using the OTLP exporter directly. - [OpenTelemetry Tracing API for JavaScript](https://uptrace.dev/raw/get/opentelemetry-js/tracing.md): Learn how to use the OpenTelemetry JavaScript API to instrument your applications with distributed tracing capabilities. - [OpenTelemetry Metrics API for JavaScript](https://uptrace.dev/raw/get/opentelemetry-js/metrics.md): Learn how to use the OpenTelemetry Metrics JavaScript API for manual instrumentation of your applications. - [OpenTelemetry Logs for JavaScript](https://uptrace.dev/raw/get/opentelemetry-js/logs.md): Collect JavaScript and Node.js application logs with OpenTelemetry using Winston, Pino, or Bunyan and send structured logs to Uptrace. - [Resource Detectors in OpenTelemetry JavaScript](https://uptrace.dev/raw/get/opentelemetry-js/resources.md): Learn how to use resource detectors to automatically collect environment information for your JavaScript applications. - [OpenTelemetry Trace Context Propagation [JavaScript]](https://uptrace.dev/raw/get/opentelemetry-js/propagation.md): Deep dive into traceparent handling and context propagation for JavaScript, covering browser and Node.js instrumentation plus troubleshooting tips for Uptrace. - [OpenTelemetry JavaScript Sampling](https://uptrace.dev/raw/get/opentelemetry-js/sampling.md): Configure OpenTelemetry sampling in JavaScript with parent-based, trace ID ratio, or custom sampling strategies to balance observability cost and fidelity in Uptrace. - [Node.js Zero-Code Instrumentation with Uptrace](https://uptrace.dev/raw/get/opentelemetry-js/zero-code.md): Automatically instrument Node.js applications without code changes using auto-instrumentations-node. Export traces, metrics, and logs to Uptrace via OTLP. - [OpenTelemetry PHP distro for Uptrace](https://uptrace.dev/raw/get/opentelemetry-php.md): Step-by-step guide to install and configure OpenTelemetry PHP SDKs, export telemetry to Uptrace, and verify that traces, metrics, and logs arrive via OTLP. - [Direct OTLP Configuration for OpenTelemetry PHP](https://uptrace.dev/raw/get/opentelemetry-php/otlp.md): Configure OpenTelemetry PHP to export traces, metrics, and logs to Uptrace using the OTLP exporter directly. - [OpenTelemetry PHP Tracing API](https://uptrace.dev/raw/get/opentelemetry-php/tracing.md): Instrument PHP services with the OpenTelemetry Tracing API, create spans, record errors, and send distributed traces to Uptrace. - [OpenTelemetry PHP Metrics API](https://uptrace.dev/raw/get/opentelemetry-php/metrics.md): Collect PHP application metrics with the OpenTelemetry Meter API, configure instruments, and forward data to Uptrace dashboards. - [OpenTelemetry Logs for PHP](https://uptrace.dev/raw/get/opentelemetry-php/logs.md): Collect PHP application logs with OpenTelemetry using Monolog and send structured logs to Uptrace. - [Resource Detectors in OpenTelemetry PHP](https://uptrace.dev/raw/get/opentelemetry-php/resources.md): Add resource attributes in PHP to describe service name, environment, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Trace Context Propagation [PHP]](https://uptrace.dev/raw/get/opentelemetry-php/propagation.md): Configure context propagation for PHP apps using W3C TraceContext, baggage, and custom propagators to keep traces connected end to end. - [OpenTelemetry Sampling [PHP]](https://uptrace.dev/raw/get/opentelemetry-php/sampling.md): Tune OpenTelemetry sampling in PHP with parent-based, trace ID ratio, or tail sampling strategies to balance observability cost and fidelity in Uptrace. - [PHP Zero-Code Instrumentation with Uptrace](https://uptrace.dev/raw/get/opentelemetry-php/zero-code.md): Automatically instrument PHP applications without code changes using OpenTelemetry PHP extension. Export traces, metrics, and logs to Uptrace via OTLP. - [OpenTelemetry Python distro for Uptrace](https://uptrace.dev/raw/get/opentelemetry-python.md): Step-by-step guide to install and configure OpenTelemetry Python SDKs, export telemetry to Uptrace, and verify that traces, metrics, and logs arrive via OTLP. - [Direct OTLP Configuration for OpenTelemetry Python](https://uptrace.dev/raw/get/opentelemetry-python/otlp.md): Configure OpenTelemetry Python to export traces, metrics, and logs to Uptrace using the OTLP exporter directly. - [OpenTelemetry Python Tracing API](https://uptrace.dev/raw/get/opentelemetry-python/tracing.md): Instrument Python services with the OpenTelemetry Tracing API, create spans, record errors, and send distributed traces to Uptrace. - [OpenTelemetry Python Metrics API](https://uptrace.dev/raw/get/opentelemetry-python/metrics.md): Collect Python application metrics with the OpenTelemetry Meter API, configure instruments, and forward data to Uptrace dashboards. - [OpenTelemetry Logs for Python](https://uptrace.dev/raw/get/opentelemetry-python/logs.md): Collect Python application logs with OpenTelemetry using the logging module and send structured logs to Uptrace. - [Resource Detectors in OpenTelemetry Python](https://uptrace.dev/raw/get/opentelemetry-python/resources.md): Add resource attributes in Python to describe service name, environment, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Trace Context Propagation [Python]](https://uptrace.dev/raw/get/opentelemetry-python/propagation.md): Configure context propagation for Python apps using W3C TraceContext, baggage, and custom propagators to keep traces connected end to end. - [OpenTelemetry Sampling [Python]](https://uptrace.dev/raw/get/opentelemetry-python/sampling.md): Tune OpenTelemetry sampling in Python with parent-based, trace ID ratio, or tail sampling strategies to balance observability cost and fidelity in Uptrace. - [Python Zero-Code Instrumentation with Uptrace](https://uptrace.dev/raw/get/opentelemetry-python/zero-code.md): Automatically instrument Python applications without code changes using opentelemetry-instrument. Export traces, metrics, and logs to Uptrace via OTLP. - [OpenTelemetry Ruby distro for Uptrace](https://uptrace.dev/raw/get/opentelemetry-ruby.md): Step-by-step guide to install and configure OpenTelemetry Ruby SDKs, export telemetry to Uptrace, and verify that traces, metrics, and logs arrive via OTLP. - [Direct OTLP Configuration for OpenTelemetry Ruby](https://uptrace.dev/raw/get/opentelemetry-ruby/otlp.md): Configure OpenTelemetry Ruby to export traces, metrics, and logs to Uptrace using the OTLP exporter directly. - [OpenTelemetry Ruby Tracing API](https://uptrace.dev/raw/get/opentelemetry-ruby/tracing.md): Instrument Ruby services with the OpenTelemetry Tracing API, create spans, record errors, and send distributed traces to Uptrace. - [OpenTelemetry Ruby Metrics API](https://uptrace.dev/raw/get/opentelemetry-ruby/metrics.md): Collect Ruby application metrics with the OpenTelemetry Meter API, configure instruments, and forward data to Uptrace dashboards. - [OpenTelemetry Logs for Ruby](https://uptrace.dev/raw/get/opentelemetry-ruby/logs.md): Collect Ruby application logs with OpenTelemetry and send structured logs to Uptrace with trace correlation. - [Resource Detectors in OpenTelemetry Ruby](https://uptrace.dev/raw/get/opentelemetry-ruby/resources.md): Add resource attributes in Ruby to describe service name, environment, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Trace Context Propagation [Ruby]](https://uptrace.dev/raw/get/opentelemetry-ruby/propagation.md): Configure context propagation for Ruby apps using W3C TraceContext, baggage, and custom propagators to keep traces connected end to end. - [OpenTelemetry Sampling [Ruby]](https://uptrace.dev/raw/get/opentelemetry-ruby/sampling.md): Tune OpenTelemetry sampling in Ruby with parent-based, trace ID ratio, or tail sampling strategies to balance observability cost and fidelity in Uptrace. - [OpenTelemetry Rust distro for Uptrace](https://uptrace.dev/raw/get/opentelemetry-rust.md): Step-by-step guide to install and configure OpenTelemetry Rust SDKs, export telemetry to Uptrace, and verify that traces, metrics, and logs arrive via OTLP. - [Direct OTLP Configuration for OpenTelemetry Rust](https://uptrace.dev/raw/get/opentelemetry-rust/otlp.md): Configure OpenTelemetry Rust to export traces, metrics, and logs to Uptrace using the OTLP exporter directly. - [OpenTelemetry Rust Tracing API](https://uptrace.dev/raw/get/opentelemetry-rust/tracing.md): Instrument Rust services with the OpenTelemetry Tracing API, create spans, record errors, and send distributed traces to Uptrace. - [OpenTelemetry Rust Metrics API](https://uptrace.dev/raw/get/opentelemetry-rust/metrics.md): Collect Rust application metrics with the OpenTelemetry Meter API, configure instruments, and forward data to Uptrace dashboards. - [OpenTelemetry Logs for Rust](https://uptrace.dev/raw/get/opentelemetry-rust/logs.md): Collect Rust application logs with OpenTelemetry using the tracing ecosystem and send structured logs to Uptrace. - [Resource Detectors in OpenTelemetry Rust](https://uptrace.dev/raw/get/opentelemetry-rust/resources.md): Add resource attributes in Rust to describe service name, environment, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Trace Context Propagation [Rust]](https://uptrace.dev/raw/get/opentelemetry-rust/propagation.md): Configure context propagation for Rust apps using W3C TraceContext, baggage, and custom propagators to keep traces connected end to end. - [OpenTelemetry Sampling [Rust]](https://uptrace.dev/raw/get/opentelemetry-rust/sampling.md): Tune OpenTelemetry sampling in Rust with parent-based, trace ID ratio, or tail sampling strategies to balance observability cost and fidelity in Uptrace. - [OpenTelemetry Swift for Uptrace](https://uptrace.dev/raw/get/opentelemetry-swift.md): Step-by-step guide to install and configure OpenTelemetry Swift SDK, export telemetry to Uptrace, and verify that traces and metrics arrive via OTLP. - [OTLP Configuration for OpenTelemetry Swift](https://uptrace.dev/raw/get/opentelemetry-swift/otlp.md): Configure OpenTelemetry Swift to export traces and metrics to Uptrace using the OTLP exporter over gRPC or HTTP. - [OpenTelemetry Swift Tracing](https://uptrace.dev/raw/get/opentelemetry-swift/tracing.md): Instrument Swift applications with the OpenTelemetry Tracing API, create spans, record errors, and send distributed traces to Uptrace. - [OpenTelemetry Metrics for Swift](https://uptrace.dev/raw/get/opentelemetry-swift/metrics.md): Collect Swift application metrics with the OpenTelemetry Meter API, configure instruments, and send metrics to Uptrace. - [OpenTelemetry Logs for Swift](https://uptrace.dev/raw/get/opentelemetry-swift/logs.md): Integrate logging with OpenTelemetry Swift, correlate logs with traces, and send structured logs to Uptrace. - [Resource Attributes in OpenTelemetry Swift](https://uptrace.dev/raw/get/opentelemetry-swift/resources.md): Add resource attributes in Swift to describe service name, environment, device info, and deployment metadata so Uptrace can group telemetry correctly. - [OpenTelemetry Context Propagation [Swift]](https://uptrace.dev/raw/get/opentelemetry-swift/propagation.md): Propagate trace context in Swift using W3C TraceContext, inject and extract traceparent headers for distributed tracing. - [OpenTelemetry Swift Sampling](https://uptrace.dev/raw/get/opentelemetry-swift/sampling.md): Configure OpenTelemetry sampling in Swift with parent-based, trace ID ratio, or custom strategies to balance observability cost and fidelity in Uptrace. ## Data Ingestion Methods for ingesting telemetry data including OpenTelemetry Collector, Prometheus, Vector, FluentBit, and more. - [Supported data ingestion methods](https://uptrace.dev/raw/ingest.md): Overview of every supported ingestion path including OpenTelemetry SDKs, Collector, Prometheus, CloudWatch, and log forwarders. - [Ingesting telemetry using OpenTelemetry Distros for Uptrace](https://uptrace.dev/raw/ingest/opentelemetry.md): Configure OpenTelemetry SDKs in any language with an Uptrace DSN over OTLP gRPC or HTTP. - [Ingesting telemetry using OpenTelemetry Collector](https://uptrace.dev/raw/ingest/collector.md): Send telemetry from OpenTelemetry Collector to Uptrace using OTLP exporters for traces, metrics, and logs. - [Ingesting telemetry using OTel Arrow Protocol](https://uptrace.dev/raw/ingest/otelarrow.md): Send telemetry to Uptrace using OTel Arrow for up to 50% bandwidth reduction compared to standard OTLP. - [AWS CloudWatch metrics and logs](https://uptrace.dev/raw/ingest/cloudwatch.md): Ship AWS CloudWatch metrics and logs to Uptrace via Data Firehose or YACE, including IAM requirements and dimension mapping. - [Ingesting Prometheus metrics into Uptrace](https://uptrace.dev/raw/ingest/prometheus.md): Forward Prometheus data using remote write or Collector receivers, keeping PromQL queries compatible with Uptrace dashboards. - [Ingesting Telegraf metrics](https://uptrace.dev/raw/ingest/telegraf.md): Output Telegraf metrics through the OpenTelemetry plugin, secure connections, and add resource attributes before sending to Uptrace. - [Sentry SDK Configuration for Uptrace](https://uptrace.dev/raw/ingest/sentry.md): Integrate Sentry SDKs with Uptrace by adapting DSNs, configuring browser and server clients, and mapping events to projects. - [Ingesting telemetry using OpenTelemetry eBPF (OBI)](https://uptrace.dev/raw/ingest/ebpf.md): Auto-instrument any application using kernel-level eBPF with OpenTelemetry. Zero-code observability for all languages, sending traces and metrics to Uptrace. - [Using Vector to ingest logs into Uptrace](https://uptrace.dev/raw/ingest/logs/vector.md): Configure Vector sources, transforms, and HTTP sinks to forward logs to Uptrace with DSN headers and VRL enrichment. - [Sending FluentBit logs to Uptrace](https://uptrace.dev/raw/ingest/logs/fluentbit.md): Use Fluent Bit with the OpenTelemetry output to stream syslog data to Uptrace and tag records with custom labels. - [Ingesting logs using Grafana Loki push API](https://uptrace.dev/raw/ingest/logs/loki.md): Bridge Promtail or Grafana Agent into Uptrace by enabling the Loki receiver on OpenTelemetry Collector and exporting via OTLP. - [Ingesting Heroku Logs into Uptrace](https://uptrace.dev/raw/ingest/logs/heroku.md): Deploy Vector on Heroku Logplex, capture platform logs, and push them into Uptrace over the HTTP sink. - [Ingesting spans from Jaeger [using OpenTelemetry]](https://uptrace.dev/raw/ingest/legacy/jaeger.md): Accept Jaeger spans through the Collector receiver and forward them to Uptrace so existing agents keep working. ## Guides Framework-specific tutorials and integration guides for popular frameworks and libraries. - [Guides](https://uptrace.dev/raw/guides.md): Landing page that links to every Uptrace instrumentation guide across languages, frameworks, and use cases. - [OpenTelemetry Beego monitoring [otelbeego]](https://uptrace.dev/raw/guides/opentelemetry-beego.md): OpenTelemetry Beego is an OpenTelemetry instrumentation for the Beego web framework, a popular open-source web framework for building web applications in Go. - [OpenTelemetry Celery Instrumentation Guide](https://uptrace.dev/raw/guides/opentelemetry-celery.md): Complete guide to monitoring Celery applications with OpenTelemetry. Learn task tracing, worker instrumentation, and Uptrace integration for distributed task queues. - [Instrumenting Go database/sql with OpenTelemetry [otelsql]](https://uptrace.dev/raw/guides/opentelemetry-database-sql.md): Instrument Go database/sql with OpenTelemetry otelsql. Trace queries, monitor connection pool metrics, and detect performance issues in PostgreSQL, MySQL, and SQLite applications. - [OpenTelemetry Django: Traces, Metrics and Database Monitoring](https://uptrace.dev/raw/guides/opentelemetry-django.md): Instrument Django with OpenTelemetry for automatic tracing, database query monitoring, and Celery task tracking. Setup guide with Docker. - [OpenTelemetry Docker Monitoring with Collector and Docker Stats](https://uptrace.dev/raw/guides/opentelemetry-docker.md): Monitor Docker containers with the OpenTelemetry Collector Docker Stats receiver. Collect CPU, memory, network, and block I/O metrics via Docker Compose. - [OpenTelemetry Echo by Labstack [otelecho]](https://uptrace.dev/raw/guides/opentelemetry-echo.md): Instrument the Echo web framework with otelecho middleware, export telemetry to Uptrace, and analyze traces plus metrics. - [OpenTelemetry Go Ent monitoring [otelent]](https://uptrace.dev/raw/guides/opentelemetry-ent.md): Learn how to monitor Ent ORM with OpenTelemetry for database query tracing, performance insights, and distributed tracing integration. - [OpenTelemetry Express.js instrumentation](https://uptrace.dev/raw/guides/opentelemetry-express.md): Use OpenTelemetry instrumentation to monitor and optimize Express.js performance. - [OpenTelemetry Falcon Instrumentation and Monitoring](https://uptrace.dev/raw/guides/opentelemetry-falcon.md): Instrument and monitor Falcon applications with OpenTelemetry. Setup FalconInstrumentor for automatic tracing, performance monitoring, and error tracking. - [OpenTelemetry FastAPI Instrumentation and Monitoring](https://uptrace.dev/raw/guides/opentelemetry-fastapi.md): Add OpenTelemetry instrumentation to FastAPI apps using FastAPIInstrumentor.instrument_app(). Get automatic distributed tracing, metrics and performance monitoring. - [OpenTelemetry Filelog Receiver](https://uptrace.dev/raw/guides/opentelemetry-filelog-receiver.md): Full guide to using the OpenTelemetry Filelog Receiver for reliable log collection. Covers parsing, multiline handling, Kubernetes setup, and production optimization. - [OpenTelemetry Flask Instrumentation and Monitoring](https://uptrace.dev/raw/guides/opentelemetry-flask.md): Instrument and monitor Flask applications with OpenTelemetry. Setup FlaskInstrumentor for automatic tracing, SQLAlchemy integration, performance monitoring, and error tracking. - [OpenTelemetry Gin Monitoring [otelgin]](https://uptrace.dev/raw/guides/opentelemetry-gin.md): OpenTelemetry Gin instrumentation allows to monitor performance of your Golang applications. - [OpenTelemetry Golang gRPC monitoring [otelgrpc]](https://uptrace.dev/raw/guides/opentelemetry-go-grpc.md): Complete guide to OpenTelemetry gRPC instrumentation for Go. Automatic tracing, metrics collection, and monitoring with StatsHandler. Includes setup examples and troubleshooting. - [OpenTelemetry Go AWS Lambda Instrumentation](https://uptrace.dev/raw/guides/opentelemetry-go-lambda.md): Learn how to instrument Go AWS Lambda functions with OpenTelemetry for distributed tracing, metrics, and observability in serverless applications. - [OpenTelemetry Go-Zero monitoring [otelzero]](https://uptrace.dev/raw/guides/opentelemetry-go-zero.md): OpenTelemetry helps Go-Zero developers instrument, generate, collect, and export telemetry data from their applications. - [OpenTelemetry Gorilla Mux monitoring [otelmux]](https://uptrace.dev/raw/guides/opentelemetry-gorilla-mux.md): Learn how to monitor Gorilla Mux with OpenTelemetry for distributed tracing, request metrics, and performance insights. - [OpenTelemetry GORM monitoring [otelgorm]](https://uptrace.dev/raw/guides/opentelemetry-gorm.md): Learn how to instrument GORM with OpenTelemetry for database query tracing, performance monitoring, and distributed tracing integration in Go applications. - [OpenTelemetry HTTPcheck Receiver](https://uptrace.dev/raw/guides/opentelemetry-httpcheck.md): Learn how to monitor HTTP endpoints with the OpenTelemetry Collector HTTPcheck receiver for uptime checks, response validation, and TLS certificate monitoring. - [OpenTelemetry Kubernetes Events Receiver [k8seventsreceiver]](https://uptrace.dev/raw/guides/opentelemetry-k8seventsreceiver.md): Complete guide to the OpenTelemetry Kubernetes Events Receiver. Collect and analyze K8s events — CrashLoopBackOff, OOMKilling, image pull failures — with RBAC setup, filtering, and alerting examples. - [Kafka Monitoring with OpenTelemetry Collector](https://uptrace.dev/raw/guides/opentelemetry-kafka.md): Monitor Apache Kafka performance using OpenTelemetry Collector kafkametrics receiver. Track broker metrics, consumer lag, and partition health with real-time observability. - [OpenTelemetry Integration for Laravel: Full Guide](https://uptrace.dev/raw/guides/opentelemetry-laravel.md): Learn how to implement OpenTelemetry in Laravel applications with step-by-step setup, auto-instrumentation, and PHP observability best practices for production monitoring. - [OpenTelemetry Log4j logs [Java]](https://uptrace.dev/raw/guides/opentelemetry-log4j.md): OpenTelemetry Log4j appender integrates Log4j2 with OpenTelemetry, enabling automatic log correlation with traces and export to observability backends. - [OpenTelemetry Logback logging [Java]](https://uptrace.dev/raw/guides/opentelemetry-logback.md): OpenTelemetry Logback integrates Logback with OpenTelemetry through log appender export and MDC context injection for trace correlation. - [OpenTelemetry Logrus logs [otellogrus]](https://uptrace.dev/raw/guides/opentelemetry-logrus.md): OpenTelemetry Logrus injects trace and span IDs for each logging statement, allowing you to correlate your logs with other telemetry data. - [OpenTelemetry MySQL Monitoring [step by step]](https://uptrace.dev/raw/guides/opentelemetry-mysql.md): Monitor your MySQL database using OpenTelemetry Collector mysql receiver and SDK instrumentation. Track query performance, connections, buffer pool usage, and replication lag. - [OpenTelemetry NestJS Instrumentation](https://uptrace.dev/raw/guides/opentelemetry-nestjs.md): Instrument a NestJS application with OpenTelemetry — auto-instrumentation, custom spans, distributed tracing, and exporting traces and metrics to Uptrace. - [OpenTelemetry Go net/http Instrumentation [otelhttp]](https://uptrace.dev/raw/guides/opentelemetry-net-http.md): OpenTelemetry otelhttp instrumentation guide for Go net/http applications. Learn HTTP server and client setup with distributed tracing and metrics collection. - [OpenTelemetry Next.js: Tracing for App Router and Pages Router](https://uptrace.dev/raw/guides/opentelemetry-nextjs.md): Add OpenTelemetry to Next.js 15 and 16 with @vercel/otel or manual NodeSDK. Full setup for App Router, API routes, and server components. - [OpenTelemetry NGINX Instrumentation](https://uptrace.dev/raw/guides/opentelemetry-nginx.md): Instrument NGINX with OpenTelemetry using ngx_otel_module. Auto-trace HTTP requests, propagate context, configure sampling, and export to OTLP collectors with 10-15% overhead. - [OpenTelemetry Node.js AWS Lambda](https://uptrace.dev/raw/guides/opentelemetry-node-lambda.md): Learn how to instrument Node.js AWS Lambda functions with OpenTelemetry to gain visibility into serverless applications, track cold starts, and trace downstream dependencies. - [OpenTelemetry OpenAI Instrumentation](https://uptrace.dev/raw/guides/opentelemetry-openai.md): Instrument the OpenAI Python SDK with OpenTelemetry. Auto-capture gen_ai spans, token usage, model parameters, and errors with opentelemetry-instrumentation-openai. - [OpenTelemetry Phoenix monitoring](https://uptrace.dev/raw/guides/opentelemetry-phoenix.md): Learn how to instrument Phoenix Framework with OpenTelemetry for distributed tracing, LiveView monitoring, and Ecto query tracing. - [PHP-FPM Monitoring with OpenTelemetry: Metrics, Alerts, and Dashboards](https://uptrace.dev/raw/guides/opentelemetry-php-fpm.md): Monitor PHP-FPM performance with OpenTelemetry Collector and php-fpm_exporter. Collect process pool metrics, set up alerting on worker exhaustion, and visualize PHP-FPM health in Uptrace. - [OpenTelemetry PostgreSQL Monitoring](https://uptrace.dev/raw/guides/opentelemetry-postgresql.md): Monitor your PostgreSQL database using OpenTelemetry Collector postgres receiver. Track connections, query performance, replication, and table bloat. - [OpenTelemetry Pyramid: Instrumentation and Monitoring Guide](https://uptrace.dev/raw/guides/opentelemetry-pyramid.md): Instrument and monitor Pyramid applications with OpenTelemetry. Setup auto-instrumentation, manual tracing, SQLAlchemy integration, and production deployment for Python web apps. - [OpenTelemetry Quarkus Instrumentation [Java]](https://uptrace.dev/raw/guides/opentelemetry-quarkus.md): Instrument Quarkus apps with OpenTelemetry extension. Auto-trace REST/gRPC/messaging, collect metrics, correlate logs, and compile to GraalVM native image with full observability support. - [OpenTelemetry RabbitMQ Monitoring Guide](https://uptrace.dev/raw/guides/opentelemetry-rabbitmq.md): Monitor your RabbitMQ cluster performance for free using Uptrace and OpenTelemetry Collector receiver. Track messages, queues, and broker health. - [RAG Pipeline Observability with OpenTelemetry](https://uptrace.dev/raw/guides/opentelemetry-rag-observability.md): How to trace every stage of a RAG pipeline with OpenTelemetry — embedding, vector search, reranking, context assembly, and LLM call — using LlamaIndex, LangChain, and Uptrace. - [Ruby on Rails Application Monitoring with OpenTelemetry](https://uptrace.dev/raw/guides/opentelemetry-rails.md): Rails monitoring guide using OpenTelemetry. Monitor Rails app performance, ActiveRecord queries, and server metrics with distributed tracing and APM capabilities. - [Monitor Redis with OpenTelemetry Collector](https://uptrace.dev/raw/guides/opentelemetry-redis.md): Complete Redis OpenTelemetry monitoring setup with Collector receiver. Configure Redis Otel metrics collection and visualize performance data with Uptrace. - [OpenTelemetry Sinatra monitoring](https://uptrace.dev/raw/guides/opentelemetry-sinatra.md): Learn how to instrument Sinatra applications with OpenTelemetry for distributed tracing, request monitoring, and performance insights. - [OpenTelemetry Slim Framework: Instrumentation and Monitoring Guide](https://uptrace.dev/raw/guides/opentelemetry-slim.md): Instrument and monitor Slim PHP applications with OpenTelemetry. Setup auto-instrumentation, manual tracing, database monitoring, and Docker deployment for PHP microservices. - [OpenTelemetry Slog [otelslog]: Golang Bridge Setup & Examples](https://uptrace.dev/raw/guides/opentelemetry-slog.md): Complete guide to otelslog - OpenTelemetry Slog bridge for Golang. Setup slog.SetDefault with OTel handler, structured logging examples, and Go logging best practices. - [OpenTelemetry Spring Boot: Java Agent, Starter, and Manual Instrumentation](https://uptrace.dev/raw/guides/opentelemetry-spring-boot.md): Set up OpenTelemetry in Spring Boot with the Java agent or Spring Boot starter. Traces, metrics, and logs for Spring Boot 3 and 4. - [OpenTelemetry SQLAlchemy monitoring](https://uptrace.dev/raw/guides/opentelemetry-sqlalchemy.md): Learn how to instrument SQLAlchemy with OpenTelemetry to monitor database operations, track query performance, and debug slow queries in Python applications. - [OpenTelemetry Integration for Symfony: Full Guide](https://uptrace.dev/raw/guides/opentelemetry-symfony.md): Learn how to implement OpenTelemetry in Symfony applications with step-by-step setup, auto-instrumentation, custom spans, metrics, and production configuration for PHP observability. - [OpenTelemetry Syslog Receiver](https://uptrace.dev/raw/guides/opentelemetry-syslog-receiver.md): Complete guide to the OpenTelemetry Syslog Receiver. Configure TCP/UDP collection, RFC 3164 and RFC 5424 parsing, rsyslog and syslog-ng forwarding, and Kubernetes syslog integration. - [OpenTelemetry Tomcat: Instrumentation and Monitoring Guide](https://uptrace.dev/raw/guides/opentelemetry-tomcat.md): Monitor Apache Tomcat with OpenTelemetry Java Agent. Step-by-step setup for automatic tracing, JVM metrics, servlet instrumentation, and production deployment. - [OpenTelemetry Zap [otelzap]: Golang Logging Bridge Setup & Examples](https://uptrace.dev/raw/guides/opentelemetry-zap.md): Complete guide to otelzap - OpenTelemetry Zap bridge for Golang. Setup otelzap with trace context injection, structured logging examples, and Go Zap best practices. ## OpenTelemetry OpenTelemetry knowledge base covering concepts, best practices, and instrumentation patterns. - [What is OpenTelemetry?](https://uptrace.dev/raw/opentelemetry.md): OpenTelemetry is an open-source observability framework that graduated from the CNCF in 2026. It defines four telemetry signals - traces, metrics, logs, and profiles - and a vendor-neutral way to collect and export them. - [Forever free OpenTelemetry APM](https://uptrace.dev/raw/opentelemetry/apm.md): Uptrace is a free, open source OpenTelemetry APM — distributed tracing, metrics, and logs in one UI. Self-host it with a single Docker command, with no per-host, per-seat, or per-data fees. - [OpenTelemetry Architecture](https://uptrace.dev/raw/opentelemetry/architecture.md): How OpenTelemetry fits together - API and SDK separation, instrumentation libraries, exporters, the Collector, and OTLP. Includes deployment topologies and where each component runs. - [OpenTelemetry Distributed Tracing: Spans, Context, and Code Examples](https://uptrace.dev/raw/opentelemetry/distributed-tracing.md): How distributed tracing works in OpenTelemetry - spans, span kinds, links, and trace context. Includes the W3C traceparent format, instrumentation code for Go, Python, Node.js, and Java, sampling strategies, and GenAI tracing. - [OpenTelemetry Metrics [with examples]](https://uptrace.dev/raw/opentelemetry/metrics.md): OpenTelemetry Metrics API reference covering Counter, Histogram, Gauge, UpDownCounter instruments with code examples. Aggregation strategies, cardinality management, and cost optimization. - [OpenTelemetry Logs: Setup, Data Model, and Trace Correlation](https://uptrace.dev/raw/opentelemetry/logs.md): How OpenTelemetry Logs work: connect an existing logging library through a bridge, correlate logs with traces, collect logs with the Collector. Includes per-language SDK status and code examples for Go, Python, Node.js, and Java. - [OpenTelemetry Profiles: The Fourth Signal](https://uptrace.dev/raw/opentelemetry/profiles.md): OpenTelemetry Profiles is the fourth telemetry signal, in public alpha since 2026. Covers the pprof-compatible data model, correlation with traces via trace_id, the eBPF profiler, and what is not ready yet. - [OpenTelemetry Context Propagation: W3C Trace Context and Baggage](https://uptrace.dev/raw/opentelemetry/context-propagation.md): How trace context travels between services - the W3C traceparent header, propagators, manual injection and extraction for HTTP and message queues, baggage, and how to diagnose traces that break at service boundaries. - [OpenTelemetry Sampling: Head-Based and Tail-Based](https://uptrace.dev/raw/opentelemetry/sampling.md): How OpenTelemetry sampling works - head-based samplers in the SDK, tail-based sampling in the Collector, rate limiting, and adjusted counts. Includes configuration examples and the trace-completeness pitfalls to avoid. - [Getting Started with the OpenTelemetry Collector](https://uptrace.dev/raw/opentelemetry/collector.md): OpenTelemetry Collector is a high-performance, scalable, and reliable solution for collecting, processing, and exporting observability data. Learn how to install, configure, and effectively use it in your systems. - [OpenTelemetry Collector Configuration Tutorial](https://uptrace.dev/raw/opentelemetry/collector/config.md): OpenTelemetry Collector configuration with YAML examples, receivers/processors/exporters setup, ports (4317, 4318), validation commands, and troubleshooting for production deployments. - [OpenTelemetry Collector Exporters](https://uptrace.dev/raw/opentelemetry/collector/exporters.md): Configure OpenTelemetry Collector exporters - OTLP over gRPC and HTTP, Uptrace, Prometheus, Zipkin, and cloud exporters for AWS X-Ray and Google Cloud. Includes retry and queue settings, TLS, routing to multiple backends, and troubleshooting. - [OpenTelemetry Host Metrics receiver](https://uptrace.dev/raw/opentelemetry/collector/host-metrics.md): Complete hostmetricsreceiver documentation with configuration examples for all scrapers (CPU, memory, disk, filesystem, network, processes). Includes Docker/Kubernetes deployment, troubleshooting guide, and production-ready templates. - [Prometheus and OpenTelemetry Collector Integration [Full Guide with Code]](https://uptrace.dev/raw/opentelemetry/collector/prometheus.md): Complete guide to integrating Prometheus with OpenTelemetry Collector. Includes Prometheus receiver, exporter, PrometheusRemoteWrite, resource_to_telemetry_conversion, and scrape_configs examples. - [OpenTelemetry Semantic Conventions: Stable Attribute Names](https://uptrace.dev/raw/opentelemetry/semconv.md): Reference for OpenTelemetry semantic conventions - the stable attribute names for HTTP, databases, messaging, and RPC. Includes the old-to-new renames from the stabilization, naming rules, and per-language packages. - [OpenTelemetry Operator for Kubernetes](https://uptrace.dev/raw/opentelemetry/operator.md): Step-by-step guide to deploying OpenTelemetry Operator in Kubernetes, setting up collectors, and enabling auto-instrumentation for full observability. - [OpenTelemetry Environment Variables Reference](https://uptrace.dev/raw/opentelemetry/env-vars.md): Reference for OpenTelemetry SDK environment variables - endpoint and protocol, service identity, sampling, propagators, batching, and limits. Includes defaults, accepted values, and the variables that were removed. - [OpenTelemetry Troubleshooting: No Data and How to Debug the Pipeline](https://uptrace.dev/raw/opentelemetry/troubleshooting.md): How to find where telemetry is being lost - checking the SDK with a console exporter, the Collector debug exporter and its sampling settings, internal Collector metrics, and the failure modes that produce no data and no errors.