{
  "repo": "tidbcloud/metering",
  "binary": "nextgenmetering",
  "binary_path": "cmd/nextgenmetering/main.go",
  "dependencies": {
    "Runtime NextGenMetering.main": {
      "infrastructure": {
        "http": {
          "conditions": [
            "Always after the service config validates"
          ],
          "operations": [
            {
              "operation": "SERVE HEALTH AND METRICS",
              "trigger": "Expose the shared HTTP, metrics, and optional pprof endpoints",
              "conditions": [
                "The process reaches httpapi.StartService"
              ],
              "implementation": "httpapi.StartService in cmd/nextgenmetering/main.go and pkg/httpapi/gin.go"
            }
          ]
        },
        "object_storage": {
          "conditions": [
            "Always when NextGen metering jobs are enabled"
          ],
          "operations": [
            {
              "operation": "PROCESS DELTA TABLE BILLING DATA",
              "trigger": "Run metering, reporter, and maintenance jobs against the configured Delta Lake path",
              "conditions": [
                "NextGenMeteringConfig is present"
              ],
              "implementation": "nextgentasks.NewNextGenTask / NewNextGenRepoterTask / NewNextGenMaintenanceTask in cmd/nextgenmetering/main.go"
            }
          ]
        }
      },
      "services": []
    }
  }
}
