You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							58 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							58 lines
						
					
					
						
							1.4 KiB
						
					
					
				
								package weed_server
							 | 
						|
								
							 | 
						|
								import (
							 | 
						|
									"github.com/seaweedfs/seaweedfs/weed/util/version"
							 | 
						|
									"net/http"
							 | 
						|
									"time"
							 | 
						|
								
							 | 
						|
									hashicorpRaft "github.com/hashicorp/raft"
							 | 
						|
									"github.com/seaweedfs/raft"
							 | 
						|
								
							 | 
						|
									ui "github.com/seaweedfs/seaweedfs/weed/server/master_ui"
							 | 
						|
									"github.com/seaweedfs/seaweedfs/weed/stats"
							 | 
						|
								)
							 | 
						|
								
							 | 
						|
								func (ms *MasterServer) uiStatusHandler(w http.ResponseWriter, r *http.Request) {
							 | 
						|
									infos := make(map[string]interface{})
							 | 
						|
									infos["Up Time"] = time.Now().Sub(startTime).String()
							 | 
						|
									infos["Max Volume Id"] = ms.Topo.GetMaxVolumeId()
							 | 
						|
								
							 | 
						|
									ms.Topo.RaftServerAccessLock.RLock()
							 | 
						|
									defer ms.Topo.RaftServerAccessLock.RUnlock()
							 | 
						|
								
							 | 
						|
									if ms.Topo.RaftServer != nil {
							 | 
						|
										args := struct {
							 | 
						|
											Version           string
							 | 
						|
											Topology          interface{}
							 | 
						|
											RaftServer        raft.Server
							 | 
						|
											Stats             map[string]interface{}
							 | 
						|
											Counters          *stats.ServerStats
							 | 
						|
											VolumeSizeLimitMB uint32
							 | 
						|
										}{
							 | 
						|
											version.Version(),
							 | 
						|
											ms.Topo.ToInfo(),
							 | 
						|
											ms.Topo.RaftServer,
							 | 
						|
											infos,
							 | 
						|
											serverStats,
							 | 
						|
											ms.option.VolumeSizeLimitMB,
							 | 
						|
										}
							 | 
						|
										ui.StatusTpl.Execute(w, args)
							 | 
						|
									} else if ms.Topo.HashicorpRaft != nil {
							 | 
						|
										args := struct {
							 | 
						|
											Version           string
							 | 
						|
											Topology          interface{}
							 | 
						|
											RaftServer        *hashicorpRaft.Raft
							 | 
						|
											Stats             map[string]interface{}
							 | 
						|
											Counters          *stats.ServerStats
							 | 
						|
											VolumeSizeLimitMB uint32
							 | 
						|
										}{
							 | 
						|
											version.Version(),
							 | 
						|
											ms.Topo.ToInfo(),
							 | 
						|
											ms.Topo.HashicorpRaft,
							 | 
						|
											infos,
							 | 
						|
											serverStats,
							 | 
						|
											ms.option.VolumeSizeLimitMB,
							 | 
						|
										}
							 | 
						|
										ui.StatusNewRaftTpl.Execute(w, args)
							 | 
						|
									}
							 | 
						|
								}
							 |