From 90935434c5fd49a2c9d53017d8e6ed4b37ae2ea5 Mon Sep 17 00:00:00 2001 From: Dustin Decker Date: Thu, 23 Apr 2020 17:29:42 -0700 Subject: [PATCH] Add identity num_entities gauge metric (#8816) Signed-off-by: Dustin Decker --- vault/core.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/vault/core.go b/vault/core.go index 195d7dde9e0b2..e67ead4b97b1b 100644 --- a/vault/core.go +++ b/vault/core.go @@ -2069,6 +2069,7 @@ func stopReplicationImpl(c *Core) error { func (c *Core) emitMetrics(stopCh chan struct{}) { emitTimer := time.Tick(time.Second) writeTimer := time.Tick(c.counters.syncInterval) + identityCountTimer := time.Tick(time.Minute * 10) for { select { @@ -2094,6 +2095,17 @@ func (c *Core) emitMetrics(stopCh chan struct{}) { } } c.stateLock.RUnlock() + case <-identityCountTimer: + go func() { + ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) + defer cancel() + entities, err := c.countActiveEntities(ctx) + if err != nil { + c.logger.Error("error counting identity entities", "err", err) + } else { + metrics.SetGauge([]string{"identity", "num_entities"}, float32(entities.Entities.Total)) + } + }() case <-stopCh: return