User Tools

Site Tools


storperf:api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
storperf:api [2015/11/30 19:09]
Mark Beierl [CLI]
storperf:api [2015/12/02 18:22] (current)
Mark Beierl [Common Options]
Line 3: Line 3:
 ===== ReST API ===== ===== ReST API =====
  
-Details are to be finalized before API freeze early in December.+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 ===== ===== CLI =====
  
Line 23: 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 
 +                    } 
 +                  } 
 +                } 
 +              } 
 +            } 
 +          } 
 +        } 
 +      } 
 +    ] 
 +  }
  
storperf/api.1448910585.txt.gz · Last modified: 2015/11/30 19:09 by Mark Beierl