Statistics
Redis Statistics
The Redis service provides the following core statistics:
Field | Type | Description |
---|---|---|
n2jslee.redis.commands_executed |
Counter | Tracks the number of Redis commands sent to Redis servers by the service. |
n2jslee.redis.commands_executed_success |
Counter | Tracks the number of Redis commands executed successfully by the service. |
n2jslee.redis.commands_executed_error |
Counter | Tracks the number of Redis commands which have failed. |
n2jslee.redis.queue_length |
Gauge | Tracks the number of outstanding commands in a queue in the Redis endpoint. |
n2jslee.redis.request_latency_ms |
Distribution Summary | The latency in milliseconds for a request (either toward Redis, or toward the JSLEE) to be processed and the result to be received. Note that this statistic does not track time waiting for BRPOPLPUSH s to return a message from Redis. |
Each statistic includes tags to track different subtotals for each above statistic.
General Tags
The following tags are included on every statistic:
Tag | Description |
---|---|
node |
The configured name of the node the service is running on. |
service |
The configured name of the Redis service. |
endpoint |
The configured endpoint (queue) name from the Redis service configuration. In addition to the endpoints configured directly, each service has a special endpoint with the name <service>-general defined, tracking commands executed against the service’s general Redis connection. |
Specific Tags
The following tags are statistic-specific:
Tag | Description |
---|---|
command |
Included for commands_executed , commands_executed_success , and commands_executed_error . Used to count the number of times each command is executed. |
direction |
Included for request_latency_ms and queue_length . Identifies the “side” of the path between Redis and the JSLEE service that the statistic is representing. This tracks both traffic to other JSLEE services (direction=to_eventbus ) and traffic to the Redis server (direction=to_redis ). |
Example
Given the following configuration on a server whose hostname is jslee
:
{
"applications": {
"redis-out": {
"handler": "nz.co.nsquared.slee.redis.RedisVerticle",
"instance-count": 1,
"configuration": {
// Other configuration
"endpoints": [
{
"name": "rsink",
"sink-list": "home-sink"
}
]
}
},
"redis-in": {
"handler": "nz.co.nsquared.slee.redis.RedisVerticle",
"instance-count": 1,
"configuration": {
// Other configuration
"endpoints": [
{
"name": "jsource",
"source-list": "{home}-source",
"error-list": "home-delivery-error",
"processing-list": "{home}-source-processing",
"sink-list": "home-delivery-success",
"processing-address": "redis-out/rsink"
}
]
}
}
}
}
After startup and the transfer of 100 messages between the source and sink, this configuration will cause the generation of the following statistics:
n2jslee_redis_commands_executed_success_total{command="BRPOPLPUSH",endpoint="jsource",node="jslee",service="redis-in",} 100.0
n2jslee_redis_commands_executed_success_total{command="EXISTS",endpoint="jsource",node="jslee",service="redis-in",} 1.0
n2jslee_redis_commands_executed_success_total{command="LPUSH",endpoint="redis-out-general",node="jslee",service="redis-out",} 100.0
n2jslee_redis_commands_executed_success_total{command="LREM",endpoint="redis-in-general",node="jslee",service="redis-in",} 100.0
n2jslee_redis_commands_executed_success_total{command="PING",endpoint="rsink",node="jslee",service="redis-out",} 1.0
n2jslee_redis_commands_executed_success_total{command="LPUSH",endpoint="redis-in-general",node="jslee",service="redis-in",} 100.0
n2jslee_redis_commands_executed_success_total{command="PING",endpoint="redis-out-general",node="jslee",service="redis-out",} 1.0
n2jslee_redis_commands_executed_success_total{command="EXISTS",endpoint="redis-in-general",node="jslee",service="redis-in",} 1.0
n2jslee_redis_commands_executed_total{command="BRPOPLPUSH",endpoint="jsource",node="jslee",service="redis-in",} 101.0
n2jslee_redis_commands_executed_total{command="EXISTS",endpoint="jsource",node="jslee",service="redis-in",} 1.0
n2jslee_redis_commands_executed_total{command="LPUSH",endpoint="redis-out-general",node="jslee",service="redis-out",} 100.0
n2jslee_redis_commands_executed_total{command="LREM",endpoint="redis-in-general",node="jslee",service="redis-in",} 100.0
n2jslee_redis_commands_executed_total{command="PING",endpoint="rsink",node="jslee",service="redis-out",} 1.0
n2jslee_redis_commands_executed_total{command="LPUSH",endpoint="redis-in-general",node="jslee",service="redis-in",} 100.0
n2jslee_redis_commands_executed_total{command="PING",endpoint="redis-out-general",node="jslee",service="redis-out",} 1.0
n2jslee_redis_commands_executed_total{command="EXISTS",endpoint="redis-in-general",node="jslee",service="redis-in",} 1.0
n2jslee_redis_queue_length{direction="to_eventbus",endpoint="redis-out-general",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="jsource",node="jslee",service="redis-in",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="redis-out-general",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_eventbus",endpoint="jsource",node="jslee",service="redis-in",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="redis-out:edr",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_eventbus",endpoint="rsink",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="redis-in-general",node="jslee",service="redis-in",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="rsink",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_eventbus",endpoint="redis-in-general",node="jslee",service="redis-in",} 0.0
n2jslee_redis_queue_length{direction="to_eventbus",endpoint="redis-out-general",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="jsource",node="jslee",service="redis-in",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="redis-out-general",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_eventbus",endpoint="jsource",node="jslee",service="redis-in",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="redis-out:edr",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_eventbus",endpoint="rsink",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="redis-in-general",node="jslee",service="redis-in",} 0.0
n2jslee_redis_queue_length{direction="to_redis",endpoint="rsink",node="jslee",service="redis-out",} 0.0
n2jslee_redis_queue_length{direction="to_eventbus",endpoint="redis-in-general",node="jslee",service="redis-in",} 0.0
n2jslee_redis_request_latency_ms_max{direction="to_redis",endpoint="jsource",node="jslee",service="redis-in",} 33.0
n2jslee_redis_request_latency_ms_max{direction="to_redis",endpoint="redis-out-general",node="jslee",service="redis-out",} 375.0
n2jslee_redis_request_latency_ms_max{direction="to_eventbus",endpoint="jsource",node="jslee",service="redis-in",} 378.0
n2jslee_redis_request_latency_ms_max{direction="to_redis",endpoint="redis-in-general",node="jslee",service="redis-in",} 377.0
n2jslee_redis_request_latency_ms_max{direction="to_redis",endpoint="rsink",node="jslee",service="redis-out",} 39.0
n2jslee_redis_request_latency_ms_count{direction="to_redis",endpoint="jsource",node="jslee",service="redis-in",} 1.0
n2jslee_redis_request_latency_ms_sum{direction="to_redis",endpoint="jsource",node="jslee",service="redis-in",} 33.0
n2jslee_redis_request_latency_ms_count{direction="to_redis",endpoint="redis-out-general",node="jslee",service="redis-out",} 101.0
n2jslee_redis_request_latency_ms_sum{direction="to_redis",endpoint="redis-out-general",node="jslee",service="redis-out",} 3955.0
n2jslee_redis_request_latency_ms_count{direction="to_eventbus",endpoint="jsource",node="jslee",service="redis-in",} 100.0
n2jslee_redis_request_latency_ms_sum{direction="to_eventbus",endpoint="jsource",node="jslee",service="redis-in",} 4056.0
n2jslee_redis_request_latency_ms_count{direction="to_redis",endpoint="redis-in-general",node="jslee",service="redis-in",} 201.0
n2jslee_redis_request_latency_ms_sum{direction="to_redis",endpoint="redis-in-general",node="jslee",service="redis-in",} 8267.0
n2jslee_redis_request_latency_ms_count{direction="to_redis",endpoint="rsink",node="jslee",service="redis-out",} 1.0
n2jslee_redis_request_latency_ms_sum{direction="to_redis",endpoint="rsink",node="jslee",service="redis-out",} 39.0