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,
})
}