2020-03-10 12:20:34 -07:00
|
|
|
// (c) 2019-2020, Ava Labs, Inc. All rights reserved.
|
|
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
|
|
|
|
package metrics
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
|
|
"github.com/prometheus/client_golang/prometheus/promhttp"
|
2020-06-17 20:29:30 -07:00
|
|
|
|
|
|
|
"github.com/ava-labs/gecko/snow/engine/common"
|
2020-03-10 12:20:34 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
// NewService returns a new prometheus service
|
|
|
|
func NewService() (*prometheus.Registry, *common.HTTPHandler) {
|
|
|
|
registerer := prometheus.NewRegistry()
|
|
|
|
handler := promhttp.InstrumentMetricHandler(
|
|
|
|
registerer,
|
|
|
|
promhttp.HandlerFor(
|
|
|
|
registerer,
|
|
|
|
promhttp.HandlerOpts{},
|
|
|
|
),
|
|
|
|
)
|
|
|
|
return registerer, &common.HTTPHandler{LockOptions: common.NoLock, Handler: handler}
|
|
|
|
}
|