ceph/src/messages
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
..
MAuth.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MAuthReply.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MBackfillReserve.h
MCacheExpire.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MClientCapRelease.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MClientCaps.h cephfs: add additional logging to track change_attr of inodes 2022-10-14 19:25:40 -04:00
MClientLease.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MClientMetrics.h messages: build without "using namespace std" 2021-08-13 12:21:39 +08:00
MClientQuota.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MClientReclaim.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MClientReclaimReply.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MClientReconnect.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MClientReply.h messages: avoid converting ceph errors on Windows 2022-11-10 09:38:14 +02:00
MClientRequest.h mds: memset the head by default to fix the readable.sh test failure 2023-02-27 17:37:34 +08:00
MClientRequestForward.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MClientSession.h mds: Add new flag to MClientSession 2021-08-26 14:58:53 +05:30
MClientSnap.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MCommand.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MCommandReply.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MConfig.h
MDentryLink.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MDentryUnlink.h mds: wait unlink to finish to avoid conflict when creating same dentries 2022-08-12 17:37:23 +08:00
MDirUpdate.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MDiscover.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MDiscoverReply.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportCaps.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportCapsAck.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDir.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDirAck.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDirCancel.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDirDiscover.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDirDiscoverAck.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDirFinish.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDirNotify.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDirNotifyAck.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDirPrep.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MExportDirPrepAck.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MForward.h crimson/net: Message::conn needs to be a foreign_ptr 2022-09-26 19:35:41 -07:00
MFSMap.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MFSMapUser.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MGatherCaps.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MGenericMessage.h
MGetConfig.h
MGetPoolStats.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MGetPoolStatsReply.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MHeartbeat.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MInodeFileCaps.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MKVData.h mgr,mon: s/boost::optional/std::optional/ 2021-06-29 16:59:33 +08:00
MLock.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MLog.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MLogAck.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMDSBeacon.h mds: add inject config for synthetic health message 2022-07-25 09:57:15 -04:00
MMDSCacheRejoin.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSFindIno.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSFindInoReply.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSFragmentNotify.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSFragmentNotifyAck.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSLoadTargets.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSMap.h mds: remove 'fs_name' from MDSRank 2021-06-17 12:48:59 -04:00
MMDSMetrics.h messages: build without "using namespace std" 2021-08-13 12:21:39 +08:00
MMDSOp.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMDSOpenIno.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSOpenInoReply.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSPeerRequest.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSPing.h messages: build without "using namespace std" 2021-08-13 12:21:39 +08:00
MMDSResolve.h messages: build without "using namespace std" 2021-08-13 12:21:39 +08:00
MMDSResolveAck.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSScrub.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSScrubStats.h messages: build without "using namespace std" 2021-08-13 12:21:39 +08:00
MMDSSnapUpdate.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMDSTableRequest.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMgrBeacon.h mgr: store names of modules that register RADOS clients in the MgrMap 2023-02-28 09:20:28 -05:00
MMgrClose.h
MMgrCommand.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMgrCommandReply.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMgrConfigure.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMgrDigest.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMgrMap.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMgrOpen.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMgrReport.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MMgrUpdate.h mgr: Remove service_daemon handling from MMgrUpdate 2022-06-24 11:10:03 -04:00
MMonCommand.h crimson/net: Message::conn needs to be a foreign_ptr 2022-09-26 19:35:41 -07:00
MMonCommandAck.h common/cmdparse: Unsplit crimson/classic 2022-06-08 14:17:22 +00:00
MMonElection.h messages: Add crimson's make_message as friend to messages classes with 2021-05-06 20:22:05 +03:00
MMonGetMap.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonGetOSDMap.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonGetPurgedSnaps.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonGetPurgedSnapsReply.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonGetVersion.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonGetVersionReply.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonGlobalID.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonHealth.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonHealthChecks.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonJoin.h messages: build without "using namespace std" 2021-08-13 12:21:39 +08:00
MMonMap.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonMgrReport.h mon/MgrStatMonitor: ignore MMgrReport from non-active mgr 2021-03-18 12:00:01 -05:00
MMonPaxos.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonPing.h messages: build without "using namespace std" 2021-08-13 12:21:39 +08:00
MMonProbe.h mon: MMonProbe: direct MMonJoin messages to the leader, instead of the first mon 2021-04-13 23:29:39 +00:00
MMonQuorumService.h
MMonScrub.h
MMonSubscribe.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonSubscribeAck.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MMonSync.h
MMonUsedPendingKeys.h mon: automatically commit used pending_keys 2022-09-12 17:02:59 +00:00
MOSDAlive.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDBackoff.h
MOSDBeacon.h
MOSDBoot.h messages: drop compatibility for pre-octopus versions 2021-02-23 18:54:13 +08:00
MOSDECSubOpRead.h
MOSDECSubOpReadReply.h
MOSDECSubOpWrite.h
MOSDECSubOpWriteReply.h
MOSDFailure.h messages: drop compatibility for pre-octopus versions 2021-02-23 18:54:13 +08:00
MOSDFastDispatchOp.h
MOSDForceRecovery.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDFull.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDMap.h messages/MOSDMap: Remove get_oldest/newest 2023-02-02 12:22:24 +02:00
MOSDMarkMeDead.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDMarkMeDown.h osd/OSD: osd_fast_shutdown_notify_mon not quite right 2022-03-23 14:37:01 +00:00
MOSDOp.h tracer/osd/librados/build/rgw: rgw and osd end2end tracing using opentelemetry 2023-03-19 17:00:31 +02:00
MOSDOpReply.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPeeringOp.h
MOSDPGBackfill.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGBackfillRemove.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGCreate2.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGCreated.h
MOSDPGInfo2.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGInfo.h messages: drop compatibility for pre-octopus versions 2021-02-23 18:54:13 +08:00
MOSDPGLease.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGLeaseAck.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGLog.h messages: drop compatibility for pre-octopus versions 2021-02-23 18:54:13 +08:00
MOSDPGNotify2.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGNotify.h messages: drop compatibility for pre-octopus versions 2021-02-23 18:54:13 +08:00
MOSDPGPull.h messages,osd,crimson: let MOSDPGPull::take_pulls() return pulls 2020-12-15 09:01:44 +08:00
MOSDPGPush.h
MOSDPGPushReply.h
MOSDPGQuery2.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGQuery.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGReadyToMerge.h
MOSDPGRecoveryDelete.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGRecoveryDeleteReply.h
MOSDPGRemove.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGScan.h messages: drop compatibility for pre-octopus versions 2021-02-23 18:54:13 +08:00
MOSDPGTemp.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGTrim.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGUpdateLogMissing.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPGUpdateLogMissingReply.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDPing.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDRepOp.h messages/MOSDRep{Op,OpReply}: do not support osd < octopus 2021-02-23 18:54:13 +08:00
MOSDRepOpReply.h messages/MOSDRep{Op,OpReply}: do not support osd < octopus 2021-02-23 18:54:13 +08:00
MOSDRepScrub.h osd/scrub: only telling the scrubber of 'updates' events if these events are waited for 2021-08-11 16:48:21 +03:00
MOSDRepScrubMap.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDScrub2.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MOSDScrubReserve.h
MPGStats.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MPGStatsAck.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MPing.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MPoolOp.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MPoolOpReply.h
MRecoveryReserve.h
MRemoveSnaps.h msg: Change crimson's make_message() namespace to crimson 2021-05-25 15:28:26 +03:00
MRoute.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MServiceMap.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MStatfs.h mgr,mon: s/boost::optional/std::optional/ 2021-06-29 16:59:33 +08:00
MStatfsReply.h
MTimeCheck2.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MTimeCheck.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
MWatchNotify.h message: mark message classes "final" 2020-11-16 15:38:26 +08:00
PaxosServiceMessage.h