summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorOmri Zeneva <ozeneva@redhat.com>2022-08-24 15:57:11 +0200
committerYuval Lifshitz <ylifshit@redhat.com>2024-02-06 09:01:42 +0100
commit320a2179a3c6c1981a0fd2494938515997c1bfad (patch)
tree0c083b5c8ed3c467f99952346dda7abfad5a5f19 /cmake
parentMerge pull request #54311 from gabriel-samfira/do-not-escape-slash (diff)
downloadceph-320a2179a3c6c1981a0fd2494938515997c1bfad.tar.xz
ceph-320a2179a3c6c1981a0fd2494938515997c1bfad.zip
tracer/osd/librados/build/rgw: rgw and osd end2end tracing using opentelemetry
* build: add opentelemetry to cmake system crimson targets that uses Message.cc/h are built before opentelemetry (o-tel), so we need to build o-tel eralier so we also add the library to the include path earlier this shoud work for WITH_JAEGER flag both the ON/OFF cases, and for librados where the compilation flag is ignored * msg/tracer: add o-tel trace to Messages with decode/encode function in tracer.h some files that uses Message.cc/h just need the encode/decode functions and not all others functions. some crimson targets does not link with ceph_context (common) which is required for tracer.cc file. so we just need to include that functions * librados: Add opentelemtry trace param for aio_operate and operate methods in order to propagate the trace info I added the otel-trace as an extra param. in some places, there already was a blkin trace info, and since it is not used in other places we can safely change it to o-tel trace info. this will be done in another commit, so the cleanup of blkin trace will be in a dedicated commit * osd: use the o-tel trace of the msg as a parent span of the osd trace if there is a valid span in the msg, we will add this op to the request trace, otherwise it will start a new trace for the OSD op * rgw: pass put obj trace info to librados in order to make it possible, I saved the trace info inside the sal::Object, so we can use it later when writing the object to rados it could be used also later for read ops. note the trace field of req_state is initalized only in rgw_process, so it's also required in librgw request flow * prevent breaking channges to kSize. make sure that changes between components built with different versions of OTEL do not break message compatibility Signed-off-by: Omri Zeneva <ozeneva@redhat.com>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/BuildOpentelemetry.cmake1
1 files changed, 1 insertions, 0 deletions
diff --git a/cmake/modules/BuildOpentelemetry.cmake b/cmake/modules/BuildOpentelemetry.cmake
index ba2edaa0932..48b219e9c0f 100644
--- a/cmake/modules/BuildOpentelemetry.cmake
+++ b/cmake/modules/BuildOpentelemetry.cmake
@@ -82,4 +82,5 @@ function(build_opentelemetry)
PROPERTIES
INTERFACE_LINK_LIBRARIES "${opentelemetry_deps}"
INTERFACE_INCLUDE_DIRECTORIES "${opentelemetry_include_dir}")
+ include_directories(SYSTEM "${opentelemetry_include_dir}")
endfunction()