diff --git a/elasticattr/attributes.go b/elasticattr/attributes.go new file mode 100644 index 0000000..4d302e5 --- /dev/null +++ b/elasticattr/attributes.go @@ -0,0 +1,58 @@ +// Licensed to Elasticsearch B.V. under one or more contributor +// license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright +// ownership. Elasticsearch B.V. licenses this file to you under +// the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package elasticattr + +const ( + // resource s + AgentName = "agent.name" + AgentVersion = "agent.version" + + // scope s + ServiceFrameworkName = "service.framework.name" + ServiceFrameworkVersion = "service.framework.version" + + // span s + TimestampUs = "timestamp.us" + ProcessorEvent = "processor.event" + TransactionSampled = "transaction.sampled" + TransactionID = "transaction.id" + TransactionRoot = "transaction.root" + TransactionName = "transaction.name" + TransactionType = "transaction.type" + TransactionDurationUs = "transaction.duration.us" + TransactionResult = "transaction.result" + TransactionRepresentativeCount = "transaction.representative_count" + SpanName = "span.name" + SpanType = "span.type" + SpanSubtype = "span.subtype" + EventOutcome = "event.outcome" + SuccessCount = "event.success_count" + ServiceTargetType = "service.target.type" + ServiceTargetName = "service.target.name" + SpanDestinationServiceResource = "span.destination.service.resource" + SpanDurationUs = "span.duration.us" + SpanRepresentativeCount = "span.representative_count" + ChildIDs = "child.id" + + // span event s + ParentID = "parent.id" + ErrorID = "error.id" + ErrorExceptionHandled = "error.exception.handled" + ErrorGroupingKey = "error.grouping_key" + ErrorGroupingName = "error.grouping_name" +) diff --git a/enrichments/trace/internal/elastic/attributes.go b/enrichments/trace/internal/elastic/attributes.go deleted file mode 100644 index 67d7353..0000000 --- a/enrichments/trace/internal/elastic/attributes.go +++ /dev/null @@ -1,58 +0,0 @@ -// Licensed to Elasticsearch B.V. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. Elasticsearch B.V. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package elastic - -const ( - // resource attributes - AttributeAgentName = "agent.name" - AttributeAgentVersion = "agent.version" - - // scope attributes - AttributeServiceFrameworkName = "service.framework.name" - AttributeServiceFrameworkVersion = "service.framework.version" - - // span attributes - AttributeTimestampUs = "timestamp.us" - AttributeProcessorEvent = "processor.event" - AttributeTransactionSampled = "transaction.sampled" - AttributeTransactionID = "transaction.id" - AttributeTransactionRoot = "transaction.root" - AttributeTransactionName = "transaction.name" - AttributeTransactionType = "transaction.type" - AttributeTransactionDurationUs = "transaction.duration.us" - AttributeTransactionResult = "transaction.result" - AttributeTransactionRepresentativeCount = "transaction.representative_count" - AttributeSpanName = "span.name" - AttributeSpanType = "span.type" - AttributeSpanSubtype = "span.subtype" - AttributeEventOutcome = "event.outcome" - AttributeSuccessCount = "event.success_count" - AttributeServiceTargetType = "service.target.type" - AttributeServiceTargetName = "service.target.name" - AttributeSpanDestinationServiceResource = "span.destination.service.resource" - AttributeSpanDurationUs = "span.duration.us" - AttributeSpanRepresentativeCount = "span.representative_count" - AttributeChildIDs = "child.id" - - // span event attributes - AttributeParentID = "parent.id" - AttributeErrorID = "error.id" - AttributeErrorExceptionHandled = "error.exception.handled" - AttributeErrorGroupingKey = "error.grouping_key" - AttributeErrorGroupingName = "error.grouping_name" -) diff --git a/enrichments/trace/internal/elastic/resource.go b/enrichments/trace/internal/elastic/resource.go index 031f636..0b4bd4e 100644 --- a/enrichments/trace/internal/elastic/resource.go +++ b/enrichments/trace/internal/elastic/resource.go @@ -20,6 +20,7 @@ package elastic import ( "fmt" + "github.com/elastic/opentelemetry-lib/elasticattr" "github.com/elastic/opentelemetry-lib/enrichments/trace/config" "go.opentelemetry.io/collector/pdata/pcommon" semconv "go.opentelemetry.io/collector/semconv/v1.25.0" @@ -98,7 +99,7 @@ func (s *resourceEnrichmentContext) setAgentName(resource pcommon.Resource) { s.telemetrySDKLanguage, ) } - resource.Attributes().PutStr(AttributeAgentName, agentName) + resource.Attributes().PutStr(elasticattr.AgentName, agentName) } func (s *resourceEnrichmentContext) setAgentVersion(resource pcommon.Resource) { @@ -113,7 +114,7 @@ func (s *resourceEnrichmentContext) setAgentVersion(resource pcommon.Resource) { case s.telemetrySDKVersion != "": agentVersion = s.telemetrySDKVersion } - resource.Attributes().PutStr(AttributeAgentVersion, agentVersion) + resource.Attributes().PutStr(elasticattr.AgentVersion, agentVersion) } func (s *resourceEnrichmentContext) overrideHostNameWithK8sNodeName(resource pcommon.Resource) { diff --git a/enrichments/trace/internal/elastic/resource_test.go b/enrichments/trace/internal/elastic/resource_test.go index 04eb20c..d3c5a52 100644 --- a/enrichments/trace/internal/elastic/resource_test.go +++ b/enrichments/trace/internal/elastic/resource_test.go @@ -20,6 +20,7 @@ package elastic import ( "testing" + "github.com/elastic/opentelemetry-lib/elasticattr" "github.com/elastic/opentelemetry-lib/enrichments/trace/config" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -44,8 +45,8 @@ func TestResourceEnrich(t *testing.T) { input: pcommon.NewResource(), config: config.Enabled().Resource, enrichedAttrs: map[string]any{ - AttributeAgentName: "otlp", - AttributeAgentVersion: "unknown", + elasticattr.AgentName: "otlp", + elasticattr.AgentVersion: "unknown", }, }, { @@ -57,8 +58,8 @@ func TestResourceEnrich(t *testing.T) { }(), config: config.Enabled().Resource, enrichedAttrs: map[string]any{ - AttributeAgentName: "customflavor", - AttributeAgentVersion: "unknown", + elasticattr.AgentName: "customflavor", + elasticattr.AgentVersion: "unknown", }, }, { @@ -71,8 +72,8 @@ func TestResourceEnrich(t *testing.T) { }(), config: config.Enabled().Resource, enrichedAttrs: map[string]any{ - AttributeAgentName: "customflavor/unknown/elastic", - AttributeAgentVersion: "unknown", + elasticattr.AgentName: "customflavor/unknown/elastic", + elasticattr.AgentVersion: "unknown", }, }, { @@ -86,8 +87,8 @@ func TestResourceEnrich(t *testing.T) { }(), config: config.Enabled().Resource, enrichedAttrs: map[string]any{ - AttributeAgentName: "customflavor/cpp/elastic", - AttributeAgentVersion: "unknown", + elasticattr.AgentName: "customflavor/cpp/elastic", + elasticattr.AgentVersion: "unknown", }, }, { @@ -99,8 +100,8 @@ func TestResourceEnrich(t *testing.T) { }(), config: config.Enabled().Resource, enrichedAttrs: map[string]any{ - AttributeAgentName: "otlp/cpp", - AttributeAgentVersion: "unknown", + elasticattr.AgentName: "otlp/cpp", + elasticattr.AgentVersion: "unknown", }, }, { @@ -113,8 +114,8 @@ func TestResourceEnrich(t *testing.T) { }(), config: config.Enabled().Resource, enrichedAttrs: map[string]any{ - AttributeAgentName: "customflavor/cpp", - AttributeAgentVersion: "unknown", + elasticattr.AgentName: "customflavor/cpp", + elasticattr.AgentVersion: "unknown", }, }, { @@ -127,8 +128,8 @@ func TestResourceEnrich(t *testing.T) { }(), config: config.Enabled().Resource, enrichedAttrs: map[string]any{ - AttributeAgentName: "customflavor", - AttributeAgentVersion: "9.999.9", + elasticattr.AgentName: "customflavor", + elasticattr.AgentVersion: "9.999.9", }, }, { @@ -142,8 +143,8 @@ func TestResourceEnrich(t *testing.T) { }(), config: config.Enabled().Resource, enrichedAttrs: map[string]any{ - AttributeAgentName: "customflavor/unknown/elastic", - AttributeAgentVersion: "unknown", + elasticattr.AgentName: "customflavor/unknown/elastic", + elasticattr.AgentVersion: "unknown", }, }, { @@ -158,8 +159,8 @@ func TestResourceEnrich(t *testing.T) { }(), config: config.Enabled().Resource, enrichedAttrs: map[string]any{ - AttributeAgentName: "customflavor/unknown/elastic", - AttributeAgentVersion: "1.2.3", + elasticattr.AgentName: "customflavor/unknown/elastic", + elasticattr.AgentVersion: "1.2.3", }, }, { @@ -174,8 +175,8 @@ func TestResourceEnrich(t *testing.T) { enrichedAttrs: map[string]any{ semconv.AttributeHostName: "k8s-node", semconv.AttributeK8SNodeName: "k8s-node", - AttributeAgentName: "otlp", - AttributeAgentVersion: "unknown", + elasticattr.AgentName: "otlp", + elasticattr.AgentVersion: "unknown", }, }, { @@ -189,8 +190,8 @@ func TestResourceEnrich(t *testing.T) { enrichedAttrs: map[string]any{ semconv.AttributeHostName: "k8s-node", semconv.AttributeK8SNodeName: "k8s-node", - AttributeAgentName: "otlp", - AttributeAgentVersion: "unknown", + elasticattr.AgentName: "otlp", + elasticattr.AgentVersion: "unknown", }, }, } { diff --git a/enrichments/trace/internal/elastic/scope.go b/enrichments/trace/internal/elastic/scope.go index 69a664c..e31abe3 100644 --- a/enrichments/trace/internal/elastic/scope.go +++ b/enrichments/trace/internal/elastic/scope.go @@ -18,6 +18,7 @@ package elastic import ( + "github.com/elastic/opentelemetry-lib/elasticattr" "github.com/elastic/opentelemetry-lib/enrichments/trace/config" "go.opentelemetry.io/collector/pdata/pcommon" ) @@ -27,8 +28,8 @@ func EnrichScope(scope pcommon.InstrumentationScope, cfg config.Config) { attrs := scope.Attributes() if cfg.Scope.ServiceFrameworkName.Enabled { if name := scope.Name(); name != "" { - attrs.PutStr(AttributeServiceFrameworkName, name) - attrs.PutStr(AttributeServiceFrameworkVersion, scope.Version()) + attrs.PutStr(elasticattr.ServiceFrameworkName, name) + attrs.PutStr(elasticattr.ServiceFrameworkVersion, scope.Version()) } } } diff --git a/enrichments/trace/internal/elastic/scope_test.go b/enrichments/trace/internal/elastic/scope_test.go index 7aa0500..1d3a4a2 100644 --- a/enrichments/trace/internal/elastic/scope_test.go +++ b/enrichments/trace/internal/elastic/scope_test.go @@ -20,6 +20,7 @@ package elastic import ( "testing" + "github.com/elastic/opentelemetry-lib/elasticattr" "github.com/elastic/opentelemetry-lib/enrichments/trace/config" "github.com/google/go-cmp/cmp" "github.com/stretchr/testify/assert" @@ -47,8 +48,8 @@ func TestScopeEnrich(t *testing.T) { }(), config: config.Enabled().Scope, enrichedAttrs: map[string]any{ - AttributeServiceFrameworkName: "test", - AttributeServiceFrameworkVersion: "", + elasticattr.ServiceFrameworkName: "test", + elasticattr.ServiceFrameworkVersion: "", }, }, { @@ -61,8 +62,8 @@ func TestScopeEnrich(t *testing.T) { }(), config: config.Enabled().Scope, enrichedAttrs: map[string]any{ - AttributeServiceFrameworkName: "test", - AttributeServiceFrameworkVersion: "v1.0.0", + elasticattr.ServiceFrameworkName: "test", + elasticattr.ServiceFrameworkVersion: "v1.0.0", }, }, } { diff --git a/enrichments/trace/internal/elastic/span.go b/enrichments/trace/internal/elastic/span.go index ce8e25d..4ac174d 100644 --- a/enrichments/trace/internal/elastic/span.go +++ b/enrichments/trace/internal/elastic/span.go @@ -30,6 +30,7 @@ import ( "strconv" "strings" + "github.com/elastic/opentelemetry-lib/elasticattr" "github.com/elastic/opentelemetry-lib/enrichments/trace/config" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" @@ -205,32 +206,32 @@ func (s *spanEnrichmentContext) enrichTransaction( cfg config.ElasticTransactionConfig, ) { if cfg.TimestampUs.Enabled { - span.Attributes().PutInt(AttributeTimestampUs, getTimestampUs(span.StartTimestamp())) + span.Attributes().PutInt(elasticattr.TimestampUs, getTimestampUs(span.StartTimestamp())) } if cfg.Sampled.Enabled { - span.Attributes().PutBool(AttributeTransactionSampled, s.getSampled()) + span.Attributes().PutBool(elasticattr.TransactionSampled, s.getSampled()) } if cfg.ID.Enabled { - span.Attributes().PutStr(AttributeTransactionID, span.SpanID().String()) + span.Attributes().PutStr(elasticattr.TransactionID, span.SpanID().String()) } if cfg.Root.Enabled { - span.Attributes().PutBool(AttributeTransactionRoot, isTraceRoot(span)) + span.Attributes().PutBool(elasticattr.TransactionRoot, isTraceRoot(span)) } if cfg.Name.Enabled { - span.Attributes().PutStr(AttributeTransactionName, span.Name()) + span.Attributes().PutStr(elasticattr.TransactionName, span.Name()) } if cfg.ProcessorEvent.Enabled { - span.Attributes().PutStr(AttributeProcessorEvent, "transaction") + span.Attributes().PutStr(elasticattr.ProcessorEvent, "transaction") } if cfg.RepresentativeCount.Enabled { repCount := getRepresentativeCount(span.TraceState().AsRaw()) - span.Attributes().PutDouble(AttributeTransactionRepresentativeCount, repCount) + span.Attributes().PutDouble(elasticattr.TransactionRepresentativeCount, repCount) } if cfg.DurationUs.Enabled { - span.Attributes().PutInt(AttributeTransactionDurationUs, getDurationUs(span)) + span.Attributes().PutInt(elasticattr.TransactionDurationUs, getDurationUs(span)) } if cfg.Type.Enabled { - span.Attributes().PutStr(AttributeTransactionType, s.getTxnType()) + span.Attributes().PutStr(elasticattr.TransactionType, s.getTxnType()) } if cfg.Result.Enabled { s.setTxnResult(span) @@ -248,17 +249,17 @@ func (s *spanEnrichmentContext) enrichSpan( cfg config.ElasticSpanConfig, ) { if cfg.TimestampUs.Enabled { - span.Attributes().PutInt(AttributeTimestampUs, getTimestampUs(span.StartTimestamp())) + span.Attributes().PutInt(elasticattr.TimestampUs, getTimestampUs(span.StartTimestamp())) } if cfg.Name.Enabled { - span.Attributes().PutStr(AttributeSpanName, span.Name()) + span.Attributes().PutStr(elasticattr.SpanName, span.Name()) } if cfg.ProcessorEvent.Enabled { - span.Attributes().PutStr(AttributeProcessorEvent, "span") + span.Attributes().PutStr(elasticattr.ProcessorEvent, "span") } if cfg.RepresentativeCount.Enabled { repCount := getRepresentativeCount(span.TraceState().AsRaw()) - span.Attributes().PutDouble(AttributeSpanRepresentativeCount, repCount) + span.Attributes().PutDouble(elasticattr.SpanRepresentativeCount, repCount) } if cfg.TypeSubtype.Enabled { s.setSpanTypeSubtype(span) @@ -267,7 +268,7 @@ func (s *spanEnrichmentContext) enrichSpan( s.setEventOutcome(span) } if cfg.DurationUs.Enabled { - span.Attributes().PutInt(AttributeSpanDurationUs, getDurationUs(span)) + span.Attributes().PutInt(elasticattr.SpanDurationUs, getDurationUs(span)) } if cfg.ServiceTarget.Enabled { s.setServiceTarget(span) @@ -328,7 +329,7 @@ func (s *spanEnrichmentContext) setTxnResult(span ptrace.Span) { } } - span.Attributes().PutStr(AttributeTransactionResult, result) + span.Attributes().PutStr(elasticattr.TransactionResult, result) } func (s *spanEnrichmentContext) setEventOutcome(span ptrace.Span) { @@ -347,8 +348,8 @@ func (s *spanEnrichmentContext) setEventOutcome(span ptrace.Span) { outcome = "failure" successCount = 0 } - span.Attributes().PutStr(AttributeEventOutcome, outcome) - span.Attributes().PutInt(AttributeSuccessCount, int64(successCount)) + span.Attributes().PutStr(elasticattr.EventOutcome, outcome) + span.Attributes().PutInt(elasticattr.SuccessCount, int64(successCount)) } func (s *spanEnrichmentContext) setSpanTypeSubtype(span ptrace.Span) { @@ -380,9 +381,9 @@ func (s *spanEnrichmentContext) setSpanTypeSubtype(span ptrace.Span) { } } - span.Attributes().PutStr(AttributeSpanType, spanType) + span.Attributes().PutStr(elasticattr.SpanType, spanType) if spanSubtype != "" { - span.Attributes().PutStr(AttributeSpanSubtype, spanSubtype) + span.Attributes().PutStr(elasticattr.SpanSubtype, spanSubtype) } } @@ -429,8 +430,8 @@ func (s *spanEnrichmentContext) setServiceTarget(span ptrace.Span) { } if targetType != "" || targetName != "" { - span.Attributes().PutStr(AttributeServiceTargetType, targetType) - span.Attributes().PutStr(AttributeServiceTargetName, targetName) + span.Attributes().PutStr(elasticattr.ServiceTargetType, targetType) + span.Attributes().PutStr(elasticattr.ServiceTargetName, targetName) } } @@ -467,7 +468,7 @@ func (s *spanEnrichmentContext) setDestinationService(span ptrace.Span) { } if destnResource != "" { - span.Attributes().PutStr(AttributeSpanDestinationServiceResource, destnResource) + span.Attributes().PutStr(elasticattr.SpanDestinationServiceResource, destnResource) } } @@ -491,7 +492,7 @@ func (s *spanEnrichmentContext) setInferredSpans(span ptrace.Span) { }) if childIDs.Len() > 0 { - childIDs.MoveAndAppendTo(span.Attributes().PutEmptySlice(AttributeChildIDs)) + childIDs.MoveAndAppendTo(span.Attributes().PutEmptySlice(elasticattr.ChildIDs)) } } @@ -526,10 +527,10 @@ func (s *spanEventEnrichmentContext) enrich( // Enrich span event attributes. if cfg.TimestampUs.Enabled { - se.Attributes().PutInt(AttributeTimestampUs, getTimestampUs(se.Timestamp())) + se.Attributes().PutInt(elasticattr.TimestampUs, getTimestampUs(se.Timestamp())) } if cfg.ProcessorEvent.Enabled && s.exception { - se.Attributes().PutStr(AttributeProcessorEvent, "error") + se.Attributes().PutStr(elasticattr.ProcessorEvent, "error") } if s.exceptionType == "" && s.exceptionMessage == "" { // Span event does not represent an exception @@ -539,11 +540,11 @@ func (s *spanEventEnrichmentContext) enrich( // Span event represents exception if cfg.ErrorID.Enabled { if id, err := newUniqueID(); err == nil { - se.Attributes().PutStr(AttributeErrorID, id) + se.Attributes().PutStr(elasticattr.ErrorID, id) } } if cfg.ErrorExceptionHandled.Enabled { - se.Attributes().PutBool(AttributeErrorExceptionHandled, !s.exceptionEscaped) + se.Attributes().PutBool(elasticattr.ErrorExceptionHandled, !s.exceptionEscaped) } if cfg.ErrorGroupingKey.Enabled { // See https://github.com/elastic/apm-data/issues/299 @@ -554,21 +555,21 @@ func (s *spanEventEnrichmentContext) enrich( } else if s.exceptionMessage != "" { io.WriteString(hash, s.exceptionMessage) } - se.Attributes().PutStr(AttributeErrorGroupingKey, hex.EncodeToString(hash.Sum(nil))) + se.Attributes().PutStr(elasticattr.ErrorGroupingKey, hex.EncodeToString(hash.Sum(nil))) } if cfg.ErrorGroupingName.Enabled { if s.exceptionMessage != "" { - se.Attributes().PutStr(AttributeErrorGroupingName, s.exceptionMessage) + se.Attributes().PutStr(elasticattr.ErrorGroupingName, s.exceptionMessage) } } // Transaction type and sampled are added as span event enrichment only for errors if parentCtx.isTransaction && s.exception { if cfg.TransactionSampled.Enabled { - se.Attributes().PutBool(AttributeTransactionSampled, parentCtx.getSampled()) + se.Attributes().PutBool(elasticattr.TransactionSampled, parentCtx.getSampled()) } if cfg.TransactionType.Enabled { - se.Attributes().PutStr(AttributeTransactionType, parentCtx.getTxnType()) + se.Attributes().PutStr(elasticattr.TransactionType, parentCtx.getTxnType()) } } } diff --git a/enrichments/trace/internal/elastic/span_test.go b/enrichments/trace/internal/elastic/span_test.go index 3dff12c..c818db0 100644 --- a/enrichments/trace/internal/elastic/span_test.go +++ b/enrichments/trace/internal/elastic/span_test.go @@ -24,6 +24,7 @@ import ( "testing" "time" + "github.com/elastic/opentelemetry-lib/elasticattr" "github.com/elastic/opentelemetry-lib/enrichments/trace/config" "github.com/google/go-cmp/cmp" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest/ptracetest" @@ -62,18 +63,18 @@ func TestElasticTransactionEnrich(t *testing.T) { input: ptrace.NewSpan(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: int64(0), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "", - AttributeTransactionName: "", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: int64(0), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeTransactionResult: "Success", - AttributeTransactionType: "unknown", + elasticattr.TimestampUs: int64(0), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "", + elasticattr.TransactionName: "", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: int64(0), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.TransactionResult: "Success", + elasticattr.TransactionType: "unknown", }, }, { @@ -90,18 +91,18 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: int64(0), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "", - AttributeTransactionName: "", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(256), - AttributeTransactionDurationUs: int64(0), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(256), - AttributeTransactionResult: "Success", - AttributeTransactionType: "unknown", + elasticattr.TimestampUs: int64(0), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "", + elasticattr.TransactionName: "", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(256), + elasticattr.TransactionDurationUs: int64(0), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(256), + elasticattr.TransactionResult: "Success", + elasticattr.TransactionType: "unknown", }, }, { @@ -114,18 +115,18 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "0100000000000000", - AttributeTransactionName: "testtxn", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeTransactionResult: "HTTP 2xx", - AttributeTransactionType: "request", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "0100000000000000", + elasticattr.TransactionName: "testtxn", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.TransactionResult: "HTTP 2xx", + elasticattr.TransactionType: "request", }, }, { @@ -144,18 +145,18 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "0100000000000000", - AttributeTransactionName: "testtxn", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeTransactionResult: "HTTP 1xx", - AttributeTransactionType: "request", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "0100000000000000", + elasticattr.TransactionName: "testtxn", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.TransactionResult: "HTTP 1xx", + elasticattr.TransactionType: "request", }, }, { @@ -173,18 +174,18 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "0100000000000000", - AttributeTransactionName: "testtxn", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeTransactionResult: "HTTP 5xx", - AttributeTransactionType: "request", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "0100000000000000", + elasticattr.TransactionName: "testtxn", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.TransactionResult: "HTTP 5xx", + elasticattr.TransactionType: "request", }, }, { @@ -203,18 +204,18 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "0100000000000000", - AttributeTransactionName: "testtxn", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeTransactionResult: "OK", - AttributeTransactionType: "request", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "0100000000000000", + elasticattr.TransactionName: "testtxn", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.TransactionResult: "OK", + elasticattr.TransactionType: "request", }, }, { @@ -233,18 +234,18 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "0100000000000000", - AttributeTransactionName: "testtxn", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeTransactionResult: "Internal", - AttributeTransactionType: "request", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "0100000000000000", + elasticattr.TransactionName: "testtxn", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.TransactionResult: "Internal", + elasticattr.TransactionType: "request", }, }, { @@ -258,18 +259,18 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "0100000000000000", - AttributeTransactionName: "testtxn", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeTransactionResult: "Success", - AttributeTransactionType: "unknown", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "0100000000000000", + elasticattr.TransactionName: "testtxn", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.TransactionResult: "Success", + elasticattr.TransactionType: "unknown", }, }, { @@ -283,18 +284,18 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "0100000000000000", - AttributeTransactionName: "testtxn", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "failure", - AttributeSuccessCount: int64(0), - AttributeTransactionResult: "Error", - AttributeTransactionType: "unknown", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "0100000000000000", + elasticattr.TransactionName: "testtxn", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "failure", + elasticattr.SuccessCount: int64(0), + elasticattr.TransactionResult: "Error", + elasticattr.TransactionType: "unknown", }, }, { @@ -308,18 +309,18 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "0100000000000000", - AttributeTransactionName: "testtxn", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeTransactionResult: "Success", - AttributeTransactionType: "messaging", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "0100000000000000", + elasticattr.TransactionName: "testtxn", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.TransactionResult: "Success", + elasticattr.TransactionType: "messaging", }, }, { @@ -342,19 +343,19 @@ func TestElasticTransactionEnrich(t *testing.T) { }(), config: config.Enabled().Transaction, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeTransactionSampled: true, - AttributeTransactionRoot: true, - AttributeTransactionID: "0100000000000000", - AttributeTransactionName: "testtxn", - AttributeProcessorEvent: "transaction", - AttributeTransactionRepresentativeCount: float64(1), - AttributeTransactionDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeTransactionResult: "Success", - AttributeTransactionType: "unknown", - AttributeChildIDs: []any{"0300000000000000", "0400000000000000"}, + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.TransactionSampled: true, + elasticattr.TransactionRoot: true, + elasticattr.TransactionID: "0100000000000000", + elasticattr.TransactionName: "testtxn", + elasticattr.ProcessorEvent: "transaction", + elasticattr.TransactionRepresentativeCount: float64(1), + elasticattr.TransactionDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.TransactionResult: "Success", + elasticattr.TransactionType: "unknown", + elasticattr.ChildIDs: []any{"0300000000000000", "0400000000000000"}, }, expectedSpanLinks: func() *ptrace.SpanLinkSlice { spanLinks := ptrace.NewSpanLinkSlice() @@ -417,14 +418,14 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: int64(0), - AttributeSpanName: "", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "unknown", - AttributeSpanDurationUs: int64(0), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), + elasticattr.TimestampUs: int64(0), + elasticattr.SpanName: "", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "unknown", + elasticattr.SpanDurationUs: int64(0), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), }, }, { @@ -442,15 +443,15 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: int64(0), - AttributeSpanName: "", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "app", - AttributeSpanSubtype: "internal", - AttributeSpanDurationUs: int64(0), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), + elasticattr.TimestampUs: int64(0), + elasticattr.SpanName: "", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "app", + elasticattr.SpanSubtype: "internal", + elasticattr.SpanDurationUs: int64(0), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), }, }, { @@ -463,17 +464,17 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "unknown", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetName: "testsvc", - AttributeServiceTargetType: "", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "unknown", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetName: "testsvc", + elasticattr.ServiceTargetType: "", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -490,18 +491,18 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "external", - AttributeSpanSubtype: "http", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "http", - AttributeServiceTargetName: "testsvc", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "external", + elasticattr.SpanSubtype: "http", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "http", + elasticattr.ServiceTargetName: "testsvc", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -524,18 +525,18 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "external", - AttributeSpanSubtype: "http", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "http", - AttributeServiceTargetName: "www.foo.bar:443", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "external", + elasticattr.SpanSubtype: "http", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "http", + elasticattr.ServiceTargetName: "www.foo.bar:443", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -558,18 +559,18 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "external", - AttributeSpanSubtype: "http", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "http", - AttributeServiceTargetName: "www.foo.bar:443", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "external", + elasticattr.SpanSubtype: "http", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "http", + elasticattr.ServiceTargetName: "www.foo.bar:443", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -590,18 +591,18 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "external", - AttributeSpanSubtype: "http", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "http", - AttributeServiceTargetName: "www.foo.bar:443", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "external", + elasticattr.SpanSubtype: "http", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "http", + elasticattr.ServiceTargetName: "www.foo.bar:443", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -618,18 +619,18 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "external", - AttributeSpanSubtype: "grpc", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "grpc", - AttributeServiceTargetName: "testsvc", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "external", + elasticattr.SpanSubtype: "grpc", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "grpc", + elasticattr.ServiceTargetName: "testsvc", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -643,18 +644,18 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "external", - AttributeSpanSubtype: "xmlrpc", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "xmlrpc", - AttributeServiceTargetName: "testsvc", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "external", + elasticattr.SpanSubtype: "xmlrpc", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "xmlrpc", + elasticattr.ServiceTargetName: "testsvc", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -670,17 +671,17 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "external", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "external", - AttributeServiceTargetName: "service.Test", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "external", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "external", + elasticattr.ServiceTargetName: "service.Test", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -696,17 +697,17 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "external", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "external", - AttributeServiceTargetName: "service.Test", - AttributeSpanDestinationServiceResource: "10.2.20.18:8081", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "external", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "external", + elasticattr.ServiceTargetName: "service.Test", + elasticattr.SpanDestinationServiceResource: "10.2.20.18:8081", }, }, { @@ -722,17 +723,17 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "external", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "external", - AttributeServiceTargetName: "service.Test", - AttributeSpanDestinationServiceResource: "10.2.20.18:8081", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "external", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "external", + elasticattr.ServiceTargetName: "service.Test", + elasticattr.SpanDestinationServiceResource: "10.2.20.18:8081", }, }, { @@ -746,18 +747,18 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "messaging", - AttributeSpanSubtype: "kafka", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "kafka", - AttributeServiceTargetName: "testsvc", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "messaging", + elasticattr.SpanSubtype: "kafka", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "kafka", + elasticattr.ServiceTargetName: "testsvc", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -771,17 +772,17 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "messaging", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "messaging", - AttributeServiceTargetName: "t1", - AttributeSpanDestinationServiceResource: "testsvc/t1", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "messaging", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "messaging", + elasticattr.ServiceTargetName: "t1", + elasticattr.SpanDestinationServiceResource: "testsvc/t1", }, }, { @@ -796,17 +797,17 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "messaging", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "messaging", - AttributeServiceTargetName: "testsvc", - AttributeSpanDestinationServiceResource: "testsvc/t1", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "messaging", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "messaging", + elasticattr.ServiceTargetName: "testsvc", + elasticattr.SpanDestinationServiceResource: "testsvc/t1", }, }, { @@ -827,18 +828,18 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "db", - AttributeSpanSubtype: "elasticsearch", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "elasticsearch", - AttributeServiceTargetName: "testsvc", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "db", + elasticattr.SpanSubtype: "elasticsearch", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "elasticsearch", + elasticattr.ServiceTargetName: "testsvc", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -864,18 +865,18 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "db", - AttributeSpanSubtype: "cassandra", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeServiceTargetType: "cassandra", - AttributeServiceTargetName: "testsvc", - AttributeSpanDestinationServiceResource: "testsvc", + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "db", + elasticattr.SpanSubtype: "cassandra", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ServiceTargetType: "cassandra", + elasticattr.ServiceTargetName: "testsvc", + elasticattr.SpanDestinationServiceResource: "testsvc", }, }, { @@ -898,15 +899,15 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "unknown", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), - AttributeChildIDs: []any{"0300000000000000", "0400000000000000"}, + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "unknown", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), + elasticattr.ChildIDs: []any{"0300000000000000", "0400000000000000"}, }, expectedSpanLinks: func() *ptrace.SpanLinkSlice { spanLinks := ptrace.NewSpanLinkSlice() @@ -926,15 +927,15 @@ func TestElasticSpanEnrich(t *testing.T) { }(), config: config.Enabled().Span, enrichedAttrs: map[string]any{ - AttributeTimestampUs: startTs.AsTime().UnixMicro(), - AttributeSpanName: "testspan", - AttributeProcessorEvent: "span", - AttributeSpanRepresentativeCount: float64(1), - AttributeSpanType: "genai", - AttributeSpanSubtype: "openai", - AttributeSpanDurationUs: expectedDuration.Microseconds(), - AttributeEventOutcome: "success", - AttributeSuccessCount: int64(1), + elasticattr.TimestampUs: startTs.AsTime().UnixMicro(), + elasticattr.SpanName: "testspan", + elasticattr.ProcessorEvent: "span", + elasticattr.SpanRepresentativeCount: float64(1), + elasticattr.SpanType: "genai", + elasticattr.SpanSubtype: "openai", + elasticattr.SpanDurationUs: expectedDuration.Microseconds(), + elasticattr.EventOutcome: "success", + elasticattr.SuccessCount: int64(1), }, }, } { @@ -983,7 +984,7 @@ func TestSpanEventEnrich(t *testing.T) { config: config.Enabled().SpanEvent, errorID: false, // error ID is only present for exceptions enrichedAttrs: map[string]any{ - AttributeTimestampUs: ts.AsTime().UnixMicro(), + elasticattr.TimestampUs: ts.AsTime().UnixMicro(), }, }, { @@ -1005,17 +1006,17 @@ func TestSpanEventEnrich(t *testing.T) { config: config.Enabled().SpanEvent, errorID: true, enrichedAttrs: map[string]any{ - AttributeTimestampUs: ts.AsTime().UnixMicro(), - AttributeProcessorEvent: "error", - AttributeErrorExceptionHandled: true, - AttributeErrorGroupingKey: func() string { + elasticattr.TimestampUs: ts.AsTime().UnixMicro(), + elasticattr.ProcessorEvent: "error", + elasticattr.ErrorExceptionHandled: true, + elasticattr.ErrorGroupingKey: func() string { hash := md5.New() hash.Write([]byte("java.net.ConnectionError")) return hex.EncodeToString(hash.Sum(nil)) }(), - AttributeErrorGroupingName: "something is wrong", - AttributeTransactionSampled: true, - AttributeTransactionType: "unknown", + elasticattr.ErrorGroupingName: "something is wrong", + elasticattr.TransactionSampled: true, + elasticattr.TransactionType: "unknown", }, }, { @@ -1038,15 +1039,15 @@ func TestSpanEventEnrich(t *testing.T) { config: config.Enabled().SpanEvent, errorID: true, enrichedAttrs: map[string]any{ - AttributeTimestampUs: ts.AsTime().UnixMicro(), - AttributeProcessorEvent: "error", - AttributeErrorExceptionHandled: true, - AttributeErrorGroupingKey: func() string { + elasticattr.TimestampUs: ts.AsTime().UnixMicro(), + elasticattr.ProcessorEvent: "error", + elasticattr.ErrorExceptionHandled: true, + elasticattr.ErrorGroupingKey: func() string { hash := md5.New() hash.Write([]byte("java.net.ConnectionError")) return hex.EncodeToString(hash.Sum(nil)) }(), - AttributeErrorGroupingName: "something is wrong", + elasticattr.ErrorGroupingName: "something is wrong", }, }, } { @@ -1064,13 +1065,13 @@ func TestSpanEventEnrich(t *testing.T) { }) actual := tc.parent.Events().At(0).Attributes() - errorID, ok := actual.Get(AttributeErrorID) + errorID, ok := actual.Get(elasticattr.ErrorID) assert.Equal(t, tc.errorID, ok, "error_id must be present for exception and must not be present for non-exception") if tc.errorID { assert.NotEmpty(t, errorID, "error_id must not be empty") } // Ignore error in actual diff since it is randomly generated - actual.Remove(AttributeErrorID) + actual.Remove(elasticattr.ErrorID) assert.Empty(t, cmp.Diff(expectedAttrs, actual.AsRaw())) }) }