Skip to content

Commit aca3575

Browse files
committed
TUN-7549: Add metrics route to management service
1 parent 2b4815a commit aca3575

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

management/service.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/go-chi/chi/v5"
1313
"github.com/go-chi/cors"
1414
"github.com/google/uuid"
15+
"github.com/prometheus/client_golang/prometheus/promhttp"
1516
"github.com/rs/zerolog"
1617
"nhooyr.io/websocket"
1718
)
@@ -38,6 +39,9 @@ type ManagementService struct {
3839
clientID uuid.UUID
3940
label string
4041

42+
// Additional Handlers
43+
metricsHandler http.Handler
44+
4145
log *zerolog.Logger
4246
router chi.Router
4347

@@ -56,18 +60,20 @@ func New(managementHostname string,
5660
logger LoggerListener,
5761
) *ManagementService {
5862
s := &ManagementService{
59-
Hostname: managementHostname,
60-
log: log,
61-
logger: logger,
62-
serviceIP: serviceIP,
63-
clientID: clientID,
64-
label: label,
63+
Hostname: managementHostname,
64+
log: log,
65+
logger: logger,
66+
serviceIP: serviceIP,
67+
clientID: clientID,
68+
label: label,
69+
metricsHandler: promhttp.Handler(),
6570
}
6671
r := chi.NewRouter()
6772
r.Use(ValidateAccessTokenQueryMiddleware)
6873
r.Get("/ping", ping)
6974
r.Head("/ping", ping)
7075
r.Get("/logs", s.logs)
76+
r.Get("/metrics", s.metricsHandler.ServeHTTP)
7177
r.Route("/host_details", func(r chi.Router) {
7278
// CORS middleware required to allow dash to access management.argotunnel.com requests
7379
r.Use(cors.Handler(cors.Options{

0 commit comments

Comments
 (0)