snap-plugin-collector-mutilate
Swan uses Snap to collect, process and tag metrics and stores all experiment's data. The following documentation will make sense if you are familiar Snap. You can read more about its plugin model here.
Usage
This plugin collects and parses a
mutilate standard output file and
collects available latency and load metrics. The mutilate standard output file is simply a mutilate run with its output piped to a file. For example:
mutilate -s 127.0.0.1 ... > /tmp/mutilate.stdout
When submitting the Task Manifest, the mutilate collector needs a path to this
file in the stdout_file
configuration field. For example:
{
"version": 1,
"schedule": {
"type": "simple",
"interval": "1s"
},
"workflow": {
"collect": {
"metrics": {
"/intel/swan/mutilate/*/avg": {},
"/intel/swan/mutilate/*/min": {},
"/intel/swan/mutilate/*/std": {}
},
"config": {
"/intel/swan/mutilate": {
"stdout_file": "/tmp/mutilate.stdout"
}
},
"process": null,
"publish": [
{
"plugin_name": "file",
"plugin_version": 3,
"config": {
"file": "/tmp/metrics.out"
}
}
]
}
}
}
To create a task from the Task Manifest above, run:
snaptel plugin load snap-plugin-collector-mutilate
snaptel plugin load snap-plugin-publisher-file
snaptel task create -t task.json
The current available metrics from the collector are:
Name |
Type |
Description |
Example value |
/intel/swan/mutilate/*/avg |
float64 |
Average read latency (in microseconds) |
20.8us |
/intel/swan/mutilate/*/std |
float64 |
Standard deviation for read latency (in microseconds) |
23.1us |
/intel/swan/mutilate/*/min |
float64 |
Minimum read latency (in microseconds) |
11.9us |
/intel/swan/mutilate/*/percentile/5th |
float64 |
The 5th percentile read latency (in microseconds) |
13.3us |
/intel/swan/mutilate/*/percentile/10th |
float64 |
The 5th percentile read latency (in microseconds) |
13.4us |
/intel/swan/mutilate/*/percentile/90th |
float64 |
The 90th percentile read latency (in microseconds) |
33.4us |
/intel/swan/mutilate/*/percentile/95th |
float64 |
The 95th percentile read latency (in microseconds) |
43.1us |
/intel/swan/mutilate/*/percentile/99th |
float64 |
The 99th percentile read latency (in microseconds) |
59.5us |
/intel/swan/mutilate/*/qps |
float64 |
Queries Per Second i.e. load |
4993.1 queries per second |