diff options
Diffstat (limited to 'dashboard/message.go')
-rw-r--r-- | dashboard/message.go | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/dashboard/message.go b/dashboard/message.go new file mode 100644 index 000000000..f0d4280e8 --- /dev/null +++ b/dashboard/message.go @@ -0,0 +1,72 @@ +// Copyright 2017 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. + +package dashboard + +import "time" + +type Message struct { + General *GeneralMessage `json:"general,omitempty"` + Home *HomeMessage `json:"home,omitempty"` + Chain *ChainMessage `json:"chain,omitempty"` + TxPool *TxPoolMessage `json:"txpool,omitempty"` + Network *NetworkMessage `json:"network,omitempty"` + System *SystemMessage `json:"system,omitempty"` + Logs *LogsMessage `json:"logs,omitempty"` +} + +type GeneralMessage struct { + Version string `json:"version,omitempty"` + Commit string `json:"commit,omitempty"` +} + +type HomeMessage struct { + 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 + +type ChartEntry struct { + Time time.Time `json:"time,omitempty"` + Value float64 `json:"value,omitempty"` +} + +type ChainMessage struct { + /* TODO (kurkomisi) */ +} + +type TxPoolMessage struct { + /* TODO (kurkomisi) */ +} + +type NetworkMessage struct { + /* TODO (kurkomisi) */ +} + +type SystemMessage struct { + /* TODO (kurkomisi) */ +} + +type LogsMessage struct { + Log []string `json:"log,omitempty"` +} |