]> 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>
Fri, 20 Nov 2015 16:54:28 +0000 (11:54 -0500)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 0009f343a5daf28358a669836d95660c0d9068d8)

src/ceph_osd.cc

index 884b7edcf444eb04236f6a1f4245016f329e8624..df99640bacb34c30a28b46e82f270e54c27340db 100644 (file)
@@ -34,6 +34,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"
@@ -51,6 +52,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)
@@ -484,6 +494,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;