Common Utilities

These are some convience functions used throughout libqb.

Author:
Angus Salkeld <asalkeld@redhat.com>
Locking
Time functions
Basic Stopwatch
 uint64_t elapsed1;
 uint64_t elapsed2;
 qb_util_stopwatch_t *sw = qb_util_stopwatch_create();

 qb_util_stopwatch_start(sw);

 usleep(sometime);
 qb_util_stopwatch_stop(sw);
 elapsed1 = qb_util_stopwatch_us_elapsed_get(sw);

 usleep(somemoretime);
 qb_util_stopwatch_stop(sw);
 elapsed2 = qb_util_stopwatch_us_elapsed_get(sw);

 qb_util_stopwatch_free(sw);
Stopwatch with splits
Setup a stopwatch with space for 3 splits.
 uint64_t split;
 qb_util_stopwatch_t *sw = qb_util_stopwatch_create();

 qb_util_stopwatch_split_ctl(sw, 3, 0);
 qb_util_stopwatch_start(sw);

 usleep(sometime);
 qb_util_stopwatch_split(sw);

 usleep(somemoretime);
 qb_util_stopwatch_split(sw);

 usleep(somemoretime);
 qb_util_stopwatch_split(sw);

 idx = qb_util_stopwatch_split_last(sw);
 do {
      split = qb_util_stopwatch_time_split_get(sw, idx, idx);
      qb_log(LOG_INFO, "split %d is %"PRIu64"", last, split);
      idx--;
 } while (split > 0);

 split = qb_util_stopwatch_time_split_get(sw, 2, 1);
 qb_log(LOG_INFO, "time between second and third split is %"PRIu64"", split);

 qb_util_stopwatch_free(sw);

See also:
qbutil.h
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 18 Mar 2016 for libqb by  doxygen 1.6.1