| 691 | } |
| 692 | |
| 693 | func (c *HATracker) CleanupHATrackerMetricsForUser(userID string) { |
| 694 | filter := map[string]string{"user": userID} |
| 695 | |
| 696 | if err := util.DeleteMatchingLabels(c.electedReplicaChanges, filter); err != nil { |
| 697 | level.Warn(c.logger).Log("msg", "failed to remove cortex_ha_tracker_elected_replica_changes_total metric for user", "user", userID, "err", err) |
| 698 | } |
| 699 | if err := util.DeleteMatchingLabels(c.electedReplicaTimestamp, filter); err != nil { |
| 700 | level.Warn(c.logger).Log("msg", "failed to remove cortex_ha_tracker_elected_replica_timestamp_seconds metric for user", "user", userID, "err", err) |
| 701 | } |
| 702 | if err := util.DeleteMatchingLabels(c.kvCASCalls, filter); err != nil { |
| 703 | level.Warn(c.logger).Log("msg", "failed to remove cortex_ha_tracker_kv_store_cas_total metric for user", "user", userID, "err", err) |
| 704 | } |
| 705 | if err := util.DeleteMatchingLabels(c.userReplicaGroupCount, filter); err != nil { |
| 706 | level.Warn(c.logger).Log("msg", "failed to remove cortex_ha_tracker_user_replica_group_count metric for user", "user", userID, "err", err) |
| 707 | } |
| 708 | } |
| 709 | |
| 710 | // Returns a snapshot of the currently elected replicas. Useful for status display |
| 711 | func (c *HATracker) SnapshotElectedReplicas() map[string]ReplicaDesc { |