diff --git a/ydb/core/grpc_services/base/base.h b/ydb/core/grpc_services/base/base.h index de1c9dfe9b75..b3fcdf1ecfcd 100644 --- a/ydb/core/grpc_services/base/base.h +++ b/ydb/core/grpc_services/base/base.h @@ -598,6 +598,10 @@ class TRefreshTokenImpl return {}; } + TMaybe GetOpenTelemetryTraceParent() const override { + return {}; + } + TMaybe GetSdkBuildInfo() const { return {}; } @@ -817,6 +821,10 @@ class TGRpcRequestBiStreamWrapper return GetPeerMetaValues(NYdb::YDB_TRACE_ID_HEADER); } + TMaybe GetOpenTelemetryTraceParent() const override { + return GetPeerMetaValues(NYdb::OTEL_TRACE_HEADER); + } + const TMaybe GetSdkBuildInfo() const { return GetPeerMetaValues(NYdb::YDB_SDK_BUILD_INFO_HEADER); } @@ -1139,6 +1147,10 @@ class TGRpcRequestWrapperImpl return GetPeerMetaValues(NYdb::YDB_TRACE_ID_HEADER); } + TMaybe GetOpenTelemetryTraceParent() const override { + return GetPeerMetaValues(NYdb::OTEL_TRACE_HEADER); + } + const TMaybe GetSdkBuildInfo() const { return GetPeerMetaValues(NYdb::YDB_SDK_BUILD_INFO_HEADER); } diff --git a/ydb/core/grpc_services/base/iface.h b/ydb/core/grpc_services/base/iface.h index f24561d8a65b..1331a147c879 100644 --- a/ydb/core/grpc_services/base/iface.h +++ b/ydb/core/grpc_services/base/iface.h @@ -21,6 +21,7 @@ using TAuditLogHook = std::function; class IRequestCtxBaseMtSafe { public: virtual TMaybe GetTraceId() const = 0; + virtual TMaybe GetOpenTelemetryTraceParent() const = 0; // Returns client provided database name virtual const TMaybe GetDatabaseName() const = 0; // Returns "internal" token (result of ticket parser authentication) diff --git a/ydb/core/grpc_services/local_rpc/local_rpc.h b/ydb/core/grpc_services/local_rpc/local_rpc.h index 05c5a212c90f..42efae2740b0 100644 --- a/ydb/core/grpc_services/local_rpc/local_rpc.h +++ b/ydb/core/grpc_services/local_rpc/local_rpc.h @@ -191,6 +191,10 @@ class TLocalRpcCtx : public NGRpcService::IRequestOpCtx { return Nothing(); } + TMaybe GetOpenTelemetryTraceParent() const override { + return Nothing(); + } + TInstant GetDeadline() const override { return TInstant::Max(); }