func newTracer()

in pkg/tracegen/intake.go [102:127]


func newTracer(cfg Config) (*apm.Tracer, error) {
	apmServerURL, err := url.Parse(cfg.apmServerURL)
	if err != nil {
		return nil, fmt.Errorf("failed to parse endpoint: %w", err)
	}

	var apmServerTLSConfig *tls.Config
	if cfg.insecure {
		apmServerTLSConfig = &tls.Config{InsecureSkipVerify: true}
	}

	apmTransport, err := transport.NewHTTPTransport(transport.HTTPTransportOptions{
		ServerURLs:      []*url.URL{apmServerURL},
		APIKey:          cfg.apiKey,
		UserAgent:       "apm-tool",
		TLSClientConfig: apmServerTLSConfig,
	})
	if err != nil {
		return nil, fmt.Errorf("failed to create APM transport: %w", err)
	}
	return apm.NewTracerOptions(apm.TracerOptions{
		ServiceName:    cfg.apmServiceName,
		ServiceVersion: "0.0.1",
		Transport:      apmTransport,
	})
}