mirror of
https://github.com/minio/minio.git
synced 2025-01-11 23:13:23 -05:00
Add initial usage in GetBucketReplicationMetrics API (#11985)
This commit is contained in:
parent
4248b1bf6b
commit
40409437cd
@ -1636,7 +1636,7 @@ func (api objectAPIHandlers) GetBucketReplicationMetricsHandler(w http.ResponseW
|
|||||||
|
|
||||||
bucketStats := globalNotificationSys.GetClusterBucketStats(r.Context(), bucket)
|
bucketStats := globalNotificationSys.GetClusterBucketStats(r.Context(), bucket)
|
||||||
bucketReplStats := BucketReplicationStats{}
|
bucketReplStats := BucketReplicationStats{}
|
||||||
|
// sum up metrics from each node in the cluster
|
||||||
for _, bucketStat := range bucketStats {
|
for _, bucketStat := range bucketStats {
|
||||||
bucketReplStats.FailedCount += bucketStat.ReplicationStats.FailedCount
|
bucketReplStats.FailedCount += bucketStat.ReplicationStats.FailedCount
|
||||||
bucketReplStats.FailedSize += bucketStat.ReplicationStats.FailedSize
|
bucketReplStats.FailedSize += bucketStat.ReplicationStats.FailedSize
|
||||||
@ -1645,6 +1645,14 @@ func (api objectAPIHandlers) GetBucketReplicationMetricsHandler(w http.ResponseW
|
|||||||
bucketReplStats.ReplicaSize += bucketStat.ReplicationStats.ReplicaSize
|
bucketReplStats.ReplicaSize += bucketStat.ReplicationStats.ReplicaSize
|
||||||
bucketReplStats.ReplicatedSize += bucketStat.ReplicationStats.ReplicatedSize
|
bucketReplStats.ReplicatedSize += bucketStat.ReplicationStats.ReplicatedSize
|
||||||
}
|
}
|
||||||
|
// add initial usage from the time of cluster up
|
||||||
|
usageStat := globalReplicationStats.GetInitialUsage(bucket)
|
||||||
|
bucketReplStats.FailedCount += usageStat.FailedCount
|
||||||
|
bucketReplStats.FailedSize += usageStat.FailedSize
|
||||||
|
bucketReplStats.PendingCount += usageStat.PendingCount
|
||||||
|
bucketReplStats.PendingSize += usageStat.PendingSize
|
||||||
|
bucketReplStats.ReplicaSize += usageStat.ReplicaSize
|
||||||
|
bucketReplStats.ReplicatedSize += usageStat.ReplicatedSize
|
||||||
|
|
||||||
if err := json.NewEncoder(w).Encode(&bucketReplStats); err != nil {
|
if err := json.NewEncoder(w).Encode(&bucketReplStats); err != nil {
|
||||||
writeErrorResponse(ctx, w, toAPIError(ctx, err), r.URL, guessIsBrowserReq(r))
|
writeErrorResponse(ctx, w, toAPIError(ctx, err), r.URL, guessIsBrowserReq(r))
|
||||||
|
@ -110,7 +110,7 @@ func (r *ReplicationStats) Update(bucket string, n int64, status, prevStatus rep
|
|||||||
r.Unlock()
|
r.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetInitialUsage gets initial usage from the time of cluster initialization
|
// GetInitialUsage get replication metrics available at the time of cluster initialization
|
||||||
func (r *ReplicationStats) GetInitialUsage(bucket string) BucketReplicationStats {
|
func (r *ReplicationStats) GetInitialUsage(bucket string) BucketReplicationStats {
|
||||||
if r == nil {
|
if r == nil {
|
||||||
return BucketReplicationStats{}
|
return BucketReplicationStats{}
|
||||||
@ -133,7 +133,7 @@ func (r *ReplicationStats) GetInitialUsage(bucket string) BucketReplicationStats
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get total bytes pending replication for a bucket
|
// Get replication metrics for a bucket from this node since this node came up.
|
||||||
func (r *ReplicationStats) Get(bucket string) BucketReplicationStats {
|
func (r *ReplicationStats) Get(bucket string) BucketReplicationStats {
|
||||||
if r == nil {
|
if r == nil {
|
||||||
return BucketReplicationStats{}
|
return BucketReplicationStats{}
|
||||||
|
Loading…
Reference in New Issue
Block a user