{
  "repo": "tidbcloud/eda_service",
  "binary": "eda-service",
  "binary_path": "app.py",
  "dependencies": {
    "HTTP GET /healthz": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /metrics": {
      "infrastructure": {
        "prometheus": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "Expose multiprocess metrics and queue length gauges",
              "trigger": "GET /metrics",
              "implementation": "generate_latest(registry); get_default_queue_length()"
            }
          ]
        }
      },
      "services": []
    },
    "Runtime EDAAPI.BlueprintRoutes": {
      "infrastructure": {
        "postgresql_or_mysql": {
          "conditions": [
            "Per request"
          ],
          "operations": [
            {
              "operation": "Open SQLAlchemy session and commit or rollback around each request",
              "trigger": "before_request / after_request",
              "implementation": "g.session = Session()"
            }
          ]
        }
      },
      "services": []
    },
    "Runtime EDAAPI.InnerRoutes": {
      "infrastructure": {
        "celery": {
          "conditions": [
            "When async tasks are used"
          ],
          "operations": [
            {
              "operation": "Measure queue depth for async task execution",
              "trigger": "GET /metrics and async endpoints",
              "implementation": "get_default_queue_length()"
            }
          ]
        }
      },
      "services": []
    }
  }
}
