@@ -45,6 +45,7 @@ const (
4545 disableGlobalRecoveriesAPI = "/api/disable-global-recoveries"
4646 enableGlobalRecoveriesAPI = "/api/enable-global-recoveries"
4747 replicationAnalysisAPI = "/api/replication-analysis"
48+ databaseStateAPI = "/api/database-state"
4849 healthAPI = "/debug/health"
4950 AggregatedDiscoveryMetricsAPI = "/api/aggregated-discovery-metrics"
5051
6061 disableGlobalRecoveriesAPI ,
6162 enableGlobalRecoveriesAPI ,
6263 replicationAnalysisAPI ,
64+ databaseStateAPI ,
6365 healthAPI ,
6466 AggregatedDiscoveryMetricsAPI ,
6567 }
@@ -86,6 +88,8 @@ func (v *vtorcAPI) ServeHTTP(response http.ResponseWriter, request *http.Request
8688 errantGTIDsAPIHandler (response , request )
8789 case replicationAnalysisAPI :
8890 replicationAnalysisAPIHandler (response , request )
91+ case databaseStateAPI :
92+ databaseStateAPIHandler (response )
8993 case AggregatedDiscoveryMetricsAPI :
9094 AggregatedDiscoveryMetricsAPIHandler (response , request )
9195 default :
@@ -104,7 +108,7 @@ func getACLPermissionLevelForAPI(apiEndpoint string) string {
104108 return acl .ADMIN
105109 case replicationAnalysisAPI :
106110 return acl .MONITORING
107- case healthAPI :
111+ case healthAPI , databaseStateAPI :
108112 return acl .MONITORING
109113 }
110114 return acl .ADMIN
@@ -166,6 +170,16 @@ func errantGTIDsAPIHandler(response http.ResponseWriter, request *http.Request)
166170 returnAsJSON (response , http .StatusOK , instances )
167171}
168172
173+ // databaseStateAPIHandler is the handler for the databaseStateAPI endpoint
174+ func databaseStateAPIHandler (response http.ResponseWriter ) {
175+ ds , err := inst .GetDatabaseState ()
176+ if err != nil {
177+ http .Error (response , err .Error (), http .StatusInternalServerError )
178+ return
179+ }
180+ writePlainTextResponse (response , ds , http .StatusOK )
181+ }
182+
169183// AggregatedDiscoveryMetricsAPIHandler is the handler for the discovery metrics endpoint
170184func AggregatedDiscoveryMetricsAPIHandler (response http.ResponseWriter , request * http.Request ) {
171185 // return metrics for last x seconds
0 commit comments