quickwit-oss / quickwit-oss/quickwit

Better defaults for OTEL tracing.

Open
#3,023 0 comments 0 reactions 1 assignee View on GitHub

@guilload is already working on this.

Since Oct 16, 2024.

enhancement otel tracing
Dominant language
Rust
Stars
11.7k
Forks
597
Avg merge
2d 22h
Merged PRs (30d)
37

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.