package main import ( "context" "forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/Daniel.Sy/loic-go/cmd" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/exporters/stdout/stdoutmetric" "go.opentelemetry.io/otel/sdk/metric" "go.opentelemetry.io/otel/sdk/resource" semconv "go.opentelemetry.io/otel/semconv/v1.17.0" "log" "time" ) func main() { // Ressource definieren res, err := resource.New(context.Background(), resource.WithAttributes( semconv.ServiceNameKey.String("loic"), semconv.ServiceVersionKey.String("0.1.0"), ), ) if err != nil { log.Fatalf("failed to create resource: %v", err) } // Exporter erstellen (stdout für Tests) exporter, err := stdoutmetric.New() if err != nil { log.Fatalf("failed to create stdout exporter: %v", err) } // Periodic Reader erstellen reader := metric.NewPeriodicReader(exporter, metric.WithInterval(10*time.Second)) // MeterProvider initialisieren meterProvider := metric.NewMeterProvider( metric.WithResource(res), metric.WithReader(reader), ) defer meterProvider.Shutdown(context.Background()) // Globalen MeterProvider setzen otel.SetMeterProvider(meterProvider) // CLI ausführen cmd.Execute() }