/cs3probes

API level tests for CS3APIs

Primary LanguageGo

cs3probes

cs3probes is a simple API level test framework for EFSS that implement CS3APIs. Tests are realized as Nagios compatible probes.

Compile

make

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

Windows

Compile all probes to bin/:

go build -o bin ./cmd/...

Usage

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/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]).