in pkg/tracegen/distributed.go [29:48]
func SendDistributedTrace(ctx context.Context, cfg Config) (EventStats, error) {
if err := cfg.validate(); err != nil {
return EventStats{}, err
}
txCtx, apmStats, err := SendIntakeV2Trace(ctx, cfg)
if err != nil {
return EventStats{}, err
}
traceparent := formatTraceparentHeader(txCtx)
tracestate := txCtx.State.String()
ctx = SetOTLPTracePropagator(ctx, traceparent, tracestate)
otlpStats, err := SendOTLPTrace(ctx, cfg)
if err != nil {
return EventStats{}, err
}
return apmStats.Add(otlpStats), nil
}