Skip to content

Commit be0e7d9

Browse files
authored
feat: health check (#278)
1 parent bf20b62 commit be0e7d9

11 files changed

Lines changed: 306 additions & 52 deletions

File tree

go.work.sum

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,7 @@ github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMr
606606
github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
607607
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
608608
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
609+
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
609610
github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8=
610611
github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
611612
github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764=
@@ -837,6 +838,7 @@ github.com/golang/lint v0.0.0-20180702182130-06c8688daad7 h1:2hRPrmiwPrp3fQX967r
837838
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
838839
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
839840
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
841+
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
840842
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
841843
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
842844
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
@@ -1319,8 +1321,6 @@ github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvV
13191321
github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
13201322
github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU=
13211323
github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
1322-
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
1323-
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
13241324
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
13251325
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
13261326
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c=
@@ -1429,6 +1429,7 @@ golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG
14291429
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
14301430
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
14311431
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
1432+
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
14321433
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
14331434
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
14341435
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
@@ -1450,6 +1451,7 @@ golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCA
14501451
golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ=
14511452
golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o=
14521453
golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
1454+
golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
14531455
golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852 h1:xYq6+9AtI+xP3M4r0N1hCkHrInHDBohhquRgx9Kk6gI=
14541456
golang.org/x/perf v0.0.0-20230113213139-801c7ef9e5c5 h1:ObuXPmIgI4ZMyQLIz48cJYgSyWdjUXc2SZAdyJMwEAU=
14551457
golang.org/x/perf v0.0.0-20230113213139-801c7ef9e5c5/go.mod h1:UBKtEnL8aqnd+0JHqZ+2qoMDwtuy6cYhhKNoHLBiTQc=
@@ -1483,6 +1485,7 @@ golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
14831485
golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
14841486
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
14851487
golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
1488+
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
14861489
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
14871490
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
14881491
golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1542,7 +1545,6 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.
15421545
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
15431546
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
15441547
google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw=
1545-
google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
15461548
google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98=
15471549
google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM=
15481550
google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
@@ -1551,10 +1553,12 @@ google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJai
15511553
google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
15521554
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE=
15531555
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
1556+
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
15541557
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
15551558
google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
15561559
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
15571560
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
1561+
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
15581562
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
15591563
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
15601564
gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8=

infrastructure/nomad/playbooks/templates/jobs/mev-commit-funder.nomad.j2

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,8 @@ job "{{ job.name }}" {
7272
{{ end }}
7373

7474
{{- range nomadService "{% endraw %}{{ job.target.name }}{% raw %}" }}
75-
{{- if contains "http" .Tags }}
76-
URL="https://{{ .Address }}:{{ .Port }}/health"
77-
if ! timeout 5m bash -c 'until httping -sql -c 1 -G "'${URL}'"; do sleep 1; done'; then
78-
echo "Unreachable endpoint: ${URL}"
79-
exit 1
80-
fi
81-
82-
{{- range nomadService "mev-commit-geth-bootnode1" }}
83-
{{- if contains "http" .Tags }}
75+
{{- range nomadService "mev-commit-geth-bootnode1" }}
76+
{{- if contains "http" .Tags }}
8477
ADDRESS=$(cat "${KEYSTORE_FILE}" | jq -r '.address')
8578
cast send \
8679
--keystore "${KEYSTORE_FILE}" \
@@ -97,9 +90,7 @@ job "{{ job.name }}" {
9790
echo "Failed to send funds to: ${ADDRESS}"
9891
exit 1
9992
fi
100-
{{- end }}
10193
{{- end }}
102-
10394
{{- end }}
10495
{{- end }}
10596
{% endraw %}

infrastructure/nomad/playbooks/templates/jobs/mev-commit-oracle.nomad.j2

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@ job "{{ job.name }}" {
4242
port = "{{ port_name }}"
4343
tags = ["{{ port_name }}"]
4444
provider = "nomad"
45+
{% if port_name == "http" %}
46+
check {
47+
type = "http"
48+
path = "/health"
49+
interval = "10s"
50+
timeout = "2s"
51+
}
52+
{% endif %}
4553
}
4654
{% endfor %}
4755

@@ -241,10 +249,6 @@ job "{{ job.name }}" {
241249
{{- range nomadService "mev-commit-provider-node1" }}
242250
{{- if contains "http" .Tags }}
243251
URL="https://{{ .Address }}:{{ .Port }}/v1/debug/topology"
244-
if ! timeout 5m bash -c 'until httping -sql -c 1 -G "'${URL}'"; do sleep 1; done'; then
245-
echo "Unreachable {{ .Name }} endpoint: ${URL}"
246-
exit 1
247-
fi
248252
ETH_ADDRESS="$(curl -sk ${URL} | jq -r '.topology.self["Ethereum Address"]')"
249253
if [ -n "${ETH_ADDRESS}" ]; then
250254
if [ -z "${MEV_ORACLE_OVERRIDE_WINNERS}" ]; then
@@ -259,10 +263,6 @@ job "{{ job.name }}" {
259263
{{- range nomadService "mev-commit-provider-node2" }}
260264
{{- if contains "http" .Tags }}
261265
URL="https://{{ .Address }}:{{ .Port }}/v1/debug/topology"
262-
if ! timeout 5m bash -c 'until httping -sql -c 1 -G "'${URL}'"; do sleep 1; done'; then
263-
echo "Unreachable {{ .Name }} endpoint: ${URL}"
264-
exit 1
265-
fi
266266
ETH_ADDRESS="$(curl -sk ${URL} | jq -r '.topology.self["Ethereum Address"]')"
267267
if [ -n "${ETH_ADDRESS}" ]; then
268268
if [ -z "${MEV_ORACLE_OVERRIDE_WINNERS}" ]; then
@@ -277,10 +277,6 @@ job "{{ job.name }}" {
277277
{{- range nomadService "mev-commit-provider-node3" }}
278278
{{- if contains "http" .Tags }}
279279
URL="https://{{ .Address }}:{{ .Port }}/v1/debug/topology"
280-
if ! timeout 5m bash -c 'until httping -sql -c 1 -G "'${URL}'"; do sleep 1; done'; then
281-
echo "Unreachable {{ .Name }} endpoint: ${URL}"
282-
exit 1
283-
fi
284280
ETH_ADDRESS="$(curl -sk ${URL} | jq -r '.topology.self["Ethereum Address"]')"
285281
if [ -n "${ETH_ADDRESS}" ]; then
286282
if [ -z "${MEV_ORACLE_OVERRIDE_WINNERS}" ]; then
@@ -304,10 +300,6 @@ job "{{ job.name }}" {
304300
{{ if contains "http" .Tags }}
305301
URL="http://{{ .Address }}:{{ .Port }}/contracts.json"
306302
CONTRACTS_FILE="/local/contracts.json"
307-
if ! timeout 5m bash -c 'until httping -sq -c 1 "'${URL}'"; do sleep 1; done'; then
308-
echo "Unreachable endpoint: ${URL}"
309-
exit 1
310-
fi
311303
curl -s -o "${CONTRACTS_FILE}" "${URL}"
312304
export MEV_ORACLE_PROVIDERREGISTRY_CONTRACT_ADDR="$(jq -r '.ProviderRegistry' ${CONTRACTS_FILE})"
313305
export MEV_ORACLE_BIDDERREGISTRY_CONTRACT_ADDR="$(jq -r '.BidderRegistry' ${CONTRACTS_FILE})"

infrastructure/nomad/playbooks/templates/jobs/mev-commit.nomad.j2

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@ job "{{ job.name }}" {
4242
port = "{{ port_name }}"
4343
tags = ["{{ port_name }}"]
4444
provider = "nomad"
45+
{% if port_name == "http" %}
46+
check {
47+
type = "http"
48+
protocol = "https"
49+
path = "/health"
50+
interval = "10s"
51+
timeout = "2s"
52+
}
53+
{% endif %}
4554
}
4655
{% endfor %}
4756

@@ -94,7 +103,7 @@ job "{{ job.name }}" {
94103
{{- end }}
95104
{{- if contains "ws" .Tags }}
96105
MEV_COMMIT_SETTLEMENT_WS_RPC_ENDPOINT="ws://{{ .Address}}:{{ .Port }}"
97-
{{- end }}
106+
{{- end }}
98107
{{- end }}
99108
{% endraw %}
100109
MEV_COMMIT_PEER_TYPE="{{ job.env['type'] }}"
@@ -142,10 +151,6 @@ job "{{ job.name }}" {
142151
{{- range nomadService "mev-commit-bootnode1" }}
143152
{{- if contains "http" .Tags }}
144153
URL="https://{{ .Address }}:{{ .Port }}/v1/debug/topology"
145-
if ! timeout 5m bash -c 'until httping -sql -c 1 -G "'${URL}'"; do sleep 1; done'; then
146-
echo "Unreachable endpoint: ${URL}"
147-
exit 1
148-
fi
149154
PEER_ID=$(echo $(curl -sk "${URL}") | jq -r '.topology.self.Underlay')
150155
{{- else if contains "p2p" .Tags }}
151156
export MEV_COMMIT_BOOTNODES="/ip4/{{ .Address }}/tcp/{{ .Port }}/p2p/${PEER_ID}"
@@ -159,10 +164,6 @@ job "{{ job.name }}" {
159164
{{ if contains "http" .Tags }}
160165
URL="http://{{ .Address }}:{{ .Port }}/contracts.json"
161166
CONTRACTS_FILE="/local/contracts.json"
162-
if ! timeout 5m bash -c 'until httping -sq -c 1 "'${URL}'"; do sleep 1; done'; then
163-
echo "Unreachable endpoint: ${URL}"
164-
exit 1
165-
fi
166167
curl -s -o "${CONTRACTS_FILE}" "${URL}"
167168
export MEV_COMMIT_PROVIDER_REGISTRY_ADDR="$(jq -r '.ProviderRegistry' ${CONTRACTS_FILE})"
168169
export MEV_COMMIT_BIDDER_REGISTRY_ADDR="$(jq -r '.BidderRegistry' ${CONTRACTS_FILE})"

oracle/pkg/apiserver/apiserver.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bufio"
55
"context"
66
"expvar"
7+
"fmt"
78
"log/slog"
89
"net"
910
"net/http"
@@ -20,6 +21,7 @@ import (
2021
"github.com/primev/mev-commit/oracle/pkg/updater"
2122
"github.com/primev/mev-commit/x/contracts/events"
2223
"github.com/primev/mev-commit/x/contracts/txmonitor"
24+
"github.com/primev/mev-commit/x/health"
2325
"github.com/prometheus/client_golang/prometheus"
2426
"github.com/prometheus/client_golang/prometheus/collectors"
2527
"github.com/prometheus/client_golang/prometheus/promhttp"
@@ -261,6 +263,20 @@ func (s *Service) RegisterMetricsCollectors(cs ...prometheus.Collector) {
261263
s.metricsRegistry.MustRegister(cs...)
262264
}
263265

266+
func (s *Service) RegisterHealthCheck(hc health.Health) {
267+
s.router.HandleFunc(
268+
"/health",
269+
func(w http.ResponseWriter, r *http.Request) {
270+
if err := hc.Health(); err != nil {
271+
http.Error(w, err.Error(), http.StatusServiceUnavailable)
272+
return
273+
}
274+
w.WriteHeader(http.StatusOK)
275+
fmt.Fprintln(w, "ok")
276+
},
277+
)
278+
}
279+
264280
type responseStatusRecorder struct {
265281
http.ResponseWriter
266282
status int

oracle/pkg/node/node.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"github.com/primev/mev-commit/x/contracts/events/publisher"
3131
"github.com/primev/mev-commit/x/contracts/transactor"
3232
"github.com/primev/mev-commit/x/contracts/txmonitor"
33+
"github.com/primev/mev-commit/x/health"
3334
"github.com/primev/mev-commit/x/keysigner"
3435
)
3536

@@ -71,6 +72,7 @@ type Node struct {
7172

7273
func NewNode(opts *Options) (*Node, error) {
7374
nd := &Node{logger: opts.Logger}
75+
healthChecker := health.New()
7476

7577
db, err := initDB(opts)
7678
if err != nil {
@@ -117,6 +119,7 @@ func NewNode(opts *Options) (*Node, error) {
117119
)
118120

119121
monitorClosed := monitor.Start(ctx)
122+
healthChecker.Register(health.CloseChannelHealthCheck("txmonitor", monitorClosed))
120123

121124
txnMgr := transactor.NewTransactor(
122125
settlementClient,
@@ -240,6 +243,7 @@ func NewNode(opts *Options) (*Node, error) {
240243
blockTrackerTransactor,
241244
)
242245
l1LisClosed := l1Lis.Start(ctx)
246+
healthChecker.Register(health.CloseChannelHealthCheck("l1_listener", l1LisClosed))
243247

244248
updtr, err := updater.NewUpdater(
245249
nd.logger.With("component", "updater"),
@@ -256,6 +260,7 @@ func NewNode(opts *Options) (*Node, error) {
256260
}
257261

258262
updtrClosed := updtr.Start(ctx)
263+
healthChecker.Register(health.CloseChannelHealthCheck("updater", updtrClosed))
259264

260265
providerRegistry, err := providerregistry.NewProviderregistryCaller(
261266
opts.ProviderRegistryContractAddr,
@@ -286,12 +291,14 @@ func NewNode(opts *Options) (*Node, error) {
286291
)
287292

288293
pubDone := eventsPublisher.Start(ctx, contractAddrs...)
294+
healthChecker.Register(health.CloseChannelHealthCheck("events_publisher", pubDone))
289295

290296
srv.RegisterMetricsCollectors(l1Lis.Metrics()...)
291297
srv.RegisterMetricsCollectors(updtr.Metrics()...)
292298
srv.RegisterMetricsCollectors(monitor.Metrics()...)
293299
srv.RegisterMetricsCollectors(evtMgr.Metrics()...)
294300
srv.RegisterMetricsCollectors(settlementRPC.Metrics()...)
301+
srv.RegisterHealthCheck(healthChecker)
295302

296303
srvClosed := srv.Start(fmt.Sprintf(":%d", opts.HTTPPort))
297304

0 commit comments

Comments
 (0)