package models

type O11yMetricsResponse struct {
	Status string      `json:"status"`
	Data   O11yMetrics `json:"data"`
}

type O11yMetrics struct {
	ResultType string              `json:"resultType"`
	Result     []O11yMetricsResult `json:"result"`
}

type O11yMetricsResult struct {
	O11yMetricsLabelSet `json:"metric"`
	Value               []interface{} `json:"value"`
}

type O11yMetricsLabelSet struct {
	MetricName                  string `json:"__name__,omitempty"`
	Tenant                      string `json:"tenant,omitempty"`
	Project                     string `json:"project,omitempty"`
	TidbCluster                 string `json:"tidb_cluster,omitempty"`
	TidbCloudCluster            string `json:"tidbcloud_cluster,omitempty"`
	TidbClusterID               string `json:"tidb_cluster_id,omitempty"`
	Component                   string `json:"component,omitempty"`
	ComponentID                 string `json:"component_id,omitempty"`
	Container                   string `json:"container,omitempty"`
	ContainerName               string `json:"container_name,omitempty"`
	LabelTidbcloud_Cluster      string `json:"label_tidbcloud_cluster,omitempty"`
	LabelComponent              string `json:"label_component,omitempty"`
	LabelProject                string `json:"label_project,omitempty"`
	LabelTidbcloud_ComComponent string `json:"label_tidbcloud_com_component,omitempty"`
}
