Version and deployment applicability:
- Self-hosted Fusion 5.17 and later: You can configure the OTLP exporter to send traces to a collector you provide. See Configure a customer-provided collector.
- Self-hosted Fusion 5.9.x: OTLP export is not available. Traces are exported using Zipkin instead. See Fusion 5.9.x: sending observability data to your own platform.
How it works
The following flow shows the default pipeline used in Lucidworks-managed environments, where spans are sent to Grafana Tempo. Self-hosted Fusion 5.17 and later uses the same span instrumentation, but you can redirect the OTel Collector output to a collector you provide instead of Grafana Tempo. See Configure a customer-provided collector.1
API Gateway creates the root span
The API Gateway receives the incoming request and creates the root trace . It propagates trace context downstream using a
traceparent header. Only query-path traffic is sampled, which keeps overhead minimal.2
Query Service creates child spans
The Query Service picks up the trace context and creates child spans for each integration it calls. The following spans are created for every traced request:
- Solr span: captures query execution time within Solr.
- Feign/downstream span: captures HTTP calls made to downstream services.
- Kafka span: captures Kafka producer and consumer calls made during query processing.
3
OTel Collector batches the spans
The receives spans from the Query Service and batches them for export.
4
Grafana Tempo stores the traces
The OTel Collector forwards the batched spans to Grafana Tempo, which stores them for search and analysis.
5
Grafana Dashboard surfaces the traces
stored in Grafana Tempo are available in the Grafana Dashboard, where Lucidworks engineers can search, filter, and drill into individual traces to identify performance bottlenecks.
Viewing traces in Grafana
You can use the Grafana Tempo dashboard to search and visualize traces. A trace can be filtered by service, time window, latency threshold, or error status. Drilling into a trace shows the full span tree: API Gateway root span, Query Service child spans, and Solr spans nested within them. This makes the following workflow possible:- Open Grafana and navigate to the Tempo traces dashboard.
- Select the time window that corresponds to the reported latency spike or other incident.
- Identify the slowest trace for that window.
- Drill into the span tree to see which service or integration was the bottleneck.
Instrumented integrations
Solr, Kafka, Feign HTTP client, and JDBC tracing are each controlled by a boolean Helm value,
opentelemetry.integrations.<name> (for example, opentelemetry.integrations.solr), set in each service’s Helm chart.
Each defaults to false, so set the ones you want to true to enable that integration’s spans.
Not every integration is available on every service — see Configure a customer-provided collector for which services support which integrations.
Trace volume and overhead can be tuned per integration without touching application code or requiring a Fusion release.
Configure a customer-provided collector (self-hosted Fusion 5.17 and later)
Self-hosted Fusion 5.17 and later can export OTLP traces directly to a collector you provide, instead of Grafana Tempo. Five services support this:- API Gateway
- Query
- Indexing
- Admin
- Apps Manager
API Gateway
API Gateway
The API Gateway is the single entry point for external traffic. It creates the root span and, for each service enabled in
opentelemetry.services, propagates trace context downstream using a traceparent header. Enabling OTel on the gateway automatically disables Spring Cloud Sleuth.Downstream services: Query, Indexing, Admin, Apps Manager
Downstream services: Query, Indexing, Admin, Apps Manager
These services share the same configuration structure under
opentelemetry in their Helm values.Fusion 5.9.x: sending observability data to your own platform
Self-hosted Fusion 5.9.x does not support OTLP export. Use the following supported paths to send observability data to your own platform instead.- Traces
- Metrics
- Logs
Fusion 5.9.x exports traces using Spring Cloud Sleuth with Zipkin/Brave, in Zipkin v2 format. Configure the export endpoint with:
Most modern observability platforms and OTel Collector builds accept Zipkin v2 format through a Zipkin receiver.