From 201003a814d0083bb320f1bdd08a3f0ddd597e0d Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Fri, 16 Aug 2019 12:47:39 +0200 Subject: [PATCH] OT kind value can be of type string or ext.SpanKindEnum, allow for both to be handled properly --- tracer.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tracer.go b/tracer.go index 0fb43b2..d37f500 100644 --- a/tracer.go +++ b/tracer.go @@ -82,8 +82,16 @@ func parseTagsAsZipkinOptions(t map[string]interface{}) []zipkin.SpanOption { tags := map[string]string{} remoteEndpoint := &model.Endpoint{} + var kind string if val, ok := t[string(ext.SpanKind)]; ok { - kind, _ := val.(string) + switch kindVal := val.(type) { + case ext.SpanKindEnum: + kind = string(kindVal) + case string: + kind = kindVal + default: + kind = fmt.Sprintf("%v", kindVal) + } zopts = append(zopts, zipkin.Kind(model.Kind(strings.ToUpper(kind)))) }