Distributed Tracing — tracking requests across microservices.
1// OpenTelemetry2import { trace } from "@opentelemetry/api";34const tracer = trace.getTracer("my-app");56async function handleRequest(req) {7 return tracer.startActiveSpan("handleRequest", async (span) => {8 try {9 span.setAttribute("http.method", req.method);10 span.setAttribute("http.url", req.url);1112 const result = await callServiceA(req);13 span.setAttribute("service.a.result", "success");1415 return result;16 } catch (err) {17 span.setAttribute("error", true);18 span.recordException(err);19 throw err;20 } finally {21 span.end();22 }23 });24}
Components:
Tools: