]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
blkin: librados should start new child trace
authorJason Dillaman <dillaman@redhat.com>
Fri, 12 May 2017 20:43:44 +0000 (16:43 -0400)
committerJason Dillaman <dillaman@redhat.com>
Thu, 18 May 2017 22:13:27 +0000 (18:13 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librados/IoCtxImpl.cc

index 4102df1c0ddd6dbc0f811c610c0c3b3fa1709c26..d0d5a1ae5078f8495af4477b86b76011809dbb68 100644 (file)
@@ -770,7 +770,7 @@ int librados::IoCtxImpl::aio_operate_read(const object_t &oid,
                                          AioCompletionImpl *c,
                                          int flags,
                                          bufferlist *pbl,
-            const blkin_trace_info *trace_info)
+                                          const blkin_trace_info *trace_info)
 {
   FUNCTRACE();
   Context *oncomplete = new C_aio_Complete(c);
@@ -782,8 +782,10 @@ int librados::IoCtxImpl::aio_operate_read(const object_t &oid,
   c->io = this;
 
   ZTracer::Trace trace;
-  if (trace_info)
-    trace.init("rados operate read", &objecter->trace_endpoint, trace_info);
+  if (trace_info) {
+    ZTracer::Trace parent_trace("", nullptr, trace_info);
+    trace.init("rados operate read", &objecter->trace_endpoint, &parent_trace);
+  }
 
   trace.event("init root span");
   Objecter::Op *objecter_op = objecter->prepare_read_op(oid, oloc,
@@ -798,7 +800,7 @@ int librados::IoCtxImpl::aio_operate_read(const object_t &oid,
 int librados::IoCtxImpl::aio_operate(const object_t& oid,
                                     ::ObjectOperation *o, AioCompletionImpl *c,
                                     const SnapContext& snap_context, int flags,
-             const blkin_trace_info *trace_info)
+                                     const blkin_trace_info *trace_info)
 {
   FUNCTRACE();
   OID_EVENT_TRACE(oid.name.c_str(), "RADOS_WRITE_OP_BEGIN");
@@ -816,8 +818,10 @@ int librados::IoCtxImpl::aio_operate(const object_t& oid,
   queue_aio_write(c);
 
   ZTracer::Trace trace;
-  if (trace_info)
-    trace.init("rados operate", &objecter->trace_endpoint, trace_info);
+  if (trace_info) {
+    ZTracer::Trace parent_trace("", nullptr, trace_info);
+    trace.init("rados operate", &objecter->trace_endpoint, &parent_trace);
+  }
 
   trace.event("init root span");
   Objecter::Op *op = objecter->prepare_mutate_op(