Commit Graph

9 Commits

Author SHA1 Message Date
Yuval Lifshitz
e39ca6b6b8 Revert "tracer/osd/librados/build/rgw: rgw and osd end2end tracing using opentelemetry"
This reverts commit 5d4c5e65be.

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
2023-04-30 13:31:19 +00:00
Omri Zeneva
5d4c5e65be 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

Signed-off-by: Omri Zeneva <ozeneva@redhat.com>
2023-03-19 17:00:31 +02:00
Deepika Upadhyay
3eb6c29aa5 cmake: remove git fetch and use submodule for building opentelemetry lib
We were using git fetch and an unofficial remote to fetch
opentelemetry-cpp, as it needed additional patch to include boost
headers, with the merge of

open-telemetry/opentelemetry-cpp#1100
open-telemetry/opentelemetry-cpp#1020

we do not require to maintain our own patched version. Also, we were
using git fetch as a temporary change, now that tracing is always on, it
should be right time to adapt to using opentelemetry-cpp as a submodule.

This removes compile time fetch for opentelemetry-cpp instead use
official opentelemetry-cpp lib as a submodule.

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2022-06-22 01:06:33 +00:00
Omri Zeneva
f956b79aaa cmake: change build type of opentelemtry to Release
Signed-off-by: Omri Zeneva <ozeneva@redhat.com>
2022-05-17 04:42:01 -04:00
Deepika Upadhyay
19eff9a014 cmake: use BOOST_ROOT if building with system boost
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2022-05-17 04:38:01 -04:00
Deepika Upadhyay
bbaafcd32c cmake: create jaeger_base target for consuming tracing libraries
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2022-05-17 04:38:01 -04:00
Deepika Upadhyay
e63f1ba027 cmake: include opentelemetry include directories
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2022-05-17 04:38:01 -04:00
Deepika Upadhyay
4128106de3 debian: remove libjaeger packaging
we no longer need to package libjaeger, as we would be using
libopentelemetry static libraries(until we support shared).

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-11-24 19:59:18 +05:30
Deepika Upadhyay
2749ab0635 cmake: replace opentracing-cpp with opentelemetry-cpp
we build and use targets needed for jaeger to work with opentelemetry
referring:
https://github.com/open-telemetry/opentelemetry-cpp/blob/main/examples/jaeger/CMakeLists.txt

right now we need a patch for using thrift from distro packages, hence
we are using GIT_FETCH based externalProject method, for development
purpose, which will be replace by more reliable method in future.

NOTE: phase 1, still needs to be tested.

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-11-24 19:59:18 +05:30