dapr / dapr/quickstarts

Copy the traceparent header between calls to show how tracing works across multiple API calls

Open
#650 1 comment 2 reactions 0 assignees View on GitHub
good first issue P1
Dominant language
Java
Stars
1.1k
Forks
547
PR merge metrics
No merged PRs in 30d

Description

This is for updating the Hello-World and Hello-Kubernetes quickstarts to show tracing across two independent API calls. A small change in the Node application can show this end to end by copying the trace header as shown below.
```
app.post('/neworder', (req, res) => {
const data = req.body.data;
const traceparent = req.headers.traceparent;
const orderId = data.orderId;
console.log("Got a new order! Order ID: " + orderId + " traceparent: " + traceparent);

const state = [{
key: "order",
value: data
}];

fetch(stateUrl, {
method: "POST",
body: JSON.stringify(state),
headers: {
"Content-Type": "application/json",
"traceparent": traceparent //copy the traceparent header from the incoming request to trace the call to state management API
}
}).then((response) => {
if (!response.ok) {
throw "Failed to persist state.";
}

```
Then instead of this

image

you get this for zipkin tracing.

image

This will work for both self hosted and K8s. At the same time it is worth updating the Observability Tutorial to show this end to end tracing since this not that well described in the docs today.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.