Browse Source

count number of volumes and ec shards

pull/991/head
Chris Lu 6 years ago
parent
commit
289fd7eb39
  1. 9
      weed/stats/metrics.go
  2. 4
      weed/storage/erasure_coding/ec_shard.go
  3. 2
      weed/storage/volume.go
  4. 3
      weed/storage/volume_loading.go
  5. 2
      weed/storage/volume_vacuum.go

9
weed/stats/metrics.go

@ -55,6 +55,14 @@ var (
Name: "volumes",
Help: "Number of volumes.",
})
VolumeServerEcShardCounter = prometheus.NewGauge(
prometheus.GaugeOpts{
Namespace: "SeaweedFS",
Subsystem: "volumeServer",
Name: "ecShards",
Help: "Number of EC shards.",
})
)
func init() {
@ -65,6 +73,7 @@ func init() {
VolumeServerGather.MustRegister(VolumeServerRequestCounter)
VolumeServerGather.MustRegister(VolumeServerRequestHistogram)
VolumeServerGather.MustRegister(VolumeServerVolumeCounter)
VolumeServerGather.MustRegister(VolumeServerEcShardCounter)
}

4
weed/storage/erasure_coding/ec_shard.go

@ -6,6 +6,7 @@ import (
"path"
"strconv"
"github.com/chrislusf/seaweedfs/weed/stats"
"github.com/chrislusf/seaweedfs/weed/storage/needle"
)
@ -36,6 +37,8 @@ func NewEcVolumeShard(dirname string, collection string, id needle.VolumeId, sha
}
v.ecdFileSize = ecdFi.Size()
stats.VolumeServerEcShardCounter.Inc()
return
}
@ -78,6 +81,7 @@ func (shard *EcVolumeShard) Close() {
func (shard *EcVolumeShard) Destroy() {
os.Remove(shard.FileName() + ToExt(int(shard.ShardId)))
stats.VolumeServerEcShardCounter.Dec()
}
func (shard *EcVolumeShard) ReadAt(buf []byte, offset int64) (int, error) {

2
weed/storage/volume.go

@ -4,6 +4,7 @@ import (
"fmt"
"github.com/chrislusf/seaweedfs/weed/pb/master_pb"
"github.com/chrislusf/seaweedfs/weed/stats"
"github.com/chrislusf/seaweedfs/weed/storage/needle"
"os"
@ -102,6 +103,7 @@ func (v *Volume) Close() {
if v.dataFile != nil {
_ = v.dataFile.Close()
v.dataFile = nil
stats.VolumeServerVolumeCounter.Dec()
}
}

3
weed/storage/volume_loading.go

@ -5,6 +5,7 @@ import (
"os"
"time"
"github.com/chrislusf/seaweedfs/weed/stats"
"github.com/chrislusf/seaweedfs/weed/storage/needle"
"github.com/syndtr/goleveldb/leveldb/opt"
@ -116,6 +117,8 @@ func (v *Volume) load(alsoLoadIndex bool, createDatIfMissing bool, needleMapKind
}
}
stats.VolumeServerVolumeCounter.Inc()
return e
}

2
weed/storage/volume_vacuum.go

@ -6,6 +6,7 @@ import (
"time"
"github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/stats"
idx2 "github.com/chrislusf/seaweedfs/weed/storage/idx"
"github.com/chrislusf/seaweedfs/weed/storage/needle"
. "github.com/chrislusf/seaweedfs/weed/storage/types"
@ -52,6 +53,7 @@ func (v *Volume) CommitCompact() error {
glog.V(0).Infof("fail to close volume %d", v.Id)
}
v.dataFile = nil
stats.VolumeServerVolumeCounter.Dec()
var e error
if e = v.makeupDiff(v.FileName()+".cpd", v.FileName()+".cpx", v.FileName()+".dat", v.FileName()+".idx"); e != nil {

Loading…
Cancel
Save