quickwit-oss / quickwit-oss/quickwit

[Distributed Tracing] Documentation on ingestion of OpenTelemetry HTTP protocol data

Open
#4,769 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Hi there,

I am developing a Rust service using the opentelemetry-otlp crate, and I am evaluating Quickwit for tracing.

Project: https://github.com/FNNDSC/oxidicom

Sadly, an important dependency of my library is not async, so I cannot use gRPC (which depends on the tonic crate, which depends on async). In my Cargo.toml I have opentelemetry-otlp installed with these features:

opentelemetry-otlp = { version = "0.15.0", features = ["reqwest-blocking-client", "http-proto"], default-features = false }

I am able to ship traces to an OpenTelemetry collector just fine. For efficiency, I would like to consider cutting out the middle man and sending my traces directly to Quickwit without using the OpenTelemetry collector.

https://quickwit.io/docs/distributed-tracing/overview <-- here it says:

Quickwit supports natively the OpenTelemetry gRPC and HTTP (protobuf only) protocol and the Jaeger gRPC API (SpanReader only).

However, I can't find any documentation about how to ingest HTTP OTEL data.

  • https://quickwit.io/docs/distributed-tracing/otel-service --> only gRPC ingestion is described in the docs.
  • I tried setting OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://quickwit:7280 and got OpenTelemetry trace error occurred. HTTP status client error (405 Method Not Allowed) for url (http://quickwit:7280/)

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.

Research direction

Start with the distributed-tracing overview and the otel-service documentation linked in the issue, then compare their gRPC coverage with the reported HTTP request and 405 response. Document how HTTP OpenTelemetry protobuf data should be sent to Quickwit, including the relevant endpoint and configuration example. Done means the otel-service page explains HTTP ingestion well enough to replace the missing guidance.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.