From 47362d716f2590030a865820dd2d7cd198c602fa Mon Sep 17 00:00:00 2001 From: Keaton Cross Date: Fri, 5 Apr 2024 15:12:11 -0500 Subject: [PATCH 1/4] fix: flatten ValueTypeSlice to ValueTypeString --- .../traces/traces_basic_expected.json | 100 ++++++++++++++++++ .../traces/traces_user_agent_expected.json | 100 ++++++++++++++++++ exporter/collector/spandata.go | 8 ++ exporter/collector/spandata_test.go | 5 + 4 files changed, 213 insertions(+) diff --git a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json index 91473dcd6..275759bb7 100644 --- a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json +++ b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json @@ -129,6 +129,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -308,6 +313,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -487,6 +497,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -666,6 +681,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -809,6 +829,11 @@ "value": "go version go1.19-pre4 cl/455575533 +12f49fe0ed linux/amd64" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.runtime.name": { "stringValue": { "value": "go" @@ -944,6 +969,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1069,6 +1099,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1194,6 +1229,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1290,6 +1330,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1386,6 +1431,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1482,6 +1532,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1578,6 +1633,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1729,6 +1789,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -1908,6 +1973,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -2087,6 +2157,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -2245,6 +2320,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -2375,6 +2455,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -2505,6 +2590,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -2635,6 +2725,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -2731,6 +2826,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" diff --git a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json index 44fe89b8a..95a09f028 100644 --- a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json +++ b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json @@ -129,6 +129,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -308,6 +313,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -487,6 +497,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -666,6 +681,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -809,6 +829,11 @@ "value": "go version go1.19-pre4 cl/455575533 +12f49fe0ed linux/amd64" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.runtime.name": { "stringValue": { "value": "go" @@ -944,6 +969,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1069,6 +1099,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1194,6 +1229,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1290,6 +1330,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1386,6 +1431,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1482,6 +1532,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1578,6 +1633,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -1729,6 +1789,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -1908,6 +1973,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -2087,6 +2157,11 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "process.owner": { "stringValue": { "value": "mikedame" @@ -2245,6 +2320,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -2375,6 +2455,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -2505,6 +2590,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -2635,6 +2725,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" @@ -2731,6 +2826,11 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, + "process.command_args": { + "stringValue": { + "value": "./main" + } + }, "service.name": { "stringValue": { "value": "demo-client" diff --git a/exporter/collector/spandata.go b/exporter/collector/spandata.go index 86b434d68..378599d85 100644 --- a/exporter/collector/spandata.go +++ b/exporter/collector/spandata.go @@ -16,6 +16,7 @@ package collector import ( "context" + "strings" "time" "go.opentelemetry.io/collector/pdata/pcommon" @@ -149,6 +150,13 @@ func pdataAttributesToOTAttributes(attrs pcommon.Map, resource pcommon.Resource) otAttrs = append(otAttrs, attribute.Int64(k, v.Int())) case pcommon.ValueTypeDouble: otAttrs = append(otAttrs, attribute.Float64(k, v.Double())) + case pcommon.ValueTypeSlice: + slice := v.Slice() + stringArr := make([]string, 0, slice.Len()) + for i := 0; i < slice.Len(); i++ { + stringArr = append(stringArr, slice.At(i).AsString()) + } + otAttrs = append(otAttrs, attribute.String(k, strings.Join(stringArr, ","))) } return true }) diff --git a/exporter/collector/spandata_test.go b/exporter/collector/spandata_test.go index f09c314ba..cef7b1e1e 100644 --- a/exporter/collector/spandata_test.go +++ b/exporter/collector/spandata_test.go @@ -82,6 +82,10 @@ func TestPDataResourceSpansToOTSpanData_endToEnd(t *testing.T) { span.Attributes().PutInt("timeout_ns", 12e9) span.Attributes().PutInt("ping_count", 25) span.Attributes().PutStr("agent", "ocagent") + span.Attributes().PutEmptySlice("header") + strArr := []any{"value1", "value2"} + headerValue, _ := span.Attributes().Get("header") + headerValue.Slice().FromRaw(strArr) gotOTSpanData := pdataResourceSpansToOTSpanData(rs) @@ -136,6 +140,7 @@ func TestPDataResourceSpansToOTSpanData_endToEnd(t *testing.T) { attribute.String("agent", "ocagent"), attribute.Bool("cache_hit", true), attribute.Int64("timeout_ns", 12e9), + attribute.String("header", "value1,value2"), }, instrumentationLibrary: instrumentation.Library{ Name: "test_il_name", From a6d37f84c115d4ad867d8b94dbd02b5f2a291dbc Mon Sep 17 00:00:00 2001 From: Keaton Cross Date: Mon, 22 Apr 2024 15:48:44 -0500 Subject: [PATCH 2/4] fix: use json marshalling for non-primitive values --- .../traces/traces_basic_expected.json | 40 +++++++++---------- .../traces/traces_user_agent_expected.json | 40 +++++++++---------- exporter/collector/spandata.go | 10 +---- exporter/collector/spandata_test.go | 4 +- 4 files changed, 45 insertions(+), 49 deletions(-) diff --git a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json index 275759bb7..f247aa8bf 100644 --- a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json +++ b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json @@ -131,7 +131,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -315,7 +315,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -499,7 +499,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -683,7 +683,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -831,7 +831,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.runtime.name": { @@ -971,7 +971,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1101,7 +1101,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1231,7 +1231,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1332,7 +1332,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1433,7 +1433,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1534,7 +1534,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1635,7 +1635,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1791,7 +1791,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -1975,7 +1975,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -2159,7 +2159,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -2322,7 +2322,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -2457,7 +2457,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -2592,7 +2592,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -2727,7 +2727,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -2828,7 +2828,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { diff --git a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json index 95a09f028..495f320bf 100644 --- a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json +++ b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json @@ -131,7 +131,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -315,7 +315,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -499,7 +499,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -683,7 +683,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -831,7 +831,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.runtime.name": { @@ -971,7 +971,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1101,7 +1101,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1231,7 +1231,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1332,7 +1332,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1433,7 +1433,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1534,7 +1534,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1635,7 +1635,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -1791,7 +1791,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -1975,7 +1975,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -2159,7 +2159,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "process.owner": { @@ -2322,7 +2322,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -2457,7 +2457,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -2592,7 +2592,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -2727,7 +2727,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { @@ -2828,7 +2828,7 @@ }, "process.command_args": { "stringValue": { - "value": "./main" + "value": "[\"./main\"]" } }, "service.name": { diff --git a/exporter/collector/spandata.go b/exporter/collector/spandata.go index 378599d85..7e951de89 100644 --- a/exporter/collector/spandata.go +++ b/exporter/collector/spandata.go @@ -16,7 +16,6 @@ package collector import ( "context" - "strings" "time" "go.opentelemetry.io/collector/pdata/pcommon" @@ -150,13 +149,8 @@ func pdataAttributesToOTAttributes(attrs pcommon.Map, resource pcommon.Resource) otAttrs = append(otAttrs, attribute.Int64(k, v.Int())) case pcommon.ValueTypeDouble: otAttrs = append(otAttrs, attribute.Float64(k, v.Double())) - case pcommon.ValueTypeSlice: - slice := v.Slice() - stringArr := make([]string, 0, slice.Len()) - for i := 0; i < slice.Len(); i++ { - stringArr = append(stringArr, slice.At(i).AsString()) - } - otAttrs = append(otAttrs, attribute.String(k, strings.Join(stringArr, ","))) + default: + otAttrs = append(otAttrs, attribute.String(k, v.AsString())) } return true }) diff --git a/exporter/collector/spandata_test.go b/exporter/collector/spandata_test.go index cef7b1e1e..1de504dee 100644 --- a/exporter/collector/spandata_test.go +++ b/exporter/collector/spandata_test.go @@ -15,6 +15,7 @@ package collector import ( + "encoding/json" "testing" "time" @@ -89,6 +90,7 @@ func TestPDataResourceSpansToOTSpanData_endToEnd(t *testing.T) { gotOTSpanData := pdataResourceSpansToOTSpanData(rs) + jsonStr, _ := json.Marshal(strArr) wantOTSpanData := &spanSnapshot{ spanContext: apitrace.NewSpanContext(apitrace.SpanContextConfig{ TraceID: apitrace.TraceID{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F}, @@ -140,7 +142,7 @@ func TestPDataResourceSpansToOTSpanData_endToEnd(t *testing.T) { attribute.String("agent", "ocagent"), attribute.Bool("cache_hit", true), attribute.Int64("timeout_ns", 12e9), - attribute.String("header", "value1,value2"), + attribute.String("header", string(jsonStr)), }, instrumentationLibrary: instrumentation.Library{ Name: "test_il_name", From c2df9c55720523e61f33f6ba65d0cd27093a9e00 Mon Sep 17 00:00:00 2001 From: Keaton Cross Date: Tue, 23 Apr 2024 12:21:34 -0500 Subject: [PATCH 3/4] fix: validate returned errors in tests Co-authored-by: David Ashpole Signed-off-by: Keaton Cross --- exporter/collector/spandata_test.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/exporter/collector/spandata_test.go b/exporter/collector/spandata_test.go index 1de504dee..879e3b615 100644 --- a/exporter/collector/spandata_test.go +++ b/exporter/collector/spandata_test.go @@ -85,12 +85,15 @@ func TestPDataResourceSpansToOTSpanData_endToEnd(t *testing.T) { span.Attributes().PutStr("agent", "ocagent") span.Attributes().PutEmptySlice("header") strArr := []any{"value1", "value2"} - headerValue, _ := span.Attributes().Get("header") - headerValue.Slice().FromRaw(strArr) + headerValue, found := span.Attributes().Get("header") + assert.True(t, found) + err := headerValue.Slice().FromRaw(strArr) + assert.NoError(t, err) gotOTSpanData := pdataResourceSpansToOTSpanData(rs) - jsonStr, _ := json.Marshal(strArr) + jsonStr, err := json.Marshal(strArr) + assert.NoError(t, err) wantOTSpanData := &spanSnapshot{ spanContext: apitrace.NewSpanContext(apitrace.SpanContextConfig{ TraceID: apitrace.TraceID{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F}, From 542da19b6c66375c620adff202acc7df761008e5 Mon Sep 17 00:00:00 2001 From: Keaton Cross Date: Tue, 23 Apr 2024 13:13:52 -0500 Subject: [PATCH 4/4] fix: regenerate test fixtures --- .../traces/traces_basic_expected.json | 200 +++++++++--------- .../traces/traces_user_agent_expected.json | 200 +++++++++--------- 2 files changed, 200 insertions(+), 200 deletions(-) diff --git a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json index f247aa8bf..9cc6e4c1d 100644 --- a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json +++ b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_basic_expected.json @@ -119,6 +119,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -129,11 +134,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -303,6 +303,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -313,11 +318,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -487,6 +487,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -497,11 +502,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -671,6 +671,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -681,11 +686,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -806,6 +806,11 @@ "value": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -829,11 +834,6 @@ "value": "go version go1.19-pre4 cl/455575533 +12f49fe0ed linux/amd64" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.runtime.name": { "stringValue": { "value": "go" @@ -936,6 +936,11 @@ "value": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -969,11 +974,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1066,6 +1066,11 @@ "value": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1099,11 +1104,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1196,6 +1196,11 @@ "value": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1229,11 +1234,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1297,6 +1297,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1330,11 +1335,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1398,6 +1398,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1431,11 +1436,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1499,6 +1499,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1532,11 +1537,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1600,6 +1600,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1633,11 +1638,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1779,6 +1779,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1789,11 +1794,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -1963,6 +1963,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1973,11 +1978,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -2147,6 +2147,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2157,11 +2162,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -2287,6 +2287,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2320,11 +2325,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -2422,6 +2422,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2455,11 +2460,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -2557,6 +2557,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2590,11 +2595,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -2692,6 +2692,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2725,11 +2730,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -2793,6 +2793,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2826,11 +2831,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" diff --git a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json index 495f320bf..d5df4d6f1 100644 --- a/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json +++ b/exporter/collector/integrationtest/testdata/fixtures/traces/traces_user_agent_expected.json @@ -119,6 +119,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -129,11 +134,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -303,6 +303,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -313,11 +318,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -487,6 +487,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -497,11 +502,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -671,6 +671,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -681,11 +686,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -806,6 +806,11 @@ "value": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -829,11 +834,6 @@ "value": "go version go1.19-pre4 cl/455575533 +12f49fe0ed linux/amd64" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.runtime.name": { "stringValue": { "value": "go" @@ -936,6 +936,11 @@ "value": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -969,11 +974,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1066,6 +1066,11 @@ "value": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1099,11 +1104,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1196,6 +1196,11 @@ "value": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1229,11 +1234,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1297,6 +1297,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1330,11 +1335,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1398,6 +1398,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1431,11 +1436,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1499,6 +1499,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1532,11 +1537,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1600,6 +1600,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1633,11 +1638,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -1779,6 +1779,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1789,11 +1794,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -1963,6 +1963,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -1973,11 +1978,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -2147,6 +2147,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2157,11 +2162,6 @@ "value": "/go/src/github.com/open-telemetry/opentelemetry-collector-contrib/examples/demo/server/main" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "process.owner": { "stringValue": { "value": "mikedame" @@ -2287,6 +2287,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2320,11 +2325,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -2422,6 +2422,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2455,11 +2460,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -2557,6 +2557,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2590,11 +2595,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -2692,6 +2692,11 @@ "value": "semver:0.33.0" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2725,11 +2730,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client" @@ -2793,6 +2793,11 @@ "value": "demo-client-tracer" } }, + "process.command_args": { + "stringValue": { + "value": "[\"./main\"]" + } + }, "process.executable.name": { "stringValue": { "value": "main" @@ -2826,11 +2831,6 @@ "value": "go1.19-pre4 cl/455575533 +12f49fe0ed" } }, - "process.command_args": { - "stringValue": { - "value": "[\"./main\"]" - } - }, "service.name": { "stringValue": { "value": "demo-client"