aboutsummaryrefslogtreecommitdiff
path: root/weed/server
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-10-13 23:10:49 -0700
committerchrislu <chris.lu@gmail.com>2022-10-13 23:10:49 -0700
commite05637c42cbb7519aa97c3b46a0305872fa6d11a (patch)
treee2ade7d0cac8c386c84f1c8ec41375bd905ee429 /weed/server
parentdcd0743a35912dfa559ae912e5208f15dd186386 (diff)
parenta5b867af69ff7be5e0f0944b2ee4275524d542e9 (diff)
downloadseaweedfs-e05637c42cbb7519aa97c3b46a0305872fa6d11a.tar.xz
seaweedfs-e05637c42cbb7519aa97c3b46a0305872fa6d11a.zip
Merge branch 'master' of https://github.com/seaweedfs/seaweedfs
Diffstat (limited to 'weed/server')
-rw-r--r--weed/server/volume_grpc_vacuum.go21
1 files changed, 17 insertions, 4 deletions
diff --git a/weed/server/volume_grpc_vacuum.go b/weed/server/volume_grpc_vacuum.go
index 5252584e1..296760ba6 100644
--- a/weed/server/volume_grpc_vacuum.go
+++ b/weed/server/volume_grpc_vacuum.go
@@ -2,6 +2,9 @@ package weed_server
import (
"context"
+ "github.com/seaweedfs/seaweedfs/weed/stats"
+ "strconv"
+ "time"
"github.com/prometheus/procfs"
"github.com/seaweedfs/seaweedfs/weed/glog"
@@ -29,6 +32,10 @@ func (vs *VolumeServer) VacuumVolumeCheck(ctx context.Context, req *volume_serve
}
func (vs *VolumeServer) VacuumVolumeCompact(req *volume_server_pb.VacuumVolumeCompactRequest, stream volume_server_pb.VolumeServer_VacuumVolumeCompactServer) error {
+ start := time.Now()
+ defer func(start time.Time) {
+ stats.VolumeServerVacuumingHistogram.WithLabelValues("compact").Observe(time.Since(start).Seconds())
+ }(start)
resp := &volume_server_pb.VacuumVolumeCompactResponse{}
reportInterval := int64(1024 * 1024 * 128)
@@ -51,12 +58,13 @@ func (vs *VolumeServer) VacuumVolumeCompact(req *volume_server_pb.VacuumVolumeCo
return true
})
+ stats.VolumeServerVacuumingCompactCounter.WithLabelValues(strconv.FormatBool(err == nil && sendErr == nil)).Inc()
if err != nil {
- glog.Errorf("compact volume %d: %v", req.VolumeId, err)
+ glog.Errorf("failed compact volume %d: %v", req.VolumeId, err)
return err
}
if sendErr != nil {
- glog.Errorf("compact volume %d report progress: %v", req.VolumeId, sendErr)
+ glog.Errorf("failed compact volume %d report progress: %v", req.VolumeId, sendErr)
return sendErr
}
@@ -66,16 +74,21 @@ func (vs *VolumeServer) VacuumVolumeCompact(req *volume_server_pb.VacuumVolumeCo
}
func (vs *VolumeServer) VacuumVolumeCommit(ctx context.Context, req *volume_server_pb.VacuumVolumeCommitRequest) (*volume_server_pb.VacuumVolumeCommitResponse, error) {
+ start := time.Now()
+ defer func(start time.Time) {
+ stats.VolumeServerVacuumingHistogram.WithLabelValues("commit").Observe(time.Since(start).Seconds())
+ }(start)
resp := &volume_server_pb.VacuumVolumeCommitResponse{}
readOnly, err := vs.store.CommitCompactVolume(needle.VolumeId(req.VolumeId))
if err != nil {
- glog.Errorf("commit volume %d: %v", req.VolumeId, err)
+ glog.Errorf("failed commit volume %d: %v", req.VolumeId, err)
} else {
glog.V(1).Infof("commit volume %d", req.VolumeId)
}
+ stats.VolumeServerVacuumingCommitCounter.WithLabelValues(strconv.FormatBool(err == nil)).Inc()
resp.IsReadOnly = readOnly
return resp, err
@@ -88,7 +101,7 @@ func (vs *VolumeServer) VacuumVolumeCleanup(ctx context.Context, req *volume_ser
err := vs.store.CommitCleanupVolume(needle.VolumeId(req.VolumeId))
if err != nil {
- glog.Errorf("cleanup volume %d: %v", req.VolumeId, err)
+ glog.Errorf("failed cleanup volume %d: %v", req.VolumeId, err)
} else {
glog.V(1).Infof("cleanup volume %d", req.VolumeId)
}