func SendDistributedTrace()

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
}