diff --git a/include/hidl/HidlSupport.h b/include/hidl/HidlSupport.h
index 347d9e4..6b88664 100644
--- a/include/hidl/HidlSupport.h
+++ b/include/hidl/HidlSupport.h
@@ -18,6 +18,7 @@
 #define ANDROID_HIDL_SUPPORT_H
 
 #include <algorithm>
+#include <dirent.h>
 #include <dlfcn.h>
 #include <hwbinder/Parcel.h>
 #include <utils/Errors.h>
@@ -286,6 +287,53 @@
                               I##INTERFACE::version);                                    \
     }
 
+// ----------------------------------------------------------------------
+// Hidl instrumentation utilities.
+
+// Event that triggers the instrumentation. e.g. enter of an API call on
+// the server/client side, exit of an API call on the server/client side etc.
+enum InstrumentationEvent {
+    SERVER_API_ENTRY = 0,
+    SERVER_API_EXIT,
+    CLIENT_API_ENTRY,
+    CLIENT_API_EXIT,
+    SYNC_CALLBACK_ENTRY,
+    SYNC_CALLBACK_EXIT,
+    ASYNC_CALLBACK_ENTRY,
+    ASYNC_CALLBACK_EXIT,
+};
+
+// Signature of the instrumentation callback function.
+using InstrumentationCallback = std::function<void(
+        const InstrumentationEvent event,
+        const char *package,
+        const char *version,
+        const char *interface,
+        const char *method,
+        std::vector<void *> *args)>;
+
+// Function that lookup and dynamically loads the hidl instrumentation libraries
+// and registers the instrumentation callback functions.
+//
+// The instrumentation libraries should be stored under any of the following
+// directories: HAL_LIBRARY_PATH_SYSTEM, HAL_LIBRARY_PATH_VENDOR and
+// HAL_LIBRARY_PATH_ODM. The name of instrumentation libraries should follow
+// pattern: ^profilerPrefix(.*).profiler.so$
+//
+// Each instrumentation library is expected to implement the instrumentation
+// function called HIDL_INSTRUMENTATION_FUNCTION.
+//
+// A no-op for user build.
+void registerInstrumentationCallbacks(
+        const std::string &profilerPrefix,
+        std::vector<InstrumentationCallback> *instrumentationCallbacks);
+
+// Utility function to determine whether a give file is a instrumentation
+// library (i.e. the file name follow the expected pattern).
+bool isInstrumentationLib(
+        const std::string &profilerPrefix,
+        const dirent *file);
+
 }  // namespace hardware
 }  // namespace android
 
