]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tracing: add cyg_profile tracepoint provider
authorMohamad Gebai <mgebai@suse.com>
Thu, 11 May 2017 13:14:45 +0000 (09:14 -0400)
committerMohamad Gebai <mgebai@suse.com>
Thu, 25 May 2017 19:16:21 +0000 (15:16 -0400)
Signed-off-by: Mohamad Gebai <mgebai@suse.com>
src/tracing/CMakeLists.txt
src/tracing/cyg_profile.c [new file with mode: 0644]
src/tracing/cyg_profile.tp [new file with mode: 0644]

index 6caa91cd722c737a6bfef832b6aa8dcbceff1a20..72257138baaf02fa8045561c0f14be6e7e45c670 100644 (file)
@@ -48,6 +48,10 @@ add_tracing_library(rbd_tp librbd.tp 1.0.0)
 add_tracing_library(os_tp objectstore.tp 1.0.0)
 
 install(TARGETS rados_tp osd_tp rbd_tp os_tp DESTINATION ${CMAKE_INSTALL_LIBDIR})
+if(WITH_OSD_INSTRUMENT_FUNCTIONS)
+  add_tracing_library(cyg_profile_tp cyg_profile.tp 1.0.0)
+  install(TARGETS cyg_profile_tp DESTINATION ${CMAKE_INSTALL_LIBDIR})
+endif()
 if(WITH_LTTNG AND WITH_EVENTTRACE)
   add_tracing_library(eventtrace_tp eventtrace.tp 1.0.0)
   install(TARGETS eventtrace_tp DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/src/tracing/cyg_profile.c b/src/tracing/cyg_profile.c
new file mode 100644 (file)
index 0000000..c552721
--- /dev/null
@@ -0,0 +1,6 @@
+#define TRACEPOINT_CREATE_PROBES
+/*
+ * The header containing our TRACEPOINT_EVENTs.
+ */
+#include "tracing/cyg_profile.h"
+
diff --git a/src/tracing/cyg_profile.tp b/src/tracing/cyg_profile.tp
new file mode 100644 (file)
index 0000000..42d9b4c
--- /dev/null
@@ -0,0 +1,23 @@
+#include "include/int_types.h"
+
+TRACEPOINT_EVENT(lttng_ust_cyg_profile, func_entry,
+    TP_ARGS(
+        void *,  func_addr,
+        void *,  call_site),
+    TP_FIELDS(
+          ctf_integer_hex(unsigned long, addr, func_addr)
+          ctf_integer_hex(unsigned long, call_site, call_site)
+    )
+)
+
+TRACEPOINT_EVENT(lttng_ust_cyg_profile, func_exit,
+    TP_ARGS(
+          void *,  func_addr,
+          void *,  call_site
+    ),
+    TP_FIELDS(
+          ctf_integer_hex(unsigned long, addr, func_addr)
+          ctf_integer_hex(unsigned long, call_site, call_site)
+    )
+)
+