Skip to content

Better defaults for OTEL tracing. #3023

@fulmicoton

Description

@fulmicoton

The doc offers the following command to run quickwit and make it possible to connect jaeger to it.

QW_ENABLE_OTLP_ENDPOINT=true \ # enables the OTLP endpoint. It is actually already true by default
QW_ENABLE_OPENTELEMETRY_OTLP_EXPORTER=true \ # Enables exporting the OTLP info
OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:7281 \ # Endpoint to which we should ship the OTEL information... 
quickwit run

On single node, it should be the default and ./quickwit run should be sufficient to reach the point where
quickwit indexes its own logs.

But we also still want to cater to the following use cases in a reasonably clear manner and in that order:

  • user wants to export quickwit tracing to the OTEL collector, using the standard env variable OTEL_EXPORTER_OTLP_ENDPOINT
  • user is running quickwit in a distributed fashion, and may not be running the indexer on this machine.

Proposed dream solution

We have an environment variable called
QW_TRACING=
It takes the value "quickwit", "otel", or "disabled". (default: "quickwit")

If set to quickwit, quickwit forwards the traces to a quickwit node indexing traces.
If set to otel, the logs are sent to the grpc OTEL endpoint defined via OTEL_EXPORTER_OTLP_ENDPOINT

The otel ingest endpoint is enabled by default on all servers, and on server that do not host the pipeline, the requests are forwarded.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions