# TiDB Cloud observability pipeline configuration
# Uses /api/v1/query_range with pre-aggregated PromQL for cardinality reduction.
# Queries use sum-by to reduce series count while preserving tenant/cluster granularity.

default_start: 1773700800  # ~2026-03-14 (recent data only; older data is purged)
window_seconds: 21600      # 6-hour windows per incremental run

endpoints:
  # --- AWS ---
  - kubernetes: prod-ap-northeast-1-f01
    provider: aws
    cloud_region: ap-northeast-1
    url: "https://www.ds.ap-northeast-1.aws.observability.tidbcloud.com/internal/metrics/541521b7-b5eb-47c7-a015-b1f4f97c2744/api/v1/"
  - kubernetes: prod-ap-southeast-1-f01
    provider: aws
    cloud_region: ap-southeast-1
    url: "https://www.ds.ap-southeast-1.aws.observability.tidbcloud.com/internal/metrics/d39797d5-f75d-4871-84f8-d7b4f87b5d88/api/v1/"
  - kubernetes: prod-eu-central-1-f01
    provider: aws
    cloud_region: eu-central-1
    url: "https://www.ds.eu-central-1.aws.observability.tidbcloud.com/internal/metrics/934f05ea-66b2-4040-9202-d10f35f0561b/api/v1/"
  - kubernetes: prod-us-east-1-f01
    provider: aws
    cloud_region: us-east-1
    url: "https://www.ds.us-east-1.aws.observability.tidbcloud.com/internal/metrics/f502cc26-7a0e-4a42-a92e-8816c323ccc7/api/v1/"
  - kubernetes: prod-us-east-1-f02
    provider: aws
    cloud_region: us-east-1
    url: "https://www.ds.us-east-1.aws.observability.tidbcloud.com/internal/metrics/0d69f3b0-6be1-4d32-b856-b55f979794fc/api/v1/"
  - kubernetes: prod-us-east-1-f03
    provider: aws
    cloud_region: us-east-1
    url: "https://www.ds.us-east-1.aws.observability.tidbcloud.com/internal/metrics/019b72a7-c3b6-72c1-ad62-adc42192ab1b/api/v1/"
  - kubernetes: prod-us-east-1-f04
    provider: aws
    cloud_region: us-east-1
    url: "https://www.ds.us-east-1.aws.observability.tidbcloud.com/internal/metrics/019c2c8e-a25d-712a-8959-aa16f5ba3ea7/api/v1/"
  - kubernetes: prod-us-west-2-f01
    provider: aws
    cloud_region: us-west-2
    url: "https://www.ds.us-west-2.aws.observability.tidbcloud.com/internal/metrics/7055cf36-ea60-4c77-926d-60d3178162cf/api/v1/"
  - kubernetes: prod-us-west-2-f03
    provider: aws
    cloud_region: us-west-2
    url: "https://www.ds.us-west-2.aws.observability.tidbcloud.com/internal/metrics/019cad3d-21b2-78e1-ba34-ad98a6c648a2/api/v1/"
  - kubernetes: prod-ap-east-1-f01
    provider: aws
    cloud_region: ap-east-1
    url: "https://www.ds.ap-east-1.aws.observability.tidbcloud.com/internal/metrics/e34ee972-ad7c-46ea-ac74-be4975bde7f7/api/v1/"
  - kubernetes: prod-ap-south-1-f01
    provider: aws
    cloud_region: ap-south-1
    url: "https://www.ds.ap-south-1.aws.observability.tidbcloud.com/internal/metrics/73c16839-cfa6-4e55-8e2d-1c3e6a507b59/api/v1/"
  # --- Alicloud ---
  - kubernetes: prod-ap-southeast-1-a01
    provider: alicloud
    cloud_region: ap-southeast-1
    url: "https://www.ds.ap-southeast-1.alicloud.observability.tidbcloud.com/internal/metrics/254b6105-4bbd-4047-ba39-7c2c3ae06587/api/v1/"
  - kubernetes: prod-ap-northeast-1-a01
    provider: alicloud
    cloud_region: ap-northeast-1
    url: "https://www.ds.ap-northeast-1.alicloud.observability.tidbcloud.com/internal/metrics/09ffa49e-14d4-4dfd-8cd7-6046e4225bfa/api/v1/"
  - kubernetes: prod-na-south-1-a01
    provider: alicloud
    cloud_region: na-south-1
    url: "https://www.ds.na-south-1.alicloud.observability.tidbcloud.com/internal/metrics/9af0222d-4871-4cde-912f-f07036b6263d/api/v1/"
  - kubernetes: prod-us-east-1-a01
    provider: alicloud
    cloud_region: us-east-1
    url: "https://www.ds.us-east-1.alicloud.observability.tidbcloud.com/internal/metrics/57167955-8be7-4344-b785-b2d0fca915b2/api/v1/"
  - kubernetes: prod-ap-southeast-5-a01
    provider: alicloud
    cloud_region: ap-southeast-5
    url: "https://www.ds.ap-southeast-5.alicloud.observability.tidbcloud.com/internal/metrics/6b0a0712-1c7c-43d3-aba9-f104373ebad5/api/v1/"
  - kubernetes: prod-cn-hongkong-a01
    provider: alicloud
    cloud_region: cn-hongkong
    url: "https://www.ds.cn-hongkong.alicloud.observability.tidbcloud.com/internal/metrics/4a46107d-3472-4c0b-8b00-eaeb3bb16fbc/api/v1/"

