From 1c80964f3b887c26c840e3992e05ad459ecd490f Mon Sep 17 00:00:00 2001 From: Oleg Shatov Date: Sat, 24 Feb 2024 19:14:40 +0000 Subject: [PATCH] Added database to request discriminator --- ydb/core/grpc_services/base/base.h | 13 ++++++++----- ydb/core/jaeger_tracing/request_discriminator.cpp | 1 + ydb/core/jaeger_tracing/request_discriminator.h | 3 +++ ydb/services/keyvalue/grpc_service.cpp | 4 +--- ydb/services/local_discovery/grpc_func_call.h | 7 +++++-- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/ydb/core/grpc_services/base/base.h b/ydb/core/grpc_services/base/base.h index f3bbb9463444..1a35163c388e 100644 --- a/ydb/core/grpc_services/base/base.h +++ b/ydb/core/grpc_services/base/base.h @@ -344,7 +344,7 @@ struct TRequestAuxSettings { TRateLimiterMode RlMode = TRateLimiterMode::Off; void (*CustomAttributeProcessor)(const TSchemeBoardEvents::TDescribeSchemeResult& schemeData, ICheckerIface*) = nullptr; TAuditMode AuditMode = TAuditMode::Off; - NJaegerTracing::TRequestDiscriminator RequestDiscriminator = NJaegerTracing::TRequestDiscriminator::EMPTY; + NJaegerTracing::ERequestType RequestType = NJaegerTracing::ERequestType::UNSPECIFIED; }; class TGRpcRequestProxySimple; @@ -378,7 +378,7 @@ class IRequestProxyCtx virtual void LegacyFinishSpan() = 0; // Used for per-type sampling - virtual const NJaegerTracing::TRequestDiscriminator& GetRequestDiscriminator() const { + virtual NJaegerTracing::TRequestDiscriminator GetRequestDiscriminator() const { return NJaegerTracing::TRequestDiscriminator::EMPTY; }; @@ -1403,7 +1403,7 @@ class TGrpcRequestCall using TRequestIface = typename std::conditional::type; public: - static IActor* CreateRpcActor(typename std::conditional::type* msg); + static IActor* CreateRpcActor(TRequestIface* msg); static constexpr bool IsOp = IsOperation; using TBase = std::conditional_t::Value, @@ -1445,8 +1445,11 @@ class TGrpcRequestCall } } - const NJaegerTracing::TRequestDiscriminator& GetRequestDiscriminator() const override { - return AuxSettings.RequestDiscriminator; + NJaegerTracing::TRequestDiscriminator GetRequestDiscriminator() const override { + return { + .RequestType = AuxSettings.RequestType, + .Database = TBase::GetDatabaseName(), + }; } // IRequestCtxBaseMtSafe diff --git a/ydb/core/jaeger_tracing/request_discriminator.cpp b/ydb/core/jaeger_tracing/request_discriminator.cpp index 8baa504c9f2e..79a647f89cd5 100644 --- a/ydb/core/jaeger_tracing/request_discriminator.cpp +++ b/ydb/core/jaeger_tracing/request_discriminator.cpp @@ -4,6 +4,7 @@ namespace NKikimr::NJaegerTracing { const TRequestDiscriminator TRequestDiscriminator::EMPTY { .RequestType = ERequestType::UNSPECIFIED, + .Database = NothingObject, }; } // namespace NKikimr::NJaegerTracing diff --git a/ydb/core/jaeger_tracing/request_discriminator.h b/ydb/core/jaeger_tracing/request_discriminator.h index de8c9351ceb5..900a61dd5814 100644 --- a/ydb/core/jaeger_tracing/request_discriminator.h +++ b/ydb/core/jaeger_tracing/request_discriminator.h @@ -3,7 +3,9 @@ #include #include +#include #include +#include namespace NKikimr::NJaegerTracing { @@ -33,6 +35,7 @@ static const THashMap NameToRequestType = { struct TRequestDiscriminator { ERequestType RequestType = ERequestType::UNSPECIFIED; + TMaybe Database = NothingObject; static const TRequestDiscriminator EMPTY; }; diff --git a/ydb/services/keyvalue/grpc_service.cpp b/ydb/services/keyvalue/grpc_service.cpp index 17e420009acf..7869fce589d8 100644 --- a/ydb/services/keyvalue/grpc_service.cpp +++ b/ydb/services/keyvalue/grpc_service.cpp @@ -57,9 +57,7 @@ void TKeyValueGRpcService::SetupIncomingRequests(NYdbGrpc::TLoggerPtr logger) { Ydb::KeyValue::Y_CAT(methodName, Response)>(reqCtx, &method, \ TRequestAuxSettings { \ .RlMode = rlMode, \ - .RequestDiscriminator = { \ - .RequestType = NJaegerTracing::ERequestType::requestType, \ - }, \ + .RequestType = NJaegerTracing::ERequestType::requestType, \ })); \ }, \ &Ydb::KeyValue::V1::KeyValueService::AsyncService::Y_CAT(Request, methodName), \ diff --git a/ydb/services/local_discovery/grpc_func_call.h b/ydb/services/local_discovery/grpc_func_call.h index afe1174822d9..4efe50d5662f 100644 --- a/ydb/services/local_discovery/grpc_func_call.h +++ b/ydb/services/local_discovery/grpc_func_call.h @@ -50,8 +50,11 @@ class TGrpcRequestFunctionCall } } - const NJaegerTracing::TRequestDiscriminator& GetRequestDiscriminator() const override { - return AuxSettings.RequestDiscriminator; + NJaegerTracing::TRequestDiscriminator GetRequestDiscriminator() const override { + return { + .RequestType = AuxSettings.RequestType, + .Database = TBase::GetDatabaseName(), + }; } private: