diff --git a/pkg/meta/interface.go b/pkg/meta/interface.go index cee112e3bbbe09b5bc3839a18dec8b28200e184c..29e574fa1c74dc8718c2c3f1f4fbdc2aaf5939c5 100644 --- a/pkg/meta/interface.go +++ b/pkg/meta/interface.go @@ -167,6 +167,8 @@ type Session struct { // Meta is a interface for a meta service for file system. type Meta interface { + // Name of database + Name() string // Init is used to initialize a meta service. Init(format Format, force bool) error // Load loads the existing setting of a formatted volume from meta service. diff --git a/pkg/meta/redis.go b/pkg/meta/redis.go index 2407d1e405f11bc4a0782f25385d7ba7b679dc62..cc8402f44cfc667e4ad8481cde22e995f86b4efc 100644 --- a/pkg/meta/redis.go +++ b/pkg/meta/redis.go @@ -166,6 +166,10 @@ func newRedisMeta(url string, conf *Config) (Meta, error) { return m, nil } +func (r *redisMeta) Name() string { + return "redis" +} + func (r *redisMeta) Init(format Format, force bool) error { body, err := r.rdb.Get(Background, "setting").Bytes() if err != nil && err != redis.Nil { diff --git a/pkg/meta/sql.go b/pkg/meta/sql.go index b1c50ce93691764e6ebda656795335692b631c1c..e793d21530d220f6a907f5126b61f68a60c553af 100644 --- a/pkg/meta/sql.go +++ b/pkg/meta/sql.go @@ -183,6 +183,10 @@ func newSQLMeta(driver, dsn string, conf *Config) (*dbMeta, error) { return m, nil } +func (m *dbMeta) Name() string { + return m.engine.DriverName() +} + func (m *dbMeta) Init(format Format, force bool) error { if err := m.engine.Sync2(new(setting), new(counter)); err != nil { logger.Fatalf("create table setting, counter: %s", err) diff --git a/pkg/usage/usage.go b/pkg/usage/usage.go index 84866675d4a5b9d57c476dff18e198407c949307..61de08841c6d5190858402aed78ae31716b90d9f 100644 --- a/pkg/usage/usage.go +++ b/pkg/usage/usage.go @@ -39,6 +39,8 @@ type usage struct { UsedInodes int64 `json:"usedInodes"` Version string `json:"version"` Uptime int64 `json:"uptime"` + MetaEngine string `json:"metaEngine"` // type of meta engine + DataStore string `json:"dataStore"` // type of object store } func sendUsage(u usage) error { @@ -72,7 +74,9 @@ func ReportUsage(m meta.Meta, version string) { var u usage if format, err := m.Load(); err == nil { u.VolumeID = format.UUID + u.DataStore = format.Storage } + u.MetaEngine = m.Name() u.SessionID = int64(rand.Uint32()) u.Version = version var start = time.Now()