{
  "attributes": {
    "cluster_state": {
      "description": "State of the cluster",
      "enum": [
        "fail",
        "ok"
      ],
      "type": "string"
    },
    "cmd": {
      "description": "Redis command name",
      "type": "string"
    },
    "db": {
      "description": "Redis database identifier",
      "type": "string"
    },
    "mode": {
      "description": "Redis server mode",
      "enum": [
        "cluster",
        "sentinel",
        "standalone"
      ],
      "type": "string"
    },
    "percentile": {
      "description": "Percentile",
      "enum": [
        "p50",
        "p99",
        "p99.9"
      ],
      "type": "string"
    },
    "role": {
      "description": "Redis node's role",
      "enum": [
        "primary",
        "replica"
      ],
      "type": "string"
    },
    "state": {
      "description": "Redis CPU usage state",
      "enum": [
        "sys",
        "sys_children",
        "sys_main_thread",
        "user",
        "user_children",
        "user_main_thread"
      ],
      "type": "string"
    }
  },
  "description": "The Redis Receiver is designed to retrieve Redis INFO data from a single Redis instance, build metrics from that data, and send them to the next consumer at a configurable interval.",
  "display_name": "Redis Receiver",
  "distribution": "contrib",
  "ecosystem": "collector",
  "id": "contrib-redisreceiver",
  "metrics": {
    "redis.clients.blocked": {
      "description": "Number of clients pending on a blocking call",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{client}"
    },
    "redis.clients.connected": {
      "description": "Number of client connections (excluding connections from replicas)",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{client}"
    },
    "redis.clients.max_input_buffer": {
      "description": "Biggest input buffer among current client connections",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.clients.max_output_buffer": {
      "description": "Longest output list among current client connections",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.cluster.cluster_enabled": {
      "description": "Indicate Redis cluster is enabled",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "1"
    },
    "redis.cluster.known_nodes": {
      "description": "Number of known nodes in the cluster",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{node}"
    },
    "redis.cluster.links_buffer_limit_exceeded.count": {
      "description": "Total number of times the cluster links buffer limit was exceeded",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{count}"
    },
    "redis.cluster.node.count": {
      "description": "Number of master nodes in the cluster",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{node}"
    },
    "redis.cluster.node.uptime": {
      "description": "The node's current epoch",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "s"
    },
    "redis.cluster.slots_assigned": {
      "description": "Number of slots assigned in the cluster",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{slot}"
    },
    "redis.cluster.slots_fail": {
      "description": "Number of slots in the cluster that are in a failing state",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{slot}"
    },
    "redis.cluster.slots_ok": {
      "description": "Number of slots in the cluster that are ok",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{slot}"
    },
    "redis.cluster.slots_pfail": {
      "description": "Number of slots in the cluster that are in a 'potentially failing' state",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{slot}"
    },
    "redis.cluster.state": {
      "attributes": [
        "cluster_state"
      ],
      "description": "State of the cluster",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{state}"
    },
    "redis.cluster.stats_messages_received": {
      "description": "Total number of messages received by the cluster",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{message}"
    },
    "redis.cluster.stats_messages_sent": {
      "description": "Total number of messages sent by the cluster",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{message}"
    },
    "redis.cluster.uptime": {
      "description": "Current epoch of the cluster",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "s"
    },
    "redis.cmd.calls": {
      "attributes": [
        "cmd"
      ],
      "description": "Total number of calls for a command",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{call}"
    },
    "redis.cmd.latency": {
      "attributes": [
        "cmd",
        "percentile"
      ],
      "description": "Command execution latency",
      "enabled": false,
      "gauge": {
        "value_type": "double"
      },
      "stability": "development",
      "unit": "s"
    },
    "redis.cmd.usec": {
      "attributes": [
        "cmd"
      ],
      "description": "Total time for all executions of this command",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "us"
    },
    "redis.commands": {
      "description": "Number of commands processed per second",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{ops}/s"
    },
    "redis.commands.processed": {
      "description": "Total number of commands processed by the server",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{command}"
    },
    "redis.connections.received": {
      "description": "Total number of connections accepted by the server",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{connection}"
    },
    "redis.connections.rejected": {
      "description": "Number of connections rejected because of maxclients limit",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{connection}"
    },
    "redis.cpu.time": {
      "attributes": [
        "state"
      ],
      "description": "System CPU consumed by the Redis server in seconds since server start",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "double"
      },
      "unit": "s"
    },
    "redis.db.avg_ttl": {
      "attributes": [
        "db"
      ],
      "description": "Average keyspace keys TTL",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "ms"
    },
    "redis.db.expires": {
      "attributes": [
        "db"
      ],
      "description": "Number of keyspace keys with an expiration",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{key}"
    },
    "redis.db.keys": {
      "attributes": [
        "db"
      ],
      "description": "Number of keyspace keys",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{key}"
    },
    "redis.keys.evicted": {
      "description": "Number of evicted keys due to maxmemory limit",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{key}"
    },
    "redis.keys.expired": {
      "description": "Total number of key expiration events",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{event}"
    },
    "redis.keyspace.hits": {
      "description": "Number of successful lookup of keys in the main dictionary",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{hit}"
    },
    "redis.keyspace.misses": {
      "description": "Number of failed lookup of keys in the main dictionary",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{miss}"
    },
    "redis.latest_fork": {
      "description": "Duration of the latest fork operation in microseconds",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "us"
    },
    "redis.maxmemory": {
      "description": "The value of the maxmemory configuration directive",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.memory.fragmentation_ratio": {
      "description": "Ratio between used_memory_rss and used_memory",
      "enabled": true,
      "gauge": {
        "value_type": "double"
      },
      "stability": "development",
      "unit": "1"
    },
    "redis.memory.lua": {
      "description": "Number of bytes used by the Lua engine",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.memory.peak": {
      "description": "Peak memory consumed by Redis (in bytes)",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.memory.rss": {
      "description": "Number of bytes that Redis allocated as seen by the operating system",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.memory.used": {
      "description": "Total number of bytes allocated by Redis using its allocator",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.memory.used_memory_overhead": {
      "description": "The sum in bytes of all overheads that the server allocated for managing its internal data structures",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "By"
    },
    "redis.memory.used_memory_startup": {
      "description": "Initial amount of memory consumed by Redis at startup in bytes",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "By"
    },
    "redis.mode": {
      "attributes": [
        "mode"
      ],
      "description": "Redis server mode",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{mode}"
    },
    "redis.net.input": {
      "description": "The total number of bytes read from the network",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "By"
    },
    "redis.net.output": {
      "description": "The total number of bytes written to the network",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "By"
    },
    "redis.rdb.changes_since_last_save": {
      "description": "Number of changes since the last dump",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{change}"
    },
    "redis.replication.backlog_first_byte_offset": {
      "description": "The master offset of the replication backlog buffer",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.replication.offset": {
      "description": "The server's current replication offset",
      "enabled": true,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.replication.replica_offset": {
      "description": "Offset for redis replica",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "By"
    },
    "redis.role": {
      "attributes": [
        "role"
      ],
      "description": "Redis node's role",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{role}"
    },
    "redis.sentinel.masters": {
      "description": "Number of masters monitored by Sentinel.",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{master}"
    },
    "redis.sentinel.running_scripts": {
      "description": "Number of running Sentinel scripts.",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{script}"
    },
    "redis.sentinel.scripts_queue_length": {
      "description": "Length of Sentinel scripts queue.",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{script}"
    },
    "redis.sentinel.simulate_failure_flags": {
      "description": "Simulated failure flags bitmask.",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "{flag}"
    },
    "redis.sentinel.tilt_since_seconds": {
      "description": "Duration in seconds of current TILT, or -1 if not in TILT mode.",
      "enabled": false,
      "gauge": {
        "value_type": "int"
      },
      "stability": "development",
      "unit": "s"
    },
    "redis.sentinel.total_tilt": {
      "description": "Total TILT occurrences since start.",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "{event}"
    },
    "redis.slaves.connected": {
      "description": "Number of connected replicas",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{replica}"
    },
    "redis.tracking_total_keys": {
      "description": "Number of keys being tracked by the server",
      "enabled": false,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": false,
        "value_type": "int"
      },
      "unit": "{key}"
    },
    "redis.uptime": {
      "description": "Number of seconds since Redis server start",
      "enabled": true,
      "stability": "development",
      "sum": {
        "aggregation_temporality": "cumulative",
        "monotonic": true,
        "value_type": "int"
      },
      "unit": "s"
    }
  },
  "name": "redisreceiver",
  "repository": "opentelemetry-collector-contrib",
  "status": {
    "class": "receiver",
    "codeowners": {
      "active": [
        "dmitryax",
        "hughesjj"
      ]
    },
    "distributions": [
      "contrib"
    ],
    "stability": {
      "beta": [
        "metrics"
      ]
    }
  },
  "type": "receiver"
}