Add a debug option to dump statistics counters every ten seconds
[bluesky.git] / bluesky / bluesky.h
index 6bbf4a2..5ef2f28 100644 (file)
@@ -10,6 +10,7 @@
 #define _BLUESKY_H
 
 #include <stdint.h>
+#include <stdio.h>
 #include <inttypes.h>
 #include <glib.h>
 
@@ -53,6 +54,7 @@ struct bluesky_stats {
 struct bluesky_stats *bluesky_stats_new(const char *name);
 void bluesky_stats_add(struct bluesky_stats *stats, int64_t value);
 void bluesky_stats_dump_all();
+void bluesky_stats_run_periodic_dump(FILE *f);
 
 /* BlueSky status and error codes.  Various frontends should translate these to
  * the appropriate error code for whatever protocol they implement. */
@@ -355,6 +357,7 @@ void bluesky_file_read(BlueSkyInode *inode, uint64_t offset,
                        char *buf, gint len);
 
 void bluesky_inode_fetch(BlueSkyFS *fs, uint64_t inum);
+void bluesky_inode_prefetch(BlueSkyFS *fs, uint64_t inum);
 
 gint bluesky_dirent_compare(gconstpointer a, gconstpointer b,
                             gpointer unused);
@@ -368,6 +371,8 @@ void bluesky_debug_dump(BlueSkyFS *fs);
 
 /* Request response time tracking. */
 typedef struct BlueSkyProfile {
+    int magic;
+    GMutex *lock;
     char *description;
     GList *events;
 } BlueSkyProfile;
@@ -378,6 +383,7 @@ void bluesky_profile_add_event(BlueSkyProfile *profile, char *message);
 void bluesky_profile_print(BlueSkyProfile *profile);
 BlueSkyProfile *bluesky_profile_get();
 void bluesky_profile_set(BlueSkyProfile *profile);
+void bluesky_profile_set_output(FILE *stream);
 
 #ifdef __cplusplus
 }