groups:
- name: next-gen-ticdc-kernel-governance.rules
  rules:
  - alert: TiCDCCPUCoreUsageOver80NextGen
    expr: (rate(process_cpu_seconds_total{component="ticdc"}[2m])/ticdc_server_go_max_procs{component="ticdc"}) * 100 > 80
    for: 5m
    labels:
      tier: next-gen
      severity: major
      response_class: ticket
      component: ticdc-kernel
      stability_governance: next-gen-kernel-governance
      visibility: internal
      source_component: ticdc
      oncall_team: ticdc
    annotations:
      summary: TiCDC single node CPU usage over 80%
      description: 'TiCDC single node CPU usage exceeds 80% of total core usage. TiCDC core usage is over 80% for 5 minutes. TiDB Cluster: {{ $labels.tidb_cluster_id }} Reported by {{ $labels.instance }} Region: {{ $labels.seed_region }} Infra Arch: {{ $labels.seed_provider }}. cluster: {{ $labels.cluster_id }}, value: {{ $value }}'
  - alert: TiCDCDowntimeOver30MinNextGen
    expr: up{component=~"ticdc",job=~".*ticdc"} == 0
    for: 30m
    labels:
      tier: next-gen
      severity: critical
      response_class: page
      component: ticdc
      stability_governance: next-gen-kernel-governance
      visibility: internal
      source_component: ticdc
      oncall_team: tidb_x_tools
    annotations:
      summary: '{{ $labels.component }} server has been down for over 30 minutes'
      description: 'Cluster: {{ $labels.cluster_id }}, Instance: {{ $labels.instance }} (Component: {{ $labels.component }}) is down for more than 30 minutes.'
