func()

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)
	}
}