Skip to content

Commit

Permalink
Added database to request discriminator (#2221)
Browse files Browse the repository at this point in the history
  • Loading branch information
domwst authored Feb 26, 2024
1 parent bae9923 commit 23b3575
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 10 deletions.
13 changes: 8 additions & 5 deletions ydb/core/grpc_services/base/base.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
};

Expand Down Expand Up @@ -1403,7 +1403,7 @@ class TGrpcRequestCall
using TRequestIface = typename std::conditional<IsOperation, IRequestOpCtx, IRequestNoOpCtx>::type;

public:
static IActor* CreateRpcActor(typename std::conditional<IsOperation, IRequestOpCtx, IRequestNoOpCtx>::type* msg);
static IActor* CreateRpcActor(TRequestIface* msg);
static constexpr bool IsOp = IsOperation;

using TBase = std::conditional_t<TProtoHasValidate<TReq>::Value,
Expand Down Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions ydb/core/jaeger_tracing/request_discriminator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ namespace NKikimr::NJaegerTracing {

const TRequestDiscriminator TRequestDiscriminator::EMPTY {
.RequestType = ERequestType::UNSPECIFIED,
.Database = NothingObject,
};

} // namespace NKikimr::NJaegerTracing
3 changes: 3 additions & 0 deletions ydb/core/jaeger_tracing/request_discriminator.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
#include <cstddef>

#include <util/generic/hash.h>
#include <util/generic/maybe.h>
#include <util/generic/strbuf.h>
#include <util/generic/string.h>

namespace NKikimr::NJaegerTracing {

Expand Down Expand Up @@ -33,6 +35,7 @@ static const THashMap<TStringBuf, ERequestType> NameToRequestType = {

struct TRequestDiscriminator {
ERequestType RequestType = ERequestType::UNSPECIFIED;
TMaybe<TString> Database = NothingObject;

static const TRequestDiscriminator EMPTY;
};
Expand Down
4 changes: 1 addition & 3 deletions ydb/services/keyvalue/grpc_service.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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), \
Expand Down
7 changes: 5 additions & 2 deletions ydb/services/local_discovery/grpc_func_call.h
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down

0 comments on commit 23b3575

Please sign in to comment.