diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2020-02-23 17:57:22 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-23 17:57:22 -0800 |
| commit | 5de03888916b748ed2c3a57274279c10941a3037 (patch) | |
| tree | cc86b756232c64d4d152ba4864d75de38d85e226 | |
| parent | 6ea394b802f1bb52a07a91614e51185aea2281dd (diff) | |
| parent | cd4c9a365bb415573b52624a29d09083b956b484 (diff) | |
| download | seaweedfs-5de03888916b748ed2c3a57274279c10941a3037.tar.xz seaweedfs-5de03888916b748ed2c3a57274279c10941a3037.zip | |
Merge pull request #1206 from LazyDBA247-Anyvision/master
DiskStats: adding Total & Percent Usage
| -rw-r--r-- | weed/server/volume_server_ui/templates.go | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/weed/server/volume_server_ui/templates.go b/weed/server/volume_server_ui/templates.go index 81496b1de..a2d1dd5bf 100644 --- a/weed/server/volume_server_ui/templates.go +++ b/weed/server/volume_server_ui/templates.go @@ -1,11 +1,29 @@ package master_ui import ( + "fmt" "html/template" "strconv" "strings" ) +func bytesToHumanReadble(b uint64) string { + const unit = 1024 + if b < unit { + return fmt.Sprintf("%d B", b) + } + div, exp := uint64(unit), 0 + for n := b / unit; n >= unit; n /= unit { + div *= unit + exp++ + } + return fmt.Sprintf("%.2f %ciB", float64(b)/float64(div), "KMGTPE"[exp]) +} + +func percentFrom(total uint64, part_of uint64) string { + return fmt.Sprintf("%.2f", (float64(part_of)/float64(total))*100) +} + func join(data []int64) string { var ret []string for _, d := range data { @@ -15,7 +33,9 @@ func join(data []int64) string { } var funcMap = template.FuncMap{ - "join": join, + "join": join, + "bytesToHumanReadble": bytesToHumanReadble, + "percentFrom": percentFrom, } var StatusTpl = template.Must(template.New("status").Funcs(funcMap).Parse(`<!DOCTYPE html> @@ -57,13 +77,25 @@ var StatusTpl = template.Must(template.New("status").Funcs(funcMap).Parse(`<!DOC <div class="row"> <div class="col-sm-6"> <h2>Disk Stats</h2> - <table class="table table-condensed table-striped"> + <table class="table table-striped"> + <thead> + <tr> + <th>Path</th> + <th>Total</th> + <th>Free</th> + <th>% Usage</th> + </tr> + </thead> + <tbody> {{ range .DiskStatuses }} <tr> - <th>{{ .Dir }}</th> - <td>{{ .Free }} Bytes Free</td> + <td>{{ .Dir }}</td> + <td>{{ bytesToHumanReadble .All }}</td> + <td>{{ bytesToHumanReadble .Used }}</td> + <td>{{ percentFrom .All .Used}}</td> </tr> {{ end }} + </tbody> </table> </div> |
