package prometheus

import (
	"context"
	"fmt"
	"time"
)

// func GetTiDBInstancesByTimeRange(clusterId string, timeRange dto.TimeRange) ([]string, error) {
// 	intervalMin := int(timeRange.End.Sub(timeRange.Start).Minutes())
// 	query := fmt.Sprintf(`present_over_time(topsql_instance{instance_type="tidb"}[%dm])`, intervalMin)
// 	return GetLabels(clusterId, timeRange.End, query, "instance")

// }
func GetTiDBInstances(clusterId string, queryTime time.Time, interval string) ([]string, error) {
	query := fmt.Sprintf(`present_over_time(topsql_instance{instance_type="tidb"}[%s])`, interval)
	pc, err := CreatePrometheusClient(context.Background(), CreatePrometheusClientReq{ClusterID: clusterId})
	if err != nil {
		return nil, err
	}
	return pc.GetLabels(clusterId, queryTime, query, "instance")

}
func (pcClient *PrometheusClient) GetTiDBInstances(clusterId string, queryTime time.Time, interval string) ([]string, error) {
	query := fmt.Sprintf(`present_over_time(topsql_instance{instance_type="tidb"}[%s])`, interval)
	return pcClient.GetLabels(clusterId, queryTime, query, "instance")

}
