cs3probes
is a simple API level test framework for EFSS that implement CS3APIs. Tests are realized as Nagios compatible probes.
Compile all probes to bin/
:
>$ make build
Delete all probes from bin/
:
>$ make clean
Delete all probes from bin/
and compile all probes to /bin
:
>$ make rebuild
Compile all probes to bin/
:
go build -o bin ./cmd/...
There are currently three core
probes available:
network
tests availability by ping and portscan
>$ ./bin/network
FLAGS:
-percentile int
the percentile for outlier detection (default 90)
-target string
[required] the target, [host]:[port]
-warnlimit int
minimum number of logs for outlier detection (default 100)
fsoperations
tests basic filesystem ops
>$ ./bin/fsoperations
FLAGS:
-pass string
[required] the user password
-percentile int
the percentile for outlier detection (default 90)
-target string
[required] the target iop
-user string
[required] the username
-warnlimit int
minimum number of logs for outlier detection (default 100)
fsspeed
tests overhead by comparing ops on 1x 100kb vs 10x 10kb files
>$ ./bin/fsspeed
FLAGS:
-pass string
[required] the user password
-percentile int
the percentile for outlier detection (default 90)
-target string
[required] the target iop
-user string
[required] the username
-warnlimit int
minimum number of logs for outlier detection (default 100)
histograms/histograms.py
can give you a rough graphical overview of response time distribution by generating histograms for all tests as PDF.
>$ python3 ./histograms.py /path/to/database.db [98]
You may specify a percentile to highlight, as shown above ([98]
).