This lab compares manual context propagation across multiple protocols using only the OpenTelemetry API/SDK plus standard libraries. Each module keeps its own explicit tutorial so you can focus on the carrier-specific steps.
- HTTP Client/Server Propagation – shows how
HttpClientAppinjects W3C Trace Context headers into JDKHttpRequestobjects and howHttpServerAppextracts them fromHttpExchange. - Solace JMS Producer/Consumer Propagation – walks through connecting to the Solace broker, injecting/extracting context via JMS properties, and verifying the resulting spans.
- Solace JMS Producer + New Relic OTLP – copies the manual Solace producer, injects W3C headers, and exports spans to New Relic via OTLP in addition to the logging exporter.
- Solace JMS Consumer + New Relic OTLP – keeps the explicit extraction flow but adds an OTLP exporter that pushes spans to New Relic alongside console logs.
- Solace JMS Producer + New Relic Java Agent – removes manual tracing and relies on the New Relic Java agent (
-javaagent) for automatic span creation/export while still injecting W3Ctraceparent. - Troubleshooting: Why the New Relic Agent Reported No JMS Traces – timeline + fix for the "agent attached but no traces" issue, including the
@Trace(dispatcher = true)solution. - 故障排查(中文):New Relic Agent 未上报 Solace JMS Trace – 中文版完整说明,涵盖同样的排障步骤、关键日志与结论。
- Solace JMS Producer + OpenTelemetry Java Agent – same producer logic, but uses the OpenTelemetry Java agent to auto-instrument JMS and export spans to New Relic’s OTLP endpoint.
More tutorials will be added as future modules (Kafka, gRPC, etc.) land. Refer to PROMPT.md for the overall lab expectations and AGENTS.md for coding guidelines.