MCPcopy Index your code
hub / github.com/NdoleStudio/httpsms / initializeGoogleTraceProvider

Method initializeGoogleTraceProvider

api/pkg/di/container.go:1801–1835  ·  view source on GitHub ↗
(version string, namespace string)

Source from the content-addressed store, hash-verified

1799}
1800
1801func (container *Container) initializeGoogleTraceProvider(version string, namespace string) func() {
1802 container.logger.Debug("initializing google trace meterProvider")
1803
1804 traceExporter, err := cloudtrace.New(cloudtrace.WithProjectID(os.Getenv("GCP_PROJECT_ID")))
1805 if err != nil {
1806 container.logger.Fatal(stacktrace.Propagate(err, "cannot create cloud trace traceExporter"))
1807 }
1808
1809 tp := trace.NewTracerProvider(
1810 trace.WithBatcher(traceExporter),
1811 trace.WithSampler(trace.AlwaysSample()),
1812 trace.WithResource(container.OtelResources(version, namespace)),
1813 )
1814 otel.SetTracerProvider(tp)
1815
1816 metricExporter, err := mexporter.New(mexporter.WithProjectID(os.Getenv("GCP_PROJECT_ID")))
1817 if err != nil {
1818 container.logger.Fatal(stacktrace.Propagate(err, "cannot create cloud metric traceExporter"))
1819 }
1820
1821 meterProvider := metric.NewMeterProvider(
1822 metric.WithReader(metric.NewPeriodicReader(metricExporter)),
1823 metric.WithResource(container.OtelResources(version, namespace)),
1824 )
1825 otel.SetMeterProvider(meterProvider)
1826
1827 return func() {
1828 if err = metricExporter.Shutdown(context.Background()); err != nil {
1829 container.logger.Error(stacktrace.Propagate(err, "cannot shutdown cloud metric metric exporter"))
1830 }
1831 if err = traceExporter.Shutdown(context.Background()); err != nil {
1832 container.logger.Error(stacktrace.Propagate(err, "cannot shutdown cloud trace trace exporter"))
1833 }
1834 }
1835}
1836
1837func (container *Container) initializeAxiomTraceProvider(version string, namespace string) func() {
1838 container.logger.Debug("initializing axiom trace provider")

Callers

nothing calls this directly

Calls 4

OtelResourcesMethod · 0.95
DebugMethod · 0.65
FatalMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected