package managerserver

import (
	"encoding/json"
	"net/http"
)

func (s *server) status(w http.ResponseWriter, r *http.Request) {
	logger := log.WithName("tidb/status")
	logger.V(2).Info("req param", "req", r.URL)

	ns := r.URL.Query().Get("ns")
	tManager := s.tManagers[ns]
	if tManager == nil {
		logger.V(2).Info("use default tidb pool", "defaultTidbPool", s.defaultTidbPool, "ns", ns)
		tManager = s.tManagers[s.defaultTidbPool]
	}
	status := tManager.DumpStatus()
	enc := json.NewEncoder(w)
	enc.SetIndent("", "  ")
	enc.Encode(status) //nolint: errcheck // relax for debug api.
}
