display remote volumes on volume server ui page

This commit is contained in:
Chris Lu
2019-12-02 23:23:54 -08:00
parent 70648d35ad
commit 1becbce657
7 changed files with 239 additions and 162 deletions

View File

@@ -8,6 +8,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
ui "github.com/chrislusf/seaweedfs/weed/server/volume_server_ui"
"github.com/chrislusf/seaweedfs/weed/stats"
"github.com/chrislusf/seaweedfs/weed/storage"
"github.com/chrislusf/seaweedfs/weed/util"
)
@@ -20,19 +21,30 @@ func (vs *VolumeServer) uiStatusHandler(w http.ResponseWriter, r *http.Request)
ds = append(ds, stats.NewDiskStatus(dir))
}
}
volumeInfos := vs.store.VolumeInfos()
var normalVolumeInfos, remoteVolumeInfos []*storage.VolumeInfo
for _, vinfo := range volumeInfos {
if vinfo.RemoteStorageName == "" {
normalVolumeInfos = append(normalVolumeInfos, vinfo)
} else {
remoteVolumeInfos = append(remoteVolumeInfos, vinfo)
}
}
args := struct {
Version string
Masters []string
Volumes interface{}
EcVolumes interface{}
DiskStatuses interface{}
Stats interface{}
Counters *stats.ServerStats
Version string
Masters []string
Volumes interface{}
EcVolumes interface{}
RemoteVolumes interface{}
DiskStatuses interface{}
Stats interface{}
Counters *stats.ServerStats
}{
util.VERSION,
vs.SeedMasterNodes,
vs.store.VolumeInfos(),
normalVolumeInfos,
vs.store.EcVolumes(),
remoteVolumeInfos,
ds,
infos,
serverStats,

View File

@@ -128,6 +128,36 @@ var StatusTpl = template.Must(template.New("status").Funcs(funcMap).Parse(`<!DOC
</table>
</div>
<div class="row">
<h2>Remote Volumes</h2>
<table class="table table-striped">
<thead>
<tr>
<th>Id</th>
<th>Collection</th>
<th>Size</th>
<th>Files</th>
<th>Trash</th>
<th>Remote</th>
<th>Key</th>
</tr>
</thead>
<tbody>
{{ range .RemoteVolumes }}
<tr>
<td><code>{{ .Id }}</code></td>
<td>{{ .Collection }}</td>
<td>{{ .Size }} Bytes</td>
<td>{{ .FileCount }}</td>
<td>{{ .DeleteCount }} / {{.DeletedByteCount}} Bytes</td>
<td>{{ .RemoteStorageName }}</td>
<td>{{ .RemoteStorageKey }}</td>
</tr>
{{ end }}
</tbody>
</table>
</div>
<div class="row">
<h2>Erasure Coding Shards</h2>
<table class="table table-striped">