====== StorPerf API Set ====== ===== ReST API ===== Start Job: ''http://hostname/api/v1.0/start&workload=[workload]&target=[target]'' * See Common Options below for a full list Returns a JSON string as follows: { "version": 1.0 "job_id": "b88509c0-a297-454a-bb84-6e5ebd59cc22" } Query Job Results: ''http://hostname/api/v1.0/report/[job_id]&workload=[workload pattern match]'' * See Common Responses below for the response format for queries ===== CLI ===== ''python storperf/main.py'' Command line options: * -t or --target * -w or --workload * -s or --nossd * -c or --nowarm * verbose //optional// Emit periodic output describing the current read and write latency, and measured IOPS. ====== Common Options ====== If specified from command line, the option is in the format ''--option=''. For ReST, it is embedded in the URL as ''&option='' * ''target=''[device or path] //Optional// The path to either an attached storage device (/dev/vdb, etc) or a directory path (/opt/storperf) that will be used to execute the performance test. In the case of a device, the entire device will be used. If not specified, the current directory will be used. * ''workload=''[workload module] //Optional// If not specified, the default is to run all workloads. The workload types are: * ''rs'': 100% Read, sequential data * ''ws'': 100% Write, sequential data * ''rr'': 100% Read, random access * ''wr'': 100% Write, random access * ''rw'': 70% Read / 30% write, random access * ''nossd'' //optional// Do not perform SSD style preconditioning. * ''nowarm'' //optional// Do not perform a warmup prior to measurements. * ''report='' [job_id] //optional// Query the status of the supplied job_id and report on metrics. If a workload is supplied, will report on only that subset. ====== Common Responses ====== === Report Responses === The report command returns a JSON string with the job status (''running'' or ''completed''). If still running: { "version": 1.0 "status": running "start": 1448905682 } If completed: { "version": 1.0, "status": completed, "start": 1448905682, "end": 1448905914, "workload": [ { "name": "rw", "stats": { "queue-depth": { "1": { "block-size": { "4096": { "read": { "iops": 12191, "latency": { "min": 23, "mean": 413.87, "max": 1638 } }, "write": { "iops": 5234, "latency": { "min": 51, "mean": 39.98, "max": 434 } } } } } } } } ] }