{
  "jsonSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "PgBouncer collector configuration.",
    "type": "object",
    "properties": {
      "update_every": {
        "title": "Update every",
        "description": "Data collection interval, measured in seconds.",
        "type": "integer",
        "minimum": 1,
        "default": 1
      },
      "dsn": {
        "title": "DSN",
        "description": "PgBouncer server Data Source Name in [key/value string](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-KEYWORD-VALUE) or [URI](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS) format.",
        "type": "string",
        "default": "postgres://netdata:password@127.0.0.1:6432/pgbouncer"
      },
      "timeout": {
        "title": "Timeout",
        "description": "Timeout for queries, in seconds.",
        "type": "number",
        "minimum": 0.5,
        "default": 1
      },
      "vnode": {
        "title": "Vnode",
        "description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
        "type": "string"
      }
    },
    "required": [
      "dsn"
    ],
    "patternProperties": {
      "^name$": {}
    }
  },
  "uiSchema": {
    "uiOptions": {
      "fullPage": true
    },
    "vnode": {
      "ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
    },
    "dsn": {
      "ui:placeholder": "postgres://username:password@host:port/dbname"
    },
    "timeout": {
      "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
    }
  }
}
