From e9d403493fede75ff144b7e1eb6027eb28f98b0b Mon Sep 17 00:00:00 2001 From: Ankit Nayan Date: Sat, 24 Apr 2021 11:19:34 +0530 Subject: [PATCH 1/2] added statusCode field in spans --- pkg/processors/flattener/main.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/processors/flattener/main.go b/pkg/processors/flattener/main.go index ecbaa7af65..493a6bcb17 100644 --- a/pkg/processors/flattener/main.go +++ b/pkg/processors/flattener/main.go @@ -50,6 +50,7 @@ type Span struct { StartTimeUnixNano uint64 ServiceName string Kind int32 + StatusCode int64 References []OtelSpanRef Tags []string TagsKeys []string @@ -201,13 +202,25 @@ func newStructuredSpan(otelSpan pdata.Span, ServiceName string) *Span { spanID_bytes := otelSpan.SpanID().Bytes() parentSpanID_bytes := otelSpan.ParentSpanID().Bytes() + var statusCode int64 + attributes := otelSpan.Attributes() var tags []string var tagsKeys []string var tagsValues []string + var tag string + attributes.ForEach(func(k string, v pdata.AttributeValue) { - tag := fmt.Sprintf("%s:%s", k, v.StringVal()) + if v.Type().String() == "INT" { + tag = fmt.Sprintf("%s:%d", k, v.IntVal()) + } else { + tag = fmt.Sprintf("%s:%s", k, v.StringVal()) + } + if k == "http.status_code" { + statusCode = v.IntVal() + } + tags = append(tags, tag) tagsKeys = append(tagsKeys, k) tagsValues = append(tagsValues, v.StringVal()) @@ -224,6 +237,7 @@ func newStructuredSpan(otelSpan pdata.Span, ServiceName string) *Span { DurationNano: durationNano, ServiceName: ServiceName, Kind: int32(otelSpan.Kind()), + StatusCode: statusCode, References: references, Tags: tags, TagsKeys: tagsKeys, From e24577b6630db8adb44b9de6cf82578d440c1a50 Mon Sep 17 00:00:00 2001 From: Ankit Nayan Date: Sat, 24 Apr 2021 11:20:07 +0530 Subject: [PATCH 2/2] added statusCode dimension in druid supervisor config --- deploy/docker/druid-jobs/supervisor-spec.json | 3 ++- deploy/kubernetes/jobs/supervisor/supervisor-config.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/deploy/docker/druid-jobs/supervisor-spec.json b/deploy/docker/druid-jobs/supervisor-spec.json index 4af3850a5c..6f953791fd 100644 --- a/deploy/docker/druid-jobs/supervisor-spec.json +++ b/deploy/docker/druid-jobs/supervisor-spec.json @@ -30,7 +30,8 @@ "multiValueHandling": "ARRAY" }, { "name": "DurationNano", "type": "Long" }, - { "name": "Kind", "type": "int" } + { "name": "Kind", "type": "int" }, + { "name": "StatusCode", "type": "int" } ] } } diff --git a/deploy/kubernetes/jobs/supervisor/supervisor-config.yaml b/deploy/kubernetes/jobs/supervisor/supervisor-config.yaml index 6ad6db1f5b..57c3ceb905 100644 --- a/deploy/kubernetes/jobs/supervisor/supervisor-config.yaml +++ b/deploy/kubernetes/jobs/supervisor/supervisor-config.yaml @@ -36,7 +36,8 @@ data: "multiValueHandling": "ARRAY" }, { "name": "DurationNano", "type": "Long" }, - { "name": "Kind", "type": "int" } + { "name": "Kind", "type": "int" }, + { "name": "StatusCode", "type": "int" } ] } }