{
  "attributes": {
    "status_code": {
      "description": "Status code category, 1xx, 2xx, 3xx, 4xx, 5xx or other",
      "enum": [
        "1xx",
        "2xx",
        "3xx",
        "4xx",
        "5xx",
        "other"
      ],
      "type": "string"
    }
  },
  "description": "The HAProxy receiver generates metrics by polling periodically the HAProxy process through a dedicated socket or HTTP URL.",
  "display_name": "HAProxy Receiver",
  "distribution": "contrib",
  "ecosystem": "collector",
  "id": "contrib-haproxyreceiver",
  "metrics": {
    "haproxy.active": {
      "description": "Number of active servers (backend) or server is active (server). Corresponds to HAProxy's `act` metric.",
      "enabled": false,
      "gauge": {
        "input_type": "string",
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{servers}"
    },
    "haproxy.backup": {
      "description": "Number of backup servers (backend) or server is backup (server). Corresponds to HAProxy's `bck` metric.",
      "enabled": false,
      "gauge": {
        "input_type": "string",
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{servers}"
    },
    "haproxy.bytes.input": {
      "description": "Bytes in. Corresponds to HAProxy's `bin` metric.",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "by"
    },
    "haproxy.bytes.output": {
      "description": "Bytes out. Corresponds to HAProxy's `bout` metric.",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "by"
    },
    "haproxy.clients.canceled": {
      "description": "Number of data transfers aborted by the client. Corresponds to HAProxy's `cli_abrt` metric",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{cancellations}"
    },
    "haproxy.compression.bypass": {
      "description": "Number of bytes that bypassed the HTTP compressor (CPU/BW limit). Corresponds to HAProxy's `comp_byp` metric.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "by"
    },
    "haproxy.compression.count": {
      "description": "Number of HTTP responses that were compressed. Corresponds to HAProxy's `comp_rsp` metric.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{responses}"
    },
    "haproxy.compression.input": {
      "description": "Number of HTTP response bytes fed to the compressor. Corresponds to HAProxy's `comp_in` metric.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "by"
    },
    "haproxy.compression.output": {
      "description": "Number of HTTP response bytes emitted by the compressor. Corresponds to HAProxy's `comp_out` metric.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "by"
    },
    "haproxy.connections.average_time": {
      "description": "Average connect time in ms over the 1024 last requests. Corresponds to HAProxy's `ctime` metric.",
      "enabled": false,
      "gauge": {
        "input_type": "string",
        "value_type": "double"
      },
      "stability": "development",
      "unit": "ms"
    },
    "haproxy.connections.errors": {
      "description": "Number of requests that encountered an error trying to connect to a backend server. The backend stat is the sum of the stat. Corresponds to HAProxy's `econ` metric",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{errors}"
    },
    "haproxy.connections.rate": {
      "description": "Number of connections over the last elapsed second (frontend). Corresponds to HAProxy's `conn_rate` metric.",
      "enabled": true,
      "gauge": {
        "input_type": "string",
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{connections}"
    },
    "haproxy.connections.retries": {
      "description": "Number of times a connection to a server was retried. Corresponds to HAProxy's `wretr` metric.",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{retries}"
    },
    "haproxy.connections.total": {
      "description": "Cumulative number of connections (frontend). Corresponds to HAProxy's `conn_tot` metric.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{connections}"
    },
    "haproxy.downtime": {
      "description": "Total downtime (in seconds). The value for the backend is the downtime for the whole backend, not the sum of the server downtime. Corresponds to HAProxy's `downtime` metric",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "s"
    },
    "haproxy.failed_checks": {
      "description": "Number of failed checks. (Only counts checks failed when the server is up). Corresponds to HAProxy's `chkfail` metric.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{checks}"
    },
    "haproxy.requests.average_time": {
      "description": "Average queue time in ms over the 1024 last requests. Corresponds to HAProxy's `qtime` metric.",
      "enabled": false,
      "gauge": {
        "input_type": "string",
        "value_type": "double"
      },
      "stability": "development",
      "unit": "ms"
    },
    "haproxy.requests.denied": {
      "description": "Requests denied because of security concerns. Corresponds to HAProxy's `dreq` metric",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{requests}"
    },
    "haproxy.requests.errors": {
      "description": "Cumulative number of request errors. Corresponds to HAProxy's `ereq` metric.",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{errors}"
    },
    "haproxy.requests.queued": {
      "description": "Current queued requests. For the backend this reports the number queued without a server assigned. Corresponds to HAProxy's `qcur` metric.",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{requests}"
    },
    "haproxy.requests.rate": {
      "description": "HTTP requests per second over last elapsed second. Corresponds to HAProxy's `req_rate` metric.",
      "enabled": true,
      "gauge": {
        "input_type": "string",
        "value_type": "double"
      },
      "stability": "development",
      "unit": "{requests}"
    },
    "haproxy.requests.redispatched": {
      "description": "Number of times a request was redispatched to another server. Corresponds to HAProxy's `wredis` metric.",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{requests}"
    },
    "haproxy.requests.total": {
      "attributes": [
        "status_code"
      ],
      "description": "Total number of HTTP requests received. Corresponds to HAProxy's `req_tot`, `hrsp_1xx`, `hrsp_2xx`, `hrsp_3xx`, `hrsp_4xx`, `hrsp_5xx` and `hrsp_other` metrics.",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{requests}"
    },
    "haproxy.responses.average_time": {
      "description": "Average response time in ms over the 1024 last requests. Corresponds to HAProxy's `rtime` metric.",
      "enabled": false,
      "gauge": {
        "input_type": "string",
        "value_type": "double"
      },
      "stability": "development",
      "unit": "ms"
    },
    "haproxy.responses.denied": {
      "description": "Responses denied because of security concerns. Corresponds to HAProxy's `dresp` metric",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{responses}"
    },
    "haproxy.responses.errors": {
      "description": "Cumulative number of response errors. Corresponds to HAProxy's `eresp` metric, `srv_abrt` will be counted here also.",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{errors}"
    },
    "haproxy.server_selected.total": {
      "description": "Number of times a server was selected, either for new sessions or when re-dispatching. Corresponds to HAProxy's `lbtot` metric.",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{selections}"
    },
    "haproxy.sessions.average": {
      "description": "Average total session time in ms over the last 1024 requests. Corresponds to HAProxy's `ttime` metric.",
      "enabled": true,
      "gauge": {
        "input_type": "string",
        "value_type": "double"
      },
      "stability": "development",
      "unit": "ms"
    },
    "haproxy.sessions.count": {
      "description": "Current sessions. Corresponds to HAProxy's `scur` metric.",
      "enabled": true,
      "gauge": {
        "input_type": "string",
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{sessions}"
    },
    "haproxy.sessions.limit": {
      "description": "Configured session limit. Corresponds to HAProxy's `slim` metric.",
      "enabled": false,
      "gauge": {
        "input_type": "string",
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{sessions}"
    },
    "haproxy.sessions.rate": {
      "description": "Number of sessions per second over last elapsed second. Corresponds to HAProxy's `rate` metric.",
      "enabled": true,
      "gauge": {
        "input_type": "string",
        "value_type": "double"
      },
      "stability": "development",
      "unit": "{sessions}"
    },
    "haproxy.sessions.total": {
      "description": "Cumulative number of sessions. Corresponds to HAProxy's `stot` metric.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "input_type": "string",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{sessions}"
    },
    "haproxy.weight": {
      "description": "Total effective weight (backend) or effective weight (server). Corresponds to HAProxy's `weight` metric.",
      "enabled": false,
      "gauge": {
        "input_type": "string",
        "value_type": "int"
      },
      "stability": "development",
      "unit": "1"
    }
  },
  "name": "haproxyreceiver",
  "repository": "opentelemetry-collector-contrib",
  "status": {
    "class": "receiver",
    "codeowners": {
      "active": [
        "atoulme",
        "MovieStoreGuy"
      ]
    },
    "distributions": [
      "contrib"
    ],
    "stability": {
      "beta": [
        "metrics"
      ]
    }
  },
  "type": "receiver"
}