This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
storperf:api [2015/11/30 21:12] Mark Beierl [ReST API] |
storperf:api [2015/12/02 18:22] (current) Mark Beierl [Common Options] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== ReST API ===== | ===== ReST API ===== | ||
| - | Start Job: http://hostname/api/v1.0/start&workload=[]&target=[] | + | Start Job: ''http://hostname/api/v1.0/start&workload=[workload]&target=[target]'' |
| * See Common Options below for a full list | * See Common Options below for a full list | ||
| + | |||
| Returns a JSON string as follows: | Returns a JSON string as follows: | ||
| { | { | ||
| Line 11: | Line 13: | ||
| } | } | ||
| | | ||
| - | Query Job Results: http://hostname/api/v1.0/results/[job_id] | + | Query Job Results: ''http://hostname/api/v1.0/report/[job_id]&workload=[workload pattern match]'' |
| - | Returns a JSON string with the job status (''running'' or ''completed''). If still running: | + | * See Common Responses below for the response format for queries |
| - | { | + | |
| - | "version": 1.0 | + | |
| - | "status": running | + | |
| - | "start": 1448905682 | + | |
| - | } | + | |
| - | + | ||
| - | If completed: | + | |
| - | + | ||
| - | { | + | |
| - | "version": 1.0, | + | |
| - | "status": completed, | + | |
| - | "start": 1448905682, | + | |
| - | "end": 1448905914, | + | |
| - | "stats": { | + | |
| - | "read": { | + | |
| - | "iops": 12191, | + | |
| - | "throughput": 48764, | + | |
| - | "bytes": 146148, | + | |
| - | "latency": { | + | |
| - | "min": 23, | + | |
| - | "mean": 413.87, | + | |
| - | "max": 1638 | + | |
| - | }, | + | |
| - | "write": { | + | |
| - | "iops": 5234, | + | |
| - | "throughput": ,20936 | + | |
| - | "bytes": 62748, | + | |
| - | "latency": { | + | |
| - | "min": 51, | + | |
| - | "mean": 39.98, | + | |
| - | "max": 434 | + | |
| - | } | + | |
| - | } | + | |
| - | } | + | |
| - | + | ||
| - | | + | |
| ===== CLI ===== | ===== CLI ===== | ||
| Line 66: | Line 32: | ||
| If specified from command line, the option is in the format ''--option=''. For ReST, it is embedded in the URL as ''&option='' | 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. | + | * ''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: | + | * ''workload=''[workload module] //Optional// If not specified, the default is to run all workloads. The workload types are: |
| - | * rs: 100% Read, sequential data | + | * ''rs'': 100% Read, sequential data |
| - | * ws: 100% Write, sequential data | + | * ''ws'': 100% Write, sequential data |
| - | * rr: 100% Read, random access | + | * ''rr'': 100% Read, random access |
| - | * wr: 100% Write, random access | + | * ''wr'': 100% Write, random access |
| - | * rw: 70% Read / 30% write, random access | + | * ''rw'': 70% Read / 30% write, random access |
| - | * nossd //optional// Do not perform SSD style preconditioning. | + | * ''nossd'' //optional// Do not perform SSD style preconditioning. |
| - | * nowarm //optional// Do not perform a warmup prior to measurements. | + | * ''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 | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | ] | ||
| + | } | ||