quickwit-oss / quickwit-oss/quickwit
Better defaults for OTEL tracing.
@guilload is already working on this.
Since Oct 16, 2024.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.