Hi, Tracing in Ceph is very complicated with lttng tracepoints, function traces, babeltraces, op trackers and blkin... They are hard to use because most of them lack essential features such as cross-component tracing, sampling, trace data centralization and analysis pipeline, all requiring considerable efforts to implement. OpenTracing (opentracing.io) addresses these problems by providing vendor-agnostic APIs for distributed tracing. It means that by leveraging pure OpenTracing APIs, essential features can be available immediately with compatible tracers. For example, Jaeger tracer (www.jaegertracing.io) already supports trace context propagation, adaptive sampling with remote control, trace data buffering/report/persist and simple web UI. And with O(1) configuration change, other trace plugins can be used for unittest and more advanced purposes. Most importantly, efforts can be divided to implement Ceph-native tracer plugin, bringing Ceph-specific analysis and interoperable features in dashboard/mgr/central-config, etc., without dependencies on 3rd-party trace systems. I wrote a simplest trace library (https://github.com/cyx1231st/distributed-tracing-example) with jaegerTracer/mockTracer plugin and Ceph simulator as a start. I’m looking forward to implement Ceph tracing library based on this if necessary. I’m also working on extending the OpenTracing model to support “CriticalPath-aware tracing”, as mentioned in Ceph Alocon Session “Pinpoint Ceph Bottleneck Out of Cluster Behavior Mists”. It is a solution for cluster-level bottleneck identification & data-driven analysis. Regards Yingxin -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html