{
  "repo": "tidbcloud/VictoriaMetrics",
  "binary": "vmctl",
  "binary_path": "app/vmctl/main.go",
  "services": [
    {
      "name": "VMCtlLifecycle",
      "package": "main",
      "methods": [
        {
          "name": "InitializeCLI",
          "input": "os.Args + global flags",
          "output": "configured urfave/cli application",
          "type": "local",
          "name_key": "Runtime VMCtlLifecycle.InitializeCLI"
        },
        {
          "name": "HandleSignalCancellation",
          "input": "SIGINT or SIGTERM",
          "output": "cancelled context and closed active importer",
          "type": "local",
          "name_key": "Runtime VMCtlLifecycle.HandleSignalCancellation"
        }
      ]
    },
    {
      "name": "VMCtlCLI",
      "type": "cli",
      "methods": [
        {
          "name": "opentsdb",
          "input": "OpenTSDB source flags + VM destination flags",
          "output": "migrated OpenTSDB series into VictoriaMetrics",
          "type": "cli",
          "name_key": "CLI opentsdb"
        },
        {
          "name": "influx",
          "input": "InfluxDB source flags + VM destination flags",
          "output": "migrated InfluxDB series into VictoriaMetrics",
          "type": "cli",
          "name_key": "CLI influx"
        },
        {
          "name": "remote-read",
          "input": "Prometheus remote-read source flags + VM destination flags",
          "output": "migrated remote-read series into VictoriaMetrics",
          "type": "cli",
          "name_key": "CLI remote-read"
        },
        {
          "name": "prometheus",
          "input": "Prometheus snapshot flags + VM destination flags",
          "output": "migrated Prometheus snapshot series into VictoriaMetrics",
          "type": "cli",
          "name_key": "CLI prometheus"
        },
        {
          "name": "vm-native",
          "input": "source VM flags + destination VM flags + migration filters",
          "output": "migrated native VictoriaMetrics data between installations",
          "type": "cli",
          "name_key": "CLI vm-native"
        },
        {
          "name": "verify-block",
          "input": "exported native block path + optional gunzip flag",
          "output": "verified block structure",
          "type": "cli",
          "name_key": "CLI verify-block"
        }
      ]
    }
  ],
  "surface_kind": "cli_tool",
  "extensions": {}
}
