Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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