diff --git a/changelog/23.0/23.0.0/summary.md b/changelog/23.0/23.0.0/summary.md
index d8cd8f8a2c7..0b8c1b9bb2e 100644
--- a/changelog/23.0/23.0.0/summary.md
+++ b/changelog/23.0/23.0.0/summary.md
@@ -3,6 +3,8 @@
### Table of Contents
- **[Minor Changes](#minor-changes)**
+ - **[Deprecations](#deprecations)**
+ - [Metrics](#deprecated-metrics)
- **[Deletions](#deletions)**
- [Metrics](#deleted-metrics)
- **[New Metrics](#new-metrics)**
@@ -17,6 +19,14 @@
## Minor Changes
+### Deprecations
+
+#### Metrics
+
+| Component | Metric Name | Notes | Deprecation PR |
+|:---------:|:-------------------------:|:--------------------------------------:|:-------------------------------------------------------:|
+| `vtorc` | `DiscoverInstanceTimings` | Replaced by `DiscoveryInstanceTimings` | [#18406](https://github.com/vitessio/vitess/pull/18406) |
+
### Deletions
#### Metrics
diff --git a/go/test/endtoend/vtorc/api/api_test.go b/go/test/endtoend/vtorc/api/api_test.go
index 22091e5cce5..b4f1ca70b40 100644
--- a/go/test/endtoend/vtorc/api/api_test.go
+++ b/go/test/endtoend/vtorc/api/api_test.go
@@ -110,24 +110,49 @@ func TestAPIEndpoints(t *testing.T) {
t.Run("Check Vars and Metrics", func(t *testing.T) {
utils.CheckVarExists(t, vtorc, "AnalysisChangeWrite")
utils.CheckVarExists(t, vtorc, "AuditWrite")
+ utils.CheckVarExists(t, vtorc, "CurrentErrantGTIDCount")
+ utils.CheckVarExists(t, vtorc, "DetectedProblems")
utils.CheckVarExists(t, vtorc, "DiscoveriesAttempt")
utils.CheckVarExists(t, vtorc, "DiscoveriesFail")
utils.CheckVarExists(t, vtorc, "DiscoveriesInstancePollSecondsExceeded")
utils.CheckVarExists(t, vtorc, "DiscoveriesQueueLength")
utils.CheckVarExists(t, vtorc, "DiscoveriesRecentCount")
+ utils.CheckVarExists(t, vtorc, "DiscoveryWorkers")
+ utils.CheckVarExists(t, vtorc, "DiscoveryWorkersActive")
+ utils.CheckVarExists(t, vtorc, "DiscoveryInstanceTimings")
+ utils.CheckVarExists(t, vtorc, "FailedRecoveries")
utils.CheckVarExists(t, vtorc, "InstanceRead")
utils.CheckVarExists(t, vtorc, "InstanceReadTopology")
+ utils.CheckVarExists(t, vtorc, "PendingRecoveries")
+ utils.CheckVarExists(t, vtorc, "RecoveriesCount")
+ utils.CheckVarExists(t, vtorc, "ShardLocksActive")
+ utils.CheckVarExists(t, vtorc, "ShardLockTimings")
+ utils.CheckVarExists(t, vtorc, "SuccessfulRecoveries")
+ utils.CheckVarExists(t, vtorc, "TabletsWatchedByCell")
+ utils.CheckVarExists(t, vtorc, "TabletsWatchedByShard")
// Metrics registered in prometheus
utils.CheckMetricExists(t, vtorc, "vtorc_analysis_change_write")
utils.CheckMetricExists(t, vtorc, "vtorc_audit_write")
+ utils.CheckMetricExists(t, vtorc, "vtorc_detected_problems")
utils.CheckMetricExists(t, vtorc, "vtorc_discoveries_attempt")
utils.CheckMetricExists(t, vtorc, "vtorc_discoveries_fail")
utils.CheckMetricExists(t, vtorc, "vtorc_discoveries_instance_poll_seconds_exceeded")
utils.CheckMetricExists(t, vtorc, "vtorc_discoveries_queue_length")
utils.CheckMetricExists(t, vtorc, "vtorc_discoveries_recent_count")
+ utils.CheckMetricExists(t, vtorc, "vtorc_discovery_instance_timings_bucket")
+ utils.CheckMetricExists(t, vtorc, "vtorc_discovery_workers")
+ utils.CheckMetricExists(t, vtorc, "vtorc_discovery_workers_active")
+ utils.CheckMetricExists(t, vtorc, "vtorc_errant_gtid_tablet_count")
utils.CheckMetricExists(t, vtorc, "vtorc_instance_read")
utils.CheckMetricExists(t, vtorc, "vtorc_instance_read_topology")
+ utils.CheckMetricExists(t, vtorc, "vtorc_pending_recoveries")
+ utils.CheckMetricExists(t, vtorc, "vtorc_recoveries_count")
+ utils.CheckMetricExists(t, vtorc, "vtorc_shard_locks_active")
+ utils.CheckMetricExists(t, vtorc, "vtorc_shard_lock_timings_bucket")
+ utils.CheckMetricExists(t, vtorc, "vtorc_successful_recoveries")
+ utils.CheckMetricExists(t, vtorc, "vtorc_tablets_watched_by_cell")
+ utils.CheckMetricExists(t, vtorc, "vtorc_tablets_watched_by_shard")
})
t.Run("Disable Recoveries API", func(t *testing.T) {
diff --git a/go/vt/vtorc/logic/vtorc.go b/go/vt/vtorc/logic/vtorc.go
index 45568cd745c..0d1ab8bd54a 100644
--- a/go/vt/vtorc/logic/vtorc.go
+++ b/go/vt/vtorc/logic/vtorc.go
@@ -59,8 +59,10 @@ var (
discoveryWorkersGauge = stats.NewGauge("DiscoveryWorkers", "Number of discovery workers")
discoveryWorkersActiveGauge = stats.NewGauge("DiscoveryWorkersActive", "Number of discovery workers actively discovering tablets")
- discoverInstanceTimingsActions = []string{"Backend", "Instance", "Other"}
- discoverInstanceTimings = stats.NewTimings("DiscoverInstanceTimings", "Timings for instance discovery actions", "Action", discoverInstanceTimingsActions...)
+ discoveryInstanceTimingsActions = []string{"Backend", "Instance", "Other"}
+ discoveryInstanceTimings = stats.NewTimings("DiscoveryInstanceTimings", "Timings for instance discovery actions", "Action", discoveryInstanceTimingsActions...)
+ // TODO: deprecate in v24
+ discoverInstanceTimings = stats.NewTimings("DiscoverInstanceTimings", "Timings for instance discovery actions", "Action", discoveryInstanceTimingsActions...)
)
var discoveryMetrics = collection.CreateOrReturnCollection(DiscoveryMetricsName)
@@ -197,10 +199,15 @@ func DiscoverInstance(tabletAlias string, forceDiscovery bool) {
instanceLatency := latency.Elapsed("instance")
otherLatency := totalLatency - (backendLatency + instanceLatency)
+ // TODO: deprecate in v24
discoverInstanceTimings.Add("Backend", backendLatency)
discoverInstanceTimings.Add("Instance", instanceLatency)
discoverInstanceTimings.Add("Other", otherLatency)
+ discoveryInstanceTimings.Add("Backend", backendLatency)
+ discoveryInstanceTimings.Add("Instance", instanceLatency)
+ discoveryInstanceTimings.Add("Other", otherLatency)
+
if forceDiscovery {
log.Infof("Force discovered - %+v, err - %v", instance, err)
}