Start to add request time profiling.
[bluesky.git] / bluesky / bluesky.h
index c27fb6c..e83c609 100644 (file)
@@ -100,6 +100,8 @@ gboolean bluesky_rangeset_insert(BlueSkyRangeset *rangeset,
 const BlueSkyRangesetItem *bluesky_rangeset_lookup(BlueSkyRangeset *rangeset,
                                                    uint64_t offset);
 const BlueSkyRangesetItem *bluesky_rangeset_lookup_next(BlueSkyRangeset *rangeset, uint64_t offset);
+void bluesky_rangeset_get_extents(BlueSkyRangeset *rangeset,
+                                  uint64_t *start, uint64_t *length);
 
 /* Storage interface.  This presents a key-value store abstraction, and can
  * have multiple implementations: in-memory, on-disk, in-cloud. */
@@ -361,6 +363,19 @@ void bluesky_flushd_thread_launch(BlueSkyFS *fs);
 
 void bluesky_debug_dump(BlueSkyFS *fs);
 
+/* Request response time tracking. */
+typedef struct BlueSkyProfile {
+    char *description;
+    GList *events;
+} BlueSkyProfile;
+
+BlueSkyProfile *bluesky_profile_new();
+void bluesky_profile_free(BlueSkyProfile *profile);
+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);
+
 #ifdef __cplusplus
 }
 #endif