From 0d41efe15425cbfc9d6d441c328d8483f5b566ec Mon Sep 17 00:00:00 2001 From: dragondriver Date: Sun, 26 Sep 2021 17:54:06 +0800 Subject: [PATCH] Expose created time and updated time to indexcoord metrics (#8591) Signed-off-by: dragondriver --- internal/indexcoord/index_coord.go | 3 +++ internal/indexcoord/metrics_info.go | 5 +++-- internal/indexcoord/param_table.go | 4 ++++ internal/indexcoord/param_table_test.go | 11 +++++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/internal/indexcoord/index_coord.go b/internal/indexcoord/index_coord.go index 0284041e96..ff66484d9f 100644 --- a/internal/indexcoord/index_coord.go +++ b/internal/indexcoord/index_coord.go @@ -250,6 +250,9 @@ func (i *IndexCoord) Start() error { cb() } + Params.CreatedTime = time.Now() + Params.UpdatedTime = time.Now() + i.UpdateStateCode(internalpb.StateCode_Healthy) log.Debug("IndexCoord start successfully", zap.Any("State", i.stateCode.Load())) diff --git a/internal/indexcoord/metrics_info.go b/internal/indexcoord/metrics_info.go index 7d80ab2013..63bcace2e1 100644 --- a/internal/indexcoord/metrics_info.go +++ b/internal/indexcoord/metrics_info.go @@ -50,8 +50,9 @@ func getSystemInfoMetrics( SystemVersion: os.Getenv(metricsinfo.GitCommitEnvKey), DeployMode: os.Getenv(metricsinfo.DeployModeEnvKey), }, - // TODO(dragondriver): CreatedTime & UpdatedTime, easy but time-costing - Type: typeutil.IndexCoordRole, + CreatedTime: Params.CreatedTime.String(), + UpdatedTime: Params.UpdatedTime.String(), + Type: typeutil.IndexCoordRole, }, SystemConfigurations: metricsinfo.IndexCoordConfiguration{ MinioBucketName: Params.MinioBucketName, diff --git a/internal/indexcoord/param_table.go b/internal/indexcoord/param_table.go index 34362a35ee..b90c678bf0 100644 --- a/internal/indexcoord/param_table.go +++ b/internal/indexcoord/param_table.go @@ -16,6 +16,7 @@ import ( "strconv" "strings" "sync" + "time" "github.com/milvus-io/milvus/internal/log" "github.com/milvus-io/milvus/internal/util/paramtable" @@ -37,6 +38,9 @@ type ParamTable struct { MinIOUseSSL bool MinioBucketName string + CreatedTime time.Time + UpdatedTime time.Time + Log log.Config } diff --git a/internal/indexcoord/param_table_test.go b/internal/indexcoord/param_table_test.go index adb95c3539..ed7570f76b 100644 --- a/internal/indexcoord/param_table_test.go +++ b/internal/indexcoord/param_table_test.go @@ -13,6 +13,7 @@ package indexcoord import ( "testing" + "time" ) func TestParamTable(t *testing.T) { @@ -57,6 +58,16 @@ func TestParamTable(t *testing.T) { t.Run("MinioBucketName", func(t *testing.T) { t.Logf("MinioBucketName: %v", Params.MinioBucketName) }) + + t.Run("CreatedTime", func(t *testing.T) { + Params.CreatedTime = time.Now() + t.Logf("CreatedTime: %v", Params.CreatedTime) + }) + + t.Run("UpdatedTime", func(t *testing.T) { + Params.UpdatedTime = time.Now() + t.Logf("UpdatedTime: %v", Params.UpdatedTime) + }) } //TODO: Params Load should be return error when key does not exist.