]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Added debug function
authorAlan T. DeKok <aland@freeradius.org>
Mon, 19 Dec 2016 16:07:55 +0000 (11:07 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 19 Dec 2016 16:07:55 +0000 (11:07 -0500)
src/util/time.c
src/util/time.h

index 48ccdd782c46b1647593576a91046488d5b233e2..447f8436565a7bfb0aa3fa82bc923044ca6c1bd7 100644 (file)
@@ -239,3 +239,26 @@ void fr_time_tracking_resume(fr_time_tracking_t *tt, fr_time_t when)
         */
        FR_DLIST_REMOVE(tt->list);
 }
+
+
+/** Print debug information about the time tracking structure
+ *
+ */
+void fr_time_tracking_debug(fr_time_tracking_t *tt, FILE *fp)
+{
+#define DPRINT(_x) fprintf(fp, "\t" #_x " = %zd\n", tt->_x);
+
+       fprintf(fp, "Absolute timers\n");
+       DPRINT(start);
+       DPRINT(end);
+       DPRINT(when);
+
+       fprintf(fp, "When it last yielded / resumed\n");
+       DPRINT(yielded);
+       DPRINT(resumed);
+
+       fprintf(fp, "Time spent processing this request\n");
+       DPRINT(predicted);
+       DPRINT(running);
+       DPRINT(waiting);
+}
index 51270e24bf4ecb3043d580b0b285bed945e0ec9d..cff225bb91e98d4fd463af919fe998b901d16c55 100644 (file)
@@ -30,6 +30,7 @@ RCSIDH(time_h, "$Id$")
  */
 #include <freeradius-devel/missing.h>
 #include <stdint.h>
+#include <stdio.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -97,6 +98,7 @@ void fr_time_tracking_start(fr_time_tracking_t *tt, fr_time_t when) CC_HINT(nonn
 void fr_time_tracking_end(fr_time_tracking_t *tt, fr_time_t when, fr_time_tracking_t *worker) CC_HINT(nonnull);
 void fr_time_tracking_yield(fr_time_tracking_t *tt, fr_time_t when, fr_time_tracking_t *worker) CC_HINT(nonnull);
 void fr_time_tracking_resume(fr_time_tracking_t *tt, fr_time_t when) CC_HINT(nonnull);
+void fr_time_tracking_debug(fr_time_tracking_t *tt, FILE *fp) CC_HINT(nonnull);
 
 #ifdef __cplusplus
 }