{
  "repo": "tidbcloud/metrics-server",
  "binary": "scrape_gateway",
  "binary_path": "cmd/scrape_gateway/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "services": [
    {
      "name": "ScrapeGatewayLifecycle",
      "type": "local",
      "methods": [
        {
          "name": "Startup",
          "name_key": "Runtime ScrapeGatewayLifecycle.Startup",
          "input": "config-path",
          "output": "query manager initialized + HTTP server",
          "type": "local"
        }
      ]
    },
    {
      "name": "HealthService",
      "type": "http",
      "methods": [
        {"name": "GET /ping", "name_key": "HTTP GET /ping", "input": "none", "output": "pong"},
        {"name": "GET /healthz", "name_key": "HTTP GET /healthz", "input": "none", "output": "pong"}
      ]
    },
    {
      "name": "MetricsService",
      "type": "http",
      "methods": [
        {"name": "GET /metrics", "name_key": "HTTP GET /metrics", "input": "none", "output": "Prometheus metrics"},
        {"name": "GET /public_api/v1/clusters/:cluster_id/monitoring/measurements", "name_key": "HTTP GET /public_api/v1/clusters/:cluster_id/monitoring/measurements", "input": "cluster_id (uri), token (header)", "output": "Prometheus metrics"},
        {"name": "GET /public_api/v1/projects/:project_id/metrics", "name_key": "HTTP GET /public_api/v1/projects/:project_id/metrics", "input": "project_id (uri), token (header)", "output": "Prometheus metrics"}
      ]
    }
  ],
  "extensions": {}
}
