Closed as not planned
Description
Hi,
i have a question to exporting the metrics to prometheus. how can i export it with otelprom.New() and serveMetrics?
package main
import (
...
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
otelprom "go.opentelemetry.io/otel/exporters/prometheus"
)
func main() {
...
exporter, err := otelprom.New()
if err != nil {
log.Fatalf("otelprom.New(): failed to initialize otelprom: %w", err)
}
go serveMetrics(exporter.Collector)
}
func serveMetrics(exporter *otelprom.Exporter) {
registry := prometheus.NewRegistry()
// Register the exporter (it implements the prometheus.Collector interface)
err := registry.Register(exporter)
if err != nil {
log.Printf("error registering exporter: %v", err)
return
}
log.Println("Serving metrics at http://localhost:2222/metrics")
http.Handle("/metrics", promhttp.HandlerFor(registry, promhttp.HandlerOpts{}))
err = http.ListenAndServe(":2222", nil)
if err != nil {
log.Printf("error serving http: %v", err)
return
}
}
error:
./main.go:343:27: exporter.Collector undefined (type *"go.opentelemetry.io/otel/exporters/prometheus".Exporter has no field or method Collector)
./main.go:371:27: cannot use exporter (variable of type *"go.opentelemetry.io/otel/exporters/prometheus".Exporter) as "github.com/prometheus/client_golang/prometheus".Collector value in argument to registry.Register: *"go.opentelemetry.io/otel/exporters/prometheus".Exporter does not implement "github.com/prometheus/client_golang/prometheus".Collector (wrong type for method Collect)
have Collect("context".Context, *metricdata.ResourceMetrics) error
want Collect(chan<- "github.com/prometheus/client_golang/prometheus".Metric)
i use:
go 1.22.5
require (
github.com/aws/aws-sdk-go-v2 v1.30.3
github.com/aws/aws-sdk-go-v2/config v1.27.11
github.com/aws/aws-sdk-go-v2/credentials v1.17.27
github.com/aws/aws-sdk-go-v2/service/sts v1.30.3
github.com/montanaflynn/stats v0.7.1
github.com/prometheus/client_golang v1.20.5
go.opentelemetry.io/otel/exporters/prometheus v0.55.0
)