From f95107fea03343b70d51aaf69655ae2f0038df66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kurk=C3=B3=20Mih=C3=A1ly?= Date: Tue, 23 Jan 2018 16:56:32 +0200 Subject: [PATCH] dashboard: rename variables, use group declaration --- dashboard/assets.go | 30 ++-- dashboard/assets/components/Dashboard.jsx | 32 ++-- dashboard/assets/components/Footer.jsx | 8 +- dashboard/assets/types/content.jsx | 8 +- dashboard/dashboard.go | 169 +++++++++++----------- dashboard/message.go | 16 +- 6 files changed, 133 insertions(+), 130 deletions(-) diff --git a/dashboard/assets.go b/dashboard/assets.go index 682e112659..8337cf080d 100644 --- a/dashboard/assets.go +++ b/dashboard/assets.go @@ -26509,12 +26509,12 @@ var _bundleJs = []byte((((((((((`!function(modules) { home: { activeMemory: [], virtualMemory: [], - ingress: [], - egress: [], + networkIngress: [], + networkEgress: [], processCPU: [], systemCPU: [], - read: [], - write: [] + diskRead: [], + diskWrite: [] }, chain: {}, txpool: {}, @@ -26531,12 +26531,12 @@ var _bundleJs = []byte((((((((((`!function(modules) { home: { activeMemory: appender(200), virtualMemory: appender(200), - ingress: appender(200), - egress: appender(200), + networkIngress: appender(200), + networkEgress: appender(200), processCPU: appender(200), systemCPU: appender(200), - read: appender(200), - write: appender(200) + diskRead: appender(200), + diskWrite: appender(200) }, chain: null, txpool: null, @@ -31303,16 +31303,16 @@ var _bundleJs = []byte((((((((((`!function(modules) { data: home.virtualMemory, tooltip: (0, _CustomTooltip.bytePlotter)("Virtual", (0, _CustomTooltip.multiplier)(-1)) }), this.doubleChart("all", { - data: home.read, - tooltip: (0, _CustomTooltip.bytePerSecPlotter)("Read") + data: home.diskRead, + tooltip: (0, _CustomTooltip.bytePerSecPlotter)("Disk Read") }, { - data: home.write, - tooltip: (0, _CustomTooltip.bytePerSecPlotter)("Write", (0, _CustomTooltip.multiplier)(-1)) + data: home.diskWrite, + tooltip: (0, _CustomTooltip.bytePerSecPlotter)("Disk Write", (0, _CustomTooltip.multiplier)(-1)) }), this.doubleChart("all", { - data: home.ingress, + data: home.networkIngress, tooltip: (0, _CustomTooltip.bytePerSecPlotter)("Download") }, { - data: home.egress, + data: home.networkEgress, tooltip: (0, _CustomTooltip.bytePerSecPlotter)("Upload", (0, _CustomTooltip.multiplier)(-1)) }))), _react2.default.createElement(_Grid2.default, { item: !0 @@ -38400,7 +38400,7 @@ func bundleJs() (*asset, error) { } info := bindataFileInfo{name: "bundle.js", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2d, 0x78, 0x89, 0xa1, 0x7d, 0x2e, 0xa5, 0xe0, 0xc, 0x68, 0x80, 0x26, 0x5, 0xa7, 0x37, 0x59, 0x73, 0xe6, 0xf2, 0xeb, 0x42, 0x9, 0xb6, 0x84, 0x1, 0x69, 0xb7, 0x23, 0x67, 0x42, 0x97, 0xa5}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x90, 0x71, 0xbf, 0x69, 0x84, 0xe8, 0x63, 0x9a, 0x6c, 0x14, 0x49, 0xbd, 0x8b, 0x72, 0x2b, 0xe2, 0xd7, 0xdf, 0x49, 0x80, 0xea, 0x49, 0x2e, 0x7d, 0x4f, 0x23, 0x6b, 0xef, 0xcd, 0xc4, 0xdb}} return a, nil } diff --git a/dashboard/assets/components/Dashboard.jsx b/dashboard/assets/components/Dashboard.jsx index 08860657a5..90b1a785c7 100644 --- a/dashboard/assets/components/Dashboard.jsx +++ b/dashboard/assets/components/Dashboard.jsx @@ -82,14 +82,14 @@ const defaultContent: Content = { commit: null, }, home: { - activeMemory: [], - virtualMemory: [], - ingress: [], - egress: [], - processCPU: [], - systemCPU: [], - read: [], - write: [], + activeMemory: [], + virtualMemory: [], + networkIngress: [], + networkEgress: [], + processCPU: [], + systemCPU: [], + diskRead: [], + diskWrite: [], }, chain: {}, txpool: {}, @@ -109,14 +109,14 @@ const updaters = { commit: replacer, }, home: { - activeMemory: appender(200), - virtualMemory: appender(200), - ingress: appender(200), - egress: appender(200), - processCPU: appender(200), - systemCPU: appender(200), - read: appender(200), - write: appender(200), + activeMemory: appender(200), + virtualMemory: appender(200), + networkIngress: appender(200), + networkEgress: appender(200), + processCPU: appender(200), + systemCPU: appender(200), + diskRead: appender(200), + diskWrite: appender(200), }, chain: null, txpool: null, diff --git a/dashboard/assets/components/Footer.jsx b/dashboard/assets/components/Footer.jsx index d19e57bff9..54b67c4641 100644 --- a/dashboard/assets/components/Footer.jsx +++ b/dashboard/assets/components/Footer.jsx @@ -151,13 +151,13 @@ class Footer extends Component { )} {this.doubleChart( 'all', - {data: home.read, tooltip: bytePerSecPlotter('Read')}, - {data: home.write, tooltip: bytePerSecPlotter('Write', multiplier(-1))}, + {data: home.diskRead, tooltip: bytePerSecPlotter('Disk Read')}, + {data: home.diskWrite, tooltip: bytePerSecPlotter('Disk Write', multiplier(-1))}, )} {this.doubleChart( 'all', - {data: home.ingress, tooltip: bytePerSecPlotter('Download')}, - {data: home.egress, tooltip: bytePerSecPlotter('Upload', multiplier(-1))}, + {data: home.networkIngress, tooltip: bytePerSecPlotter('Download')}, + {data: home.networkEgress, tooltip: bytePerSecPlotter('Upload', multiplier(-1))}, )} diff --git a/dashboard/assets/types/content.jsx b/dashboard/assets/types/content.jsx index 684ccefcd5..5461253974 100644 --- a/dashboard/assets/types/content.jsx +++ b/dashboard/assets/types/content.jsx @@ -34,12 +34,12 @@ export type General = { export type Home = { activeMemory: ChartEntries, virtualMemory: ChartEntries, - ingress: ChartEntries, - egress: ChartEntries, + networkIngress: ChartEntries, + networkEgress: ChartEntries, processCPU: ChartEntries, systemCPU: ChartEntries, - read: ChartEntries, - write: ChartEntries, + diskRead: ChartEntries, + diskWrite: ChartEntries, }; export type ChartEntries = Array; diff --git a/dashboard/dashboard.go b/dashboard/dashboard.go index 7b8e26062f..d35c0dafab 100644 --- a/dashboard/dashboard.go +++ b/dashboard/dashboard.go @@ -44,14 +44,14 @@ import ( ) const ( - activeMemorySampleLimit = 200 // Maximum number of active memory data samples - virtualMemorySampleLimit = 200 // Maximum number of virtual memory data samples - ingressSampleLimit = 200 // Maximum number of ingress data samples - egressSampleLimit = 200 // Maximum number of egress data samples - processCPUSampleLimit = 200 // Maximum number of process cpu data samples - systemCPUSampleLimit = 200 // Maximum number of system cpu data samples - readSampleLimit = 200 // Maximum number of read data samples - writeSampleLimit = 200 // Maximum number of write data samples + activeMemorySampleLimit = 200 // Maximum number of active memory data samples + virtualMemorySampleLimit = 200 // Maximum number of virtual memory data samples + networkIngressSampleLimit = 200 // Maximum number of network ingress data samples + networkEgressSampleLimit = 200 // Maximum number of network egress data samples + processCPUSampleLimit = 200 // Maximum number of process cpu data samples + systemCPUSampleLimit = 200 // Maximum number of system cpu data samples + diskReadSampleLimit = 200 // Maximum number of disk read data samples + diskWriteSampleLimit = 200 // Maximum number of disk write data samples ) var nextID uint32 // Next connection id @@ -79,30 +79,31 @@ type client struct { // New creates a new dashboard instance with the given configuration. func New(config *Config, commit string) (*Dashboard, error) { + now := time.Now() db := &Dashboard{ conns: make(map[uint32]*client), config: config, quit: make(chan chan error), - charts: new(HomeMessage), + charts: &HomeMessage{ + ActiveMemory: emptyChartEntries(now, activeMemorySampleLimit, config.Refresh), + VirtualMemory: emptyChartEntries(now, virtualMemorySampleLimit, config.Refresh), + NetworkIngress: emptyChartEntries(now, networkIngressSampleLimit, config.Refresh), + NetworkEgress: emptyChartEntries(now, networkEgressSampleLimit, config.Refresh), + ProcessCPU: emptyChartEntries(now, processCPUSampleLimit, config.Refresh), + SystemCPU: emptyChartEntries(now, systemCPUSampleLimit, config.Refresh), + DiskRead: emptyChartEntries(now, diskReadSampleLimit, config.Refresh), + DiskWrite: emptyChartEntries(now, diskWriteSampleLimit, config.Refresh), + }, commit: commit, } - now := time.Now() - db.charts.ActiveMemory = db.emptyChartEntries(now, activeMemorySampleLimit) - db.charts.VirtualMemory = db.emptyChartEntries(now, virtualMemorySampleLimit) - db.charts.Ingress = db.emptyChartEntries(now, ingressSampleLimit) - db.charts.Egress = db.emptyChartEntries(now, egressSampleLimit) - db.charts.ProcessCPU = db.emptyChartEntries(now, processCPUSampleLimit) - db.charts.SystemCPU = db.emptyChartEntries(now, systemCPUSampleLimit) - db.charts.Read = db.emptyChartEntries(now, readSampleLimit) - db.charts.Write = db.emptyChartEntries(now, writeSampleLimit) return db, nil } -func (db *Dashboard) emptyChartEntries(t time.Time, limit int) ChartEntries { +func emptyChartEntries(t time.Time, limit int, refresh time.Duration) ChartEntries { ce := make(ChartEntries, limit) for i := 0; i < limit; i++ { ce[i] = &ChartEntry{ - Time: t.Add(-time.Duration(i) * db.config.Refresh), + Time: t.Add(-time.Duration(i) * refresh), } } return ce @@ -240,14 +241,14 @@ func (db *Dashboard) apiHandler(conn *websocket.Conn) { Commit: db.commit, }, Home: &HomeMessage{ - ActiveMemory: db.charts.ActiveMemory, - VirtualMemory: db.charts.VirtualMemory, - Ingress: db.charts.Ingress, - Egress: db.charts.Egress, - ProcessCPU: db.charts.ProcessCPU, - SystemCPU: db.charts.SystemCPU, - Read: db.charts.Read, - Write: db.charts.Write, + ActiveMemory: db.charts.ActiveMemory, + VirtualMemory: db.charts.VirtualMemory, + NetworkIngress: db.charts.NetworkIngress, + NetworkEgress: db.charts.NetworkEgress, + ProcessCPU: db.charts.ProcessCPU, + SystemCPU: db.charts.SystemCPU, + DiskRead: db.charts.DiskRead, + DiskWrite: db.charts.DiskWrite, }, } // Start tracking the connection and drop at connection loss. @@ -272,17 +273,19 @@ func (db *Dashboard) apiHandler(conn *websocket.Conn) { // collectData collects the required data to plot on the dashboard. func (db *Dashboard) collectData() { defer db.wg.Done() - - prevIn := metrics.DefaultRegistry.Get("p2p/InboundTraffic").(metrics.Meter).Count() - prevOut := metrics.DefaultRegistry.Get("p2p/OutboundTraffic").(metrics.Meter).Count() - prevProcessCPUTime := getProcessCPUTime() systemCPUUsage := gosigar.Cpu{} systemCPUUsage.Get() - prevRead := metrics.DefaultRegistry.Get("eth/db/chaindata/compact/input").(metrics.Meter).Count() - prevWrite := metrics.DefaultRegistry.Get("eth/db/chaindata/compact/output").(metrics.Meter).Count() + var ( + prevNetworkIngress = metrics.DefaultRegistry.Get("p2p/InboundTraffic").(metrics.Meter).Count() + prevNetworkEgress = metrics.DefaultRegistry.Get("p2p/OutboundTraffic").(metrics.Meter).Count() + prevProcessCPUTime = getProcessCPUTime() + prevSystemCPUUsage = systemCPUUsage + prevDiskRead = metrics.DefaultRegistry.Get("eth/db/chaindata/compact/input").(metrics.Meter).Count() + prevDiskWrite = metrics.DefaultRegistry.Get("eth/db/chaindata/compact/output").(metrics.Meter).Count() - frequency := float64(db.config.Refresh / time.Second) - numCPU := float64(runtime.NumCPU()) + frequency = float64(db.config.Refresh / time.Second) + numCPU = float64(runtime.NumCPU()) + ) for { select { @@ -290,34 +293,34 @@ func (db *Dashboard) collectData() { errc <- nil return case <-time.After(db.config.Refresh): - var mem runtime.MemStats - runtime.ReadMemStats(&mem) - - curIn := metrics.DefaultRegistry.Get("p2p/InboundTraffic").(metrics.Meter).Count() - inboundTraffic := float64(curIn - prevIn) - prevIn = curIn - - curOut := metrics.DefaultRegistry.Get("p2p/OutboundTraffic").(metrics.Meter).Count() - outboundTraffic := float64(curOut - prevOut) - prevOut = curOut - - curProcessCPUTime := getProcessCPUTime() - processCPUTime := curProcessCPUTime - prevProcessCPUTime - prevProcessCPUTime = curProcessCPUTime - - prevSystemCPUUsage := systemCPUUsage systemCPUUsage.Get() - deltaCPU := systemCPUUsage.Delta(prevSystemCPUUsage) - - curRead := metrics.DefaultRegistry.Get("eth/db/chaindata/compact/input").(metrics.Meter).Count() - deltaRead := curRead - prevRead - prevRead = curRead - - curWrite := metrics.DefaultRegistry.Get("eth/db/chaindata/compact/output").(metrics.Meter).Count() - deltaWrite := curWrite - prevWrite - prevWrite = curWrite + var ( + curNetworkIngress = metrics.DefaultRegistry.Get("p2p/InboundTraffic").(metrics.Meter).Count() + curNetworkEgress = metrics.DefaultRegistry.Get("p2p/OutboundTraffic").(metrics.Meter).Count() + curProcessCPUTime = getProcessCPUTime() + curSystemCPUUsage = systemCPUUsage + curDiskRead = metrics.DefaultRegistry.Get("eth/db/chaindata/compact/input").(metrics.Meter).Count() + curDiskWrite = metrics.DefaultRegistry.Get("eth/db/chaindata/compact/output").(metrics.Meter).Count() + ) + var ( + deltaNetworkIngress = float64(curNetworkIngress - prevNetworkIngress) + deltaNetworkEgress = float64(curNetworkEgress - prevNetworkEgress) + deltaProcessCPUTime = curProcessCPUTime - prevProcessCPUTime + deltaSystemCPUUsage = systemCPUUsage.Delta(prevSystemCPUUsage) + deltaDiskRead = curDiskRead - prevDiskRead + deltaDiskWrite = curDiskWrite - prevDiskWrite + ) + prevNetworkIngress = curNetworkIngress + prevNetworkEgress = curNetworkEgress + prevProcessCPUTime = curProcessCPUTime + prevSystemCPUUsage = curSystemCPUUsage + prevDiskRead = curDiskRead + prevDiskWrite = curDiskWrite now := time.Now() + + var mem runtime.MemStats + runtime.ReadMemStats(&mem) activeMemory := &ChartEntry{ Time: now, Value: float64(mem.Alloc) / frequency, @@ -326,49 +329,49 @@ func (db *Dashboard) collectData() { Time: now, Value: float64(mem.Sys) / frequency, } - ingress := &ChartEntry{ + networkIngress := &ChartEntry{ Time: now, - Value: inboundTraffic / frequency, + Value: deltaNetworkIngress / frequency, } - egress := &ChartEntry{ + networkEgress := &ChartEntry{ Time: now, - Value: outboundTraffic / frequency, + Value: deltaNetworkEgress / frequency, } processCPU := &ChartEntry{ Time: now, - Value: processCPUTime / frequency / numCPU * 100, + Value: deltaProcessCPUTime / frequency / numCPU * 100, } systemCPU := &ChartEntry{ Time: now, - Value: float64(deltaCPU.Sys+deltaCPU.User) / frequency / numCPU, + Value: float64(deltaSystemCPUUsage.Sys+deltaSystemCPUUsage.User) / frequency / numCPU, } - read := &ChartEntry{ + diskRead := &ChartEntry{ Time: now, - Value: float64(deltaRead) / frequency, + Value: float64(deltaDiskRead) / frequency, } - write := &ChartEntry{ + diskWrite := &ChartEntry{ Time: now, - Value: float64(deltaWrite) / frequency, + Value: float64(deltaDiskWrite) / frequency, } db.charts.ActiveMemory = append(db.charts.ActiveMemory[1:], activeMemory) db.charts.VirtualMemory = append(db.charts.VirtualMemory[1:], virtualMemory) - db.charts.Ingress = append(db.charts.Ingress[1:], ingress) - db.charts.Egress = append(db.charts.Egress[1:], egress) + db.charts.NetworkIngress = append(db.charts.NetworkIngress[1:], networkIngress) + db.charts.NetworkEgress = append(db.charts.NetworkEgress[1:], networkEgress) db.charts.ProcessCPU = append(db.charts.ProcessCPU[1:], processCPU) db.charts.SystemCPU = append(db.charts.SystemCPU[1:], systemCPU) - db.charts.Read = append(db.charts.Read[1:], read) - db.charts.Write = append(db.charts.Read[1:], write) + db.charts.DiskRead = append(db.charts.DiskRead[1:], diskRead) + db.charts.DiskWrite = append(db.charts.DiskRead[1:], diskWrite) db.sendToAll(&Message{ Home: &HomeMessage{ - ActiveMemory: ChartEntries{activeMemory}, - VirtualMemory: ChartEntries{virtualMemory}, - Ingress: ChartEntries{ingress}, - Egress: ChartEntries{egress}, - ProcessCPU: ChartEntries{processCPU}, - SystemCPU: ChartEntries{systemCPU}, - Read: ChartEntries{read}, - Write: ChartEntries{write}, + ActiveMemory: ChartEntries{activeMemory}, + VirtualMemory: ChartEntries{virtualMemory}, + NetworkIngress: ChartEntries{networkIngress}, + NetworkEgress: ChartEntries{networkEgress}, + ProcessCPU: ChartEntries{processCPU}, + SystemCPU: ChartEntries{systemCPU}, + DiskRead: ChartEntries{diskRead}, + DiskWrite: ChartEntries{diskWrite}, }, }) } diff --git a/dashboard/message.go b/dashboard/message.go index 6e611c7cfa..f0d4280e86 100644 --- a/dashboard/message.go +++ b/dashboard/message.go @@ -34,14 +34,14 @@ type GeneralMessage struct { } type HomeMessage struct { - ActiveMemory ChartEntries `json:"activeMemory,omitempty"` - VirtualMemory ChartEntries `json:"virtualMemory,omitempty"` - Ingress ChartEntries `json:"ingress,omitempty"` - Egress ChartEntries `json:"egress,omitempty"` - ProcessCPU ChartEntries `json:"processCPU,omitempty"` - SystemCPU ChartEntries `json:"systemCPU,omitempty"` - Read ChartEntries `json:"read,omitempty"` - Write ChartEntries `json:"write,omitempty"` + ActiveMemory ChartEntries `json:"activeMemory,omitempty"` + VirtualMemory ChartEntries `json:"virtualMemory,omitempty"` + NetworkIngress ChartEntries `json:"networkIngress,omitempty"` + NetworkEgress ChartEntries `json:"networkEgress,omitempty"` + ProcessCPU ChartEntries `json:"processCPU,omitempty"` + SystemCPU ChartEntries `json:"systemCPU,omitempty"` + DiskRead ChartEntries `json:"diskRead,omitempty"` + DiskWrite ChartEntries `json:"diskWrite,omitempty"` } type ChartEntries []*ChartEntry