{
  "repo": "pingcap/tidb-binlog",
  "binary": "pump",
  "binary_path": "cmd/pump/main.go",
  "dependencies": {
    "Runtime Pump.serve": {
      "infrastructure": {
        "prometheus": {
          "conditions": [
            "Always when metrics scraping is enabled"
          ],
          "operations": [
            {
              "operation": "EXPOSE METRICS",
              "trigger": "Serve Prometheus metrics on the shared HTTP listener",
              "conditions": [
                "The pump server is running"
              ],
              "implementation": "pump/server.go registers promhttp.Handler at /metrics"
            }
          ]
        },
        "grpc": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "SERVE BINLOG RPC",
              "trigger": "Accept binlog replication RPC traffic",
              "conditions": [
                "The pump server is running"
              ],
              "implementation": "pump/server.go creates a grpc.Server and serves it through cmux"
            }
          ]
        }
      },
      "services": []
    }
  }
}
