summaryrefslogtreecommitdiffstats
path: root/src/commands/xinfo-stream.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/xinfo-stream.json')
-rw-r--r--src/commands/xinfo-stream.json361
1 files changed, 361 insertions, 0 deletions
diff --git a/src/commands/xinfo-stream.json b/src/commands/xinfo-stream.json
new file mode 100644
index 0000000..018826f
--- /dev/null
+++ b/src/commands/xinfo-stream.json
@@ -0,0 +1,361 @@
+{
+ "STREAM": {
+ "summary": "Returns information about a stream.",
+ "complexity": "O(1)",
+ "group": "stream",
+ "since": "5.0.0",
+ "arity": -3,
+ "container": "XINFO",
+ "history": [
+ [
+ "6.0.0",
+ "Added the `FULL` modifier."
+ ],
+ [
+ "7.0.0",
+ "Added the `max-deleted-entry-id`, `entries-added`, `recorded-first-entry-id`, `entries-read` and `lag` fields"
+ ],
+ [
+ "7.2.0",
+ "Added the `active-time` field, and changed the meaning of `seen-time`."
+ ]
+ ],
+ "function": "xinfoCommand",
+ "command_flags": [
+ "READONLY"
+ ],
+ "acl_categories": [
+ "STREAM"
+ ],
+ "key_specs": [
+ {
+ "flags": [
+ "RO",
+ "ACCESS"
+ ],
+ "begin_search": {
+ "index": {
+ "pos": 2
+ }
+ },
+ "find_keys": {
+ "range": {
+ "lastkey": 0,
+ "step": 1,
+ "limit": 0
+ }
+ }
+ }
+ ],
+ "reply_schema": {
+ "oneOf": [
+ {
+ "description": "Summary form, in case `FULL` was not given.",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "length": {
+ "description": "the number of entries in the stream (see `XLEN`)",
+ "type": "integer"
+ },
+ "radix-tree-keys": {
+ "description": "the number of keys in the underlying radix data structure",
+ "type": "integer"
+ },
+ "radix-tree-nodes": {
+ "description": "the number of nodes in the underlying radix data structure",
+ "type": "integer"
+ },
+ "last-generated-id": {
+ "description": "the ID of the least-recently entry that was added to the stream",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ "max-deleted-entry-id": {
+ "description": "the maximal entry ID that was deleted from the stream",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ "recorded-first-entry-id": {
+ "description": "cached copy of the first entry ID",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ "entries-added": {
+ "description": "the count of all entries added to the stream during its lifetime",
+ "type": "integer"
+ },
+ "groups": {
+ "description": "the number of consumer groups defined for the stream",
+ "type": "integer"
+ },
+ "first-entry": {
+ "description": "the first entry of the stream",
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": [
+ {
+ "description": "entry ID",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ {
+ "description": "data",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "last-entry": {
+ "description": "the last entry of the stream",
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": [
+ {
+ "description": "entry ID",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ {
+ "description": "data",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "description": "Extended form, in case `FULL` was given.",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "length": {
+ "description": "the number of entries in the stream (see `XLEN`)",
+ "type": "integer"
+ },
+ "radix-tree-keys": {
+ "description": "the number of keys in the underlying radix data structure",
+ "type": "integer"
+ },
+ "radix-tree-nodes": {
+ "description": "the number of nodes in the underlying radix data structure",
+ "type": "integer"
+ },
+ "last-generated-id": {
+ "description": "the ID of the least-recently entry that was added to the stream",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ "max-deleted-entry-id": {
+ "description": "the maximal entry ID that was deleted from the stream",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ "recorded-first-entry-id": {
+ "description": "cached copy of the first entry ID",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ "entries-added": {
+ "description": "the count of all entries added to the stream during its lifetime",
+ "type": "integer"
+ },
+ "entries": {
+ "description": "all the entries of the stream",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": [
+ {
+ "description": "entry ID",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ {
+ "description": "data",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "description": "group name",
+ "type": "string"
+ },
+ "last-delivered-id": {
+ "description": "last entry ID that was delivered to a consumer",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ "entries-read": {
+ "description": "total number of entries ever read by consumers in the group",
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "lag": {
+ "description": "number of entries left to be consumed from the stream",
+ "oneOf": [
+ {
+ "type": "null"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "pel-count": {
+ "description": "total number of unacknowledged entries",
+ "type": "integer"
+ },
+ "pending": {
+ "description": "data about all of the unacknowledged entries",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "minItems": 4,
+ "maxItems": 4,
+ "items": [
+ {
+ "description": "Entry ID",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ {
+ "description": "Consumer name",
+ "type": "string"
+ },
+ {
+ "description": "Delivery timestamp",
+ "type": "integer"
+ },
+ {
+ "description": "Delivery count",
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "consumers": {
+ "description": "data about all of the consumers of the group",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "active-time": {
+ "type": "integer",
+ "description": "Last time this consumer was active (successful reading/claiming).",
+ "minimum": 0
+ },
+ "name": {
+ "description": "consumer name",
+ "type": "string"
+ },
+ "seen-time": {
+ "description": "timestamp of the last interaction attempt of the consumer",
+ "type": "integer"
+ },
+ "pel-count": {
+ "description": "number of unacknowledged entries that belong to the consumer",
+ "type": "integer"
+ },
+ "pending": {
+ "description": "data about the unacknowledged entries",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "minItems": 3,
+ "maxItems": 3,
+ "items": [
+ {
+ "description": "Entry ID",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ {
+ "description": "Delivery timestamp",
+ "type": "integer"
+ },
+ {
+ "description": "Delivery count",
+ "type": "integer"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ },
+ "arguments": [
+ {
+ "name": "key",
+ "type": "key",
+ "key_spec_index": 0
+ },
+ {
+ "name": "full-block",
+ "type": "block",
+ "optional": true,
+ "arguments": [
+ {
+ "name": "full",
+ "token": "FULL",
+ "type": "pure-token"
+ },
+ {
+ "token": "COUNT",
+ "name": "count",
+ "type": "integer",
+ "optional": true
+ }
+ ]
+ }
+ ]
+ }
+}