func newAPMEventHandler()

in loadgen/eventhandler.go [112:140]


func newAPMEventHandler(p EventHandlerParams) (*eventhandler.Handler, error) {
	// We call the HTTPTransport constructor to avoid copying all the config
	// parsing that creates the `*http.Client`.
	t, err := transport.NewHTTPTransport(transport.HTTPTransportOptions{})
	if err != nil {
		return nil, fmt.Errorf("cannot create HTTP transport: %w", err)
	}

	c := eventhandler.Config{
		Path:                      filepath.Join("events", p.Path),
		Transport:                 eventhandler.NewAPMTransport(p.Logger, t.Client, p.URL, p.Token, p.APIKey, p.Headers),
		Storage:                   events,
		Limiter:                   p.Limiter,
		Rand:                      p.Rand,
		IgnoreErrors:              p.IgnoreErrors,
		RunForever:                p.RunForever,
		RewriteIDs:                p.RewriteIDs,
		RewriteServiceNames:       p.RewriteServiceNames,
		RewriteServiceNodeNames:   p.RewriteServiceNodeNames,
		RewriteServiceTargetNames: p.RewriteServiceTargetNames,
		RewriteSpanNames:          p.RewriteSpanNames,
		RewriteTransactionNames:   p.RewriteTransactionNames,
		RewriteTransactionTypes:   p.RewriteTransactionTypes,
		RewriteTimestamps:         p.RewriteTimestamps,
		TargetStackVersion:        p.TargetStackVersion,
	}

	return eventhandler.NewAPM(p.Logger, c)
}