Added initial implementation (untested) of code (controlled by REST API)
for measuring the performance of writing Flow state to the Network MAP.
Currently, the semantics are:
1. Call multiple times the following REST call to store internally
each flow:
http://localhost:8080/wm/flow/measurement-store-path/json
Each call is similar to the "add-shortest-path" REST call
when adding a regular flow: the JSON object contains the endpoints
and the match conditions.
The "measurement-store-path" Flow is stored internally and will
be used later for measurement purpose.
2. Use the following REST call to start the measurements:
http://localhost:8080/wm/flow/measurement-install-paths/{num-threads}/json
The "num-threads" argument is used to specify how many threads should
be used to install the measurement flows.
3. Use the following REST call to obtain how long time (in nanoseconds)
it took to install the measurement flows in the Network MAP:
http://localhost:8080/wm/flow/measurement-get-install-paths-time-nsec/json
4. Use the following REST call to clear the measurement flows that
were stored internally in Step 1:
http://localhost:8080/wm/flow/measurement-clear-all-paths/json
Note that in Step 4 the installed Flows are NOT deleted from the
Network MAP.
NOTE: Step (2) and (3) can be repeated multiple times (e.g., for a different
number of theads) for the same set of Flows that were stored in Step (1).
However, it might be desirable that Step (3) is followed by an explicit
deletion of the installed Flows from the Network MAP (and the switches).
7 files changed