MCPcopy Create free account
hub / github.com/ethstorage/es-node / main

Function main

cmd/dashboard/main.go:340–375  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

338}
339
340func main() {
341 // Parse the flags and set up the lg to print everything requested
342 flag.Parse()
343 log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelInfo, true)))
344 lg := log.New("app", "Dashboard")
345
346 if *portFlag < 0 || *portFlag > math.MaxUint16 {
347 lg.Crit("Invalid port")
348 }
349
350 m := metrics.NewMetrics("dashboard")
351 params := LoadConfig(*configFileFlag)
352 db, err := leveldb.New(*dataPath, 2048, 8196, "es-data/db/dashboard/", false)
353 if err != nil {
354 lg.Crit("Failed to create db", "err", err)
355 }
356 for _, param := range params {
357 d, err := newDashboard(param, rawdb.NewDatabase(db), m, lg)
358 if err != nil {
359 lg.Crit("New dashboard fail", "err", err)
360 }
361 err = d.InitMetrics()
362 if err != nil {
363 lg.Crit("Init metrics value fail", "err", err.Error())
364 }
365
366 d.LoadMiningMetricsFromDB()
367 d.RefreshMiningMetrics()
368 l1LatestBlockSub := eth.PollBlockChanges(d.ctx, d.lg, d.source, d.RefreshMetrics, ethRPC.LatestBlockNumber, epoch, epoch)
369 defer l1LatestBlockSub.Unsubscribe()
370 }
371
372 if err := m.Serve(context.Background(), *listenAddrFlag, *portFlag); err != nil {
373 lg.Crit("Error starting metrics server", "err", err)
374 }
375}

Callers

nothing calls this directly

Calls 9

ServeMethod · 0.95
NewMetricsFunction · 0.92
PollBlockChangesFunction · 0.92
InitMetricsMethod · 0.80
RefreshMiningMetricsMethod · 0.80
LoadConfigFunction · 0.70
newDashboardFunction · 0.70
ErrorMethod · 0.45

Tested by

no test coverage detected