]> git.cworth.org Git - fips/blobdiff - metrics.c
Report what the actual units are.
[fips] / metrics.c
index 84fc23f6b20b02a2a15ece51ee9b63447d4e5466..19d5df09b0861149310917981a1d7144e64df561 100644 (file)
--- a/metrics.c
+++ b/metrics.c
@@ -57,6 +57,9 @@ typedef struct context
 
 context_t current_context;
 
+int frames;
+int verbose;
+
 unsigned
 metrics_counter_new (void)
 {
@@ -132,24 +135,36 @@ print_program_metrics (void)
        for (i = 0; i < ctx->num_program_metrics; i++) {
                if (ctx->program_metrics[i].ticks == 0.0)
                        continue;
-               printf ("Program %d:\t%7.2f mega-ticks\n",
+               printf ("Program %d:\t%7.2f ms\n",
                        i, ctx->program_metrics[i].ticks / 1e6);
        }
 }
 
+/* Called at program exit */
+static void
+metrics_exit (void)
+{
+       if (verbose)
+               printf ("fips: terminating\n");
+}
+
+
 void
 metrics_end_frame (void)
 {
        static int initialized = 0;
-       static int frames;
        static struct timeval tv_start, tv_now;
 
        if (! initialized) {
-               frames = 0;
                gettimeofday (&tv_start, NULL);
+               atexit (metrics_exit);
+               if (getenv ("FIPS_VERBOSE"))
+                       verbose = 1;
                initialized = 1;
        }
 
+       if (verbose)
+               printf ("fips: frame %d complete\n", frames);
 
        frames++;
        gettimeofday (&tv_now, NULL);