Skip to content

Commit 3b12f4e

Browse files
brookemosbyBrooke Mosby
andauthored
[ingress] feat: adding in metrics (#383)
* adding in metrics * adding in metrics * adding in metrics * addressing feedback * addressing feedback --------- Co-authored-by: Brooke Mosby <[email protected]>
1 parent af97b8a commit 3b12f4e

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

pkg/service/service.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ import (
4545
"github.com/livekit/protocol/tracer"
4646
"github.com/livekit/protocol/utils"
4747
"github.com/livekit/psrpc"
48+
"github.com/prometheus/client_golang/prometheus"
49+
"github.com/prometheus/client_golang/prometheus/collectors"
4850
)
4951

5052
const shutdownTimer = time.Second * 5
@@ -113,6 +115,27 @@ func NewService(conf *config.Config, psrpcClient rpc.IOInfoClient, bus psrpc.Mes
113115
Addr: fmt.Sprintf(":%d", conf.PrometheusPort),
114116
Handler: promhttp.Handler(),
115117
}
118+
119+
// Register default Prometheus collectors only when Prometheus is enabled
120+
if err := prometheus.Register(collectors.NewProcessCollector(collectors.ProcessCollectorOpts{})); err != nil {
121+
if _, ok := err.(prometheus.AlreadyRegisteredError); !ok {
122+
logger.Errorw("failed to register process collector", err)
123+
}
124+
}
125+
126+
// Unregister the default Go collector before registering detailed runtime metrics
127+
prometheus.Unregister(prometheus.NewGoCollector())
128+
if err := prometheus.Register(collectors.NewGoCollector(collectors.WithGoCollectorRuntimeMetrics(collectors.MetricsAll))); err != nil {
129+
if _, ok := err.(prometheus.AlreadyRegisteredError); !ok {
130+
logger.Errorw("failed to register go collector", err)
131+
}
132+
}
133+
134+
if err := prometheus.Register(collectors.NewBuildInfoCollector()); err != nil {
135+
if _, ok := err.(prometheus.AlreadyRegisteredError); !ok {
136+
logger.Errorw("failed to register build info collector", err)
137+
}
138+
}
116139
}
117140

118141
return s, nil

0 commit comments

Comments
 (0)