metrics:
  # RU counters -- sum by (name, type) preserves keyspace (=name) + resource group (=type)
  - name: resource_manager_resource_unit_read_request_unit_sum
    query: "sum by (name, type) (resource_manager_resource_unit_read_request_unit_sum)"
    labels: [name, type]
    step: 900
  - name: resource_manager_resource_unit_write_request_unit_sum
    query: "sum by (name, type) (resource_manager_resource_unit_write_request_unit_sum)"
    labels: [name, type]
    step: 900
  - name: resource_manager_resource_unit_sql_layer_request_unit_sum
    query: "sum by (name) (resource_manager_resource_unit_sql_layer_request_unit_sum)"
    labels: [name]
    step: 900
  # Storage -- sum by (name, type) collapses per-instance to per-keyspace
  - name: tikv_store_size_bytes
    query: "sum by (name, type) (tikv_store_size_bytes)"
    labels: [name, type]
    step: 900
  # Egress -- sum by (keyspace_id, cluster_id, type) keeps tenant granularity
  - name: gateway_connection_flow_bytes_total
    query: "sum by (keyspace_id, cluster_id, type) (gateway_connection_flow_bytes_total)"
    labels: [keyspace_id, cluster_id, type]
    step: 900
  # SLA / Downtime
  - name: gateway_connection_sla_total
    query: "sum by (keyspace_id, cluster_id, type) (gateway_connection_sla_total)"
    labels: [keyspace_id, cluster_id, type]
    step: 900
  # Provisioned RCU
  - name: serverless_metering_rcu_provisioned_capacity
    query: "sum by (name) (serverless_metering_rcu_provisioned_capacity)"
    labels: [name]
    step: 900
  # Load data RU (may not exist on all endpoints)
  - name: tikv_worker_load_data_wru_cost_counter
    query: "sum by (name) (tikv_worker_load_data_wru_cost_counter)"
    labels: [name]
    step: 900
  # Vector search
  - name: tidb_vector_search_table_nums_with_vector_index
    query: "sum by (name) (tidb_vector_search_table_nums_with_vector_index)"
    labels: [name]
    step: 900
  - name: tidb_vector_search_table_nums_with_vector_data
    query: "sum by (name) (tidb_vector_search_table_nums_with_vector_data)"
    labels: [name]
    step: 900
  # Cluster activity -- aggregated to cluster_id level
  - name: tidb_executor_statement_total
    query: "sum by (cluster_id) (tidb_executor_statement_total)"
    labels: [cluster_id]
    step: 900
  - name: tidb_server_connections
    query: "sum by (cluster_id) (tidb_server_connections)"
    labels: [cluster_id]
    step: 900
  - name: tidb_server_execute_error_total
    query: 'sum by (cluster_id) (tidb_server_execute_error_total{type!="unknown"})'
    labels: [cluster_id]
    step: 900
  - name: tidb_session_transaction_duration_seconds_count
    query: 'sum by (cluster_id) (tidb_session_transaction_duration_seconds_count{scope=~"general"})'
    labels: [cluster_id]
    step: 900
