diff options
Diffstat (limited to 'dashboard/dashboard.go')
-rw-r--r-- | dashboard/dashboard.go | 36 |
1 files changed, 12 insertions, 24 deletions
diff --git a/dashboard/dashboard.go b/dashboard/dashboard.go index 2ca795187..7d6551413 100644 --- a/dashboard/dashboard.go +++ b/dashboard/dashboard.go @@ -16,19 +16,17 @@ package dashboard -//go:generate npm --prefix ./assets install -//go:generate ./assets/node_modules/.bin/webpack --config ./assets/webpack.config.js --context ./assets -//go:generate go-bindata -nometadata -o assets.go -prefix assets -nocompress -pkg dashboard assets/dashboard.html assets/bundle.js +//go:generate yarn --cwd ./assets install +//go:generate yarn --cwd ./assets build +//go:generate go-bindata -nometadata -o assets.go -prefix assets -nocompress -pkg dashboard assets/index.html assets/bundle.js //go:generate sh -c "sed 's#var _bundleJs#//nolint:misspell\\\n&#' assets.go > assets.go.tmp && mv assets.go.tmp assets.go" -//go:generate sh -c "sed 's#var _dashboardHtml#//nolint:misspell\\\n&#' assets.go > assets.go.tmp && mv assets.go.tmp assets.go" +//go:generate sh -c "sed 's#var _indexHtml#//nolint:misspell\\\n&#' assets.go > assets.go.tmp && mv assets.go.tmp assets.go" //go:generate gofmt -w -s assets.go import ( "fmt" - "io/ioutil" "net" "net/http" - "path/filepath" "runtime" "sync" "sync/atomic" @@ -62,7 +60,7 @@ type Dashboard struct { listener net.Listener conns map[uint32]*client // Currently live websocket connections - charts *HomeMessage + charts *SystemMessage commit string lock sync.RWMutex // Lock protecting the dashboard's internals @@ -84,7 +82,7 @@ func New(config *Config, commit string) (*Dashboard, error) { conns: make(map[uint32]*client), config: config, quit: make(chan chan error), - charts: &HomeMessage{ + charts: &SystemMessage{ ActiveMemory: emptyChartEntries(now, activeMemorySampleLimit, config.Refresh), VirtualMemory: emptyChartEntries(now, virtualMemorySampleLimit, config.Refresh), NetworkIngress: emptyChartEntries(now, networkIngressSampleLimit, config.Refresh), @@ -180,18 +178,7 @@ func (db *Dashboard) webHandler(w http.ResponseWriter, r *http.Request) { path := r.URL.String() if path == "/" { - path = "/dashboard.html" - } - // If the path of the assets is manually set - if db.config.Assets != "" { - blob, err := ioutil.ReadFile(filepath.Join(db.config.Assets, path)) - if err != nil { - log.Warn("Failed to read file", "path", path, "err", err) - http.Error(w, "not found", http.StatusNotFound) - return - } - w.Write(blob) - return + path = "/index.html" } blob, err := Asset(path[1:]) if err != nil { @@ -241,7 +228,7 @@ func (db *Dashboard) apiHandler(conn *websocket.Conn) { Version: fmt.Sprintf("v%d.%d.%d%s", params.VersionMajor, params.VersionMinor, params.VersionPatch, versionMeta), Commit: db.commit, }, - Home: &HomeMessage{ + System: &SystemMessage{ ActiveMemory: db.charts.ActiveMemory, VirtualMemory: db.charts.VirtualMemory, NetworkIngress: db.charts.NetworkIngress, @@ -277,6 +264,8 @@ func (db *Dashboard) collectData() { systemCPUUsage := gosigar.Cpu{} systemCPUUsage.Get() var ( + mem runtime.MemStats + prevNetworkIngress = metrics.DefaultRegistry.Get("p2p/InboundTraffic").(metrics.Meter).Count() prevNetworkEgress = metrics.DefaultRegistry.Get("p2p/OutboundTraffic").(metrics.Meter).Count() prevProcessCPUTime = getProcessCPUTime() @@ -306,7 +295,7 @@ func (db *Dashboard) collectData() { deltaNetworkIngress = float64(curNetworkIngress - prevNetworkIngress) deltaNetworkEgress = float64(curNetworkEgress - prevNetworkEgress) deltaProcessCPUTime = curProcessCPUTime - prevProcessCPUTime - deltaSystemCPUUsage = systemCPUUsage.Delta(prevSystemCPUUsage) + deltaSystemCPUUsage = curSystemCPUUsage.Delta(prevSystemCPUUsage) deltaDiskRead = curDiskRead - prevDiskRead deltaDiskWrite = curDiskWrite - prevDiskWrite ) @@ -319,7 +308,6 @@ func (db *Dashboard) collectData() { now := time.Now() - var mem runtime.MemStats runtime.ReadMemStats(&mem) activeMemory := &ChartEntry{ Time: now, @@ -363,7 +351,7 @@ func (db *Dashboard) collectData() { db.charts.DiskWrite = append(db.charts.DiskRead[1:], diskWrite) db.sendToAll(&Message{ - Home: &HomeMessage{ + System: &SystemMessage{ ActiveMemory: ChartEntries{activeMemory}, VirtualMemory: ChartEntries{virtualMemory}, NetworkIngress: ChartEntries{networkIngress}, |