From f1fc04094805b8b571be6f41c5cec06b6bc2ac13 Mon Sep 17 00:00:00 2001 From: Nigel Deakin Date: Fri, 15 Dec 2017 18:31:57 +0000 Subject: [PATCH] Fix spans for prometheus (#606) --- api/agent/agent.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/api/agent/agent.go b/api/agent/agent.go index 607cc5710..de6668f6b 100644 --- a/api/agent/agent.go +++ b/api/agent/agent.go @@ -201,15 +201,19 @@ func (a *agent) Submit(callI Call) error { call := callI.(*call) ctx := call.req.Context() - // start spans in the correct order so each span is given, and inherits, the correct baggage - span_global, ctx := opentracing.StartSpanFromContext(ctx, "agent_submit_global") + // agent_submit_global has no parent span because we don't want it to inherit fn_appname or fn_path + span_global := opentracing.StartSpan("agent_submit_global") defer span_global.Finish() - span_app, ctx := opentracing.StartSpanFromContext(ctx, "agent_submit_app") + // agent_submit_global has no parent span because we don't want it to inherit fn_path + span_app := opentracing.StartSpan("agent_submit_app") span_app.SetBaggageItem("fn_appname", callI.Model().AppName) defer span_app.Finish() + // agent_submit has a parent span in the usual way + // it doesn't matter if it inherits fn_appname or fn_path (and we set them here in any case) span, ctx := opentracing.StartSpanFromContext(ctx, "agent_submit") + span.SetBaggageItem("fn_appname", callI.Model().AppName) span.SetBaggageItem("fn_path", callI.Model().Path) defer span.Finish()