]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: conditionally initialize the tracepoint provider
authorJason Dillaman <dillaman@redhat.com>
Thu, 1 Oct 2015 02:53:28 +0000 (22:53 -0400)
committerJason Dillaman <dillaman@redhat.com>
Wed, 14 Oct 2015 16:07:36 +0000 (12:07 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/ceph_osd.cc

index f3353753a4717fb8703602c4c523f56f1d9c1e13..68d2c912b0ccb12cd8cf805dea0bb98389eb6e3b 100644 (file)
@@ -33,6 +33,7 @@ using namespace std;
 #include "msg/Messenger.h"
 
 #include "common/Timer.h"
+#include "common/TracepointProvider.h"
 #include "common/ceph_argparse.h"
 
 #include "global/global_init.h"
@@ -50,6 +51,15 @@ using namespace std;
 
 #define dout_subsys ceph_subsys_osd
 
+namespace {
+
+TracepointProvider::Traits osd_tracepoint_traits("libosd_tp.so",
+                                                 "osd_tracing");
+TracepointProvider::Traits os_tracepoint_traits("libos_tp.so",
+                                                "osd_objectstore_tracing");
+
+} // anonymous namespace
+
 OSD *osd = NULL;
 
 void handle_osd_signal(int signum)
@@ -528,6 +538,9 @@ int main(int argc, const char **argv)
   global_init_daemonize(g_ceph_context, 0);
   common_init_finish(g_ceph_context);
 
+  TracepointProvider::initialize<osd_tracepoint_traits>(g_ceph_context);
+  TracepointProvider::initialize<os_tracepoint_traits>(g_ceph_context);
+
   MonClient mc(g_ceph_context);
   if (mc.build_initial_monmap() < 0)
     return -1;