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 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 
 +                    } 
 +                  } 
 +                } 
 +              } 
 +            } 
 +          } 
 +        } 
 +      } 
 +    ] 
 +  }
  
storperf/api.1448917938.txt.gz · Last modified: 2015/11/30 21:12 by Mark Beierl