Merge pull request #3315 from ipfs/fix/metrics-injection

Fix metrics injection
This commit is contained in:
Jeromy Johnson 2016-10-18 15:45:29 -07:00 committed by GitHub
commit 01ea333751
2 changed files with 13 additions and 4 deletions

View File

@ -181,6 +181,13 @@ func defaultMux(path string) corehttp.ServeOption {
var fileDescriptorCheck = func() error { return nil }
func daemonFunc(req cmds.Request, res cmds.Response) {
// Inject metrics before we do anything
err := mprome.Inject()
if err != nil {
log.Errorf("Injecting prometheus handler for metrics failed with message: %s\n", err.Error())
}
// let the user know we're going.
fmt.Printf("Initializing daemon...\n")
@ -388,10 +395,6 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
}
// initialize metrics collector
err = mprome.Inject()
if err != nil {
log.Warningf("Injecting prometheus handler for metrics failed with message: %s\n", err.Error())
}
prometheus.MustRegister(&corehttp.IpfsNodeCollector{Node: node})
fmt.Printf("Daemon is ready\n")

View File

@ -27,6 +27,12 @@ test_expect_success "no panic traces on daemon" '
test_must_fail grep "nil pointer dereference" daemon_err
'
test_expect_success "metrics work" '
curl "$API_ADDR/debug/metrics/prometheus" > pro_data &&
grep "ipfs_bs_cache_arc_hits_total" < pro_data ||
test_fsh cat pro_data
'
test_kill_ipfs_daemon
test_expect_success "ipfs daemon --offline --mount fails - #2995" '