Razvan
01/15/2021, 10:01 AM@Test
fun `client does not create new span_id if parent null`() {
val cliWithEvents = ClientFilters.RequestTracing()
.then(
ResponseFilters.ReportHttpTransaction {
println("REQUEST:" + it.request)
})
.then({ Response(OK) })
ZipkinTraces.setForCurrentThread(ZipkinTraces(TraceId("trace_id"), TraceId("span_id"), null))
cliWithEvents(Request(Method.GET, "/parentNull"))
ZipkinTraces.setForCurrentThread(ZipkinTraces(TraceId("trace_id"), TraceId("span_id"), TraceId("parent_id")))
cliWithEvents(Request(Method.GET, "/parentNotNull"))
}
prints:
REQUEST:GET /parentNull HTTP/1.1
x-b3-traceid: trace_id
x-b3-spanid: span_id
x-b3-sampled: 1
REQUEST:GET /parentNotNull HTTP/1.1
x-b3-traceid: trace_id
x-b3-spanid: 588dc95032d588ca
x-b3-parentspanid: span_id
x-b3-sampled: 1
I expected to be the second one for boths4nchez
01/15/2021, 10:13 AMRazvan
01/15/2021, 10:15 AMx-b3-traceid: trace_id
x-b3-spanid: 588dc95032d588ca
x-b3-parentspanid: span_id
x-b3-sampled: 1
s4nchez
01/15/2021, 10:23 AMRazvan
01/15/2021, 10:27 AMREQUEST:GET /parentNull HTTP/1.1
x-b3-traceid: trace_id
x-b3-spanid: 588dc95032d588ca
x-b3-parentspanid: span_id
x-b3-sampled: 1
REQUEST:GET /parentNotNull HTTP/1.1
x-b3-traceid: trace_id
x-b3-spanid: 588dc95032d588ca
x-b3-parentspanid: span_id
x-b3-sampled: 1
But instead, in the first case (call on /parentNull
) there is no parentspanId and not a new spanIdREQUEST:GET /parentNull HTTP/1.1
x-b3-traceid: trace_id
x-b3-spanid: span_id ******* THIS IS WRONG SHOULD BE A NEW SPAN ID ******
**** THERE SHOULD BE x-b3-parentspanid: span_id*******
x-b3-sampled: 1
s4nchez
01/15/2021, 3:59 PMRazvan
01/15/2021, 5:19 PMs4nchez
01/15/2021, 5:54 PM