Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added database to request discriminator #2221

Merged
merged 1 commit into from
Feb 26, 2024
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
Loading