{
  "repo": "tidbcloud/sli-reporter",
  "binary": "sli-reporter",
  "binary_path": "cmd/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "extensions": {
    "runtime_components": [
      {
        "name": "ProbeTiDBClusters",
        "name_key": "BackgroundTask.ProbeTiDBClusters",
        "kind": "background_task",
        "description": "Periodically probe TiDB clusters for availability",
        "trigger": "6s"
      },
      {
        "name": "SendMetricsToFirehose",
        "name_key": "BackgroundTask.SendMetricsToFirehose",
        "kind": "background_task",
        "description": "Periodically send metrics from the registry to AWS Firehose",
        "trigger": "6s"
      }
    ]
  },
  "services": [
    {
      "name": "HTTPServer",
      "type": "http",
      "methods": [
        {
          "name": "GET /metrics",
          "name_key": "HTTP GET /metrics",
          "description": "Prometheus metrics endpoint"
        },
        {
          "name": "GET /debug/pprof/*",
          "name_key": "HTTP GET /debug/pprof/*",
          "description": "pprof debug endpoints"
        }
      ],
      "endpoints": [
        {
          "path": "/metrics",
          "method": "GET",
          "description": "Prometheus metrics endpoint",
          "implementation": "github.com/prometheus/client_golang/prometheus/promhttp.Handler()"
        },
        {
          "path": "/debug/pprof/",
          "method": "GET",
          "description": "pprof index page",
          "implementation": "net/http/pprof.Index"
        },
        {
          "path": "/debug/pprof/cmdline",
          "method": "GET",
          "description": "pprof command line endpoint",
          "implementation": "net/http/pprof.Cmdline"
        },
        {
          "path": "/debug/pprof/profile",
          "method": "GET",
          "description": "pprof CPU profile endpoint",
          "implementation": "net/http/pprof.Profile"
        },
        {
          "path": "/debug/pprof/symbol",
          "method": "GET",
          "description": "pprof symbol endpoint",
          "implementation": "net/http/pprof.Symbol"
        },
        {
          "path": "/debug/pprof/trace",
          "method": "GET",
          "description": "pprof trace endpoint",
          "implementation": "net/http/pprof.Trace"
        }
      ]
    }
  ]
}
