tree d4f6a35493795090044d5cae46356ed4e2ae32c6
parent bfae5e06c8e090c68c250150fb9a740426ef4baa
author Pavlin Radoslavov <pavlin@onlab.us> 1363770092 -0700
committer Pavlin Radoslavov <pavlin@onlab.us> 1363770092 -0700

* Added two methods that can be used for measurement purpose:
  - FlowManager::measureShortestPath()
    Computes the time it takes to (re)compute the shortest path
    for all flows in the network map.
  - FlowManager::measureMapReader()
    Computes the time it takes to fetch all flow entries in the
    network map.
  Both methods are disabled by default, but can be enabled
  by uncommenting the corresponding following code that schedules
  periodic tasks for each method:

   /*
    final ScheduledFuture<?> measureShortestPathHandle =
    ...
   */
    /*
    final ScheduledFuture<?> measureMapReaderHandle =
   ...
   */

* Add measurement code that prints the amount of time to
  add/delete a single flow with a specific Flow ID (100000)
  Currently, that code is enabled.
