No Collector

Why and how to send signals directly from app to backends

You are viewing the English version of this page because it has not yet been fully translated. Interested in helping out? See Contributing.

The simplest pattern is not to use a collector at all. This pattern consists of applications instrumented with an OpenTelemetry SDK that export telemetry signals (traces, metrics, logs) directly into a backend:

No collector deployment concept

Example

See the code instrumentation for programming languages for concrete end-to-end examples for how to export signals from your app directly into a backend.

Tradeoffs

Pros:

  • Simple to use (especially in a dev/test environment)
  • No additional moving parts to operate (in production environments)

Cons:

  • Requires code changes if collection, processing, or ingestion changes
  • Strong coupling between the application code and the backend
  • There are limited number of exporters per language implementation