in enrichments/trace/internal/elastic/span.go [236:280]
func (s *spanEnrichmentContext) enrichTransaction(
span ptrace.Span,
cfg config.ElasticTransactionConfig,
) {
if cfg.TimestampUs.Enabled {
span.Attributes().PutInt(elasticattr.TimestampUs, getTimestampUs(span.StartTimestamp()))
}
if cfg.Sampled.Enabled {
span.Attributes().PutBool(elasticattr.TransactionSampled, s.getSampled())
}
if cfg.ID.Enabled {
span.Attributes().PutStr(elasticattr.TransactionID, span.SpanID().String())
}
if cfg.Root.Enabled {
span.Attributes().PutBool(elasticattr.TransactionRoot, isTraceRoot(span))
}
if cfg.Name.Enabled {
span.Attributes().PutStr(elasticattr.TransactionName, span.Name())
}
if cfg.ProcessorEvent.Enabled {
span.Attributes().PutStr(elasticattr.ProcessorEvent, "transaction")
}
if cfg.RepresentativeCount.Enabled {
repCount := getRepresentativeCount(span.TraceState().AsRaw())
span.Attributes().PutDouble(elasticattr.TransactionRepresentativeCount, repCount)
}
if cfg.DurationUs.Enabled {
span.Attributes().PutInt(elasticattr.TransactionDurationUs, getDurationUs(span))
}
if cfg.Type.Enabled {
span.Attributes().PutStr(elasticattr.TransactionType, s.getTxnType())
}
if cfg.Result.Enabled {
s.setTxnResult(span)
}
if cfg.EventOutcome.Enabled {
s.setEventOutcome(span)
}
if cfg.InferredSpans.Enabled {
s.setInferredSpans(span)
}
if cfg.UserAgent.Enabled {
s.setUserAgentIfRequired(span)
}
}