func runAgent()

in pkg/telemetrygen/generator.go [58:87]


func runAgent(ctx context.Context, l *zap.Logger, expr string, limiter *rate.Limiter, rng *rand.Rand, cfg Config) error {
	handler, err := loadgen.NewEventHandler(loadgen.EventHandlerParams{
		Logger:                    l,
		URL:                       cfg.ServerURL.String(),
		Path:                      expr,
		APIKey:                    cfg.APIKey,
		Limiter:                   limiter,
		Rand:                      rng,
		RewriteIDs:                cfg.RewriteIDs,
		RewriteServiceNames:       cfg.RewriteServiceNames,
		RewriteServiceNodeNames:   cfg.RewriteServiceNodeNames,
		RewriteServiceTargetNames: cfg.RewriteServiceTargetNames,
		RewriteSpanNames:          cfg.RewriteSpanNames,
		RewriteTransactionNames:   cfg.RewriteTransactionNames,
		RewriteTransactionTypes:   cfg.RewriteTransactionTypes,
		RewriteTimestamps:         cfg.RewriteTimestamps,
		Headers:                   cfg.Headers,
		Protocol:                  "apm/http",
		TargetStackVersion:        cfg.TargetStackVersion,
	})
	if err != nil {
		return fmt.Errorf("cannot create event handler: %w", err)
	}

	if _, err := handler.SendBatches(ctx); err != nil {
		return fmt.Errorf("cannot send batches: %w", err)
	}

	return nil
}