.\" Automatically generated man page, do not edit .TH QBUTIL.H 3 2023-07-21 "LIBQB" "libqb Programmer's Manual" .SH NAME qbutil.h \- These are some convience functions used throughout libqb. .SH SYNOPSIS .nf .B #include .SH DESCRIPTION .PP Locking .PP Time functions .PP Basic Stopwatch .nf 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); .fi .PP Stopwatch with splits .PP Setup a stopwatch with space for 3 splits. .nf 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); .fi .SH SEE ALSO .PP .nh .ad l \fIqb_util_nano_current_get\fR(3), \fIqb_util_stopwatch_stop\fR(3), \fIqb_util_stopwatch_split\fR(3), \fIqb_util_stopwatch_split_ctl\fR(3), \fIqb_thread_unlock\fR(3), \fIqb_strerror_r\fR(3), \fIqb_util_stopwatch_time_split_get\fR(3), \fIqb_util_set_log_function\fR(3), \fIqb_util_timespec_from_epoch_get\fR(3), \fIqb_thread_lock_destroy\fR(3), \fIqb_thread_trylock\fR(3), \fIqb_util_nano_monotonic_hz\fR(3), \fIqb_util_nano_from_epoch_get\fR(3), \fIqb_util_stopwatch_create\fR(3), \fIqb_util_stopwatch_split_last\fR(3), \fIqb_thread_lock\fR(3), \fIqb_util_stopwatch_free\fR(3), \fIqb_thread_lock_create\fR(3), \fIqb_timespec_add_ms\fR(3), \fIqb_util_stopwatch_start\fR(3), \fIqb_util_stopwatch_us_elapsed_get\fR(3), \fIqb_util_stopwatch_sec_elapsed_get\fR(3) .ad .hy .SH "COPYRIGHT" .PP Copyright (C) 2010-2020 Red Hat, Inc.