diff --git a/ydb/core/client/server/CMakeLists.darwin-arm64.txt b/ydb/core/client/server/CMakeLists.darwin-arm64.txt index 4aa5aab686e9..723e569c9b00 100644 --- a/ydb/core/client/server/CMakeLists.darwin-arm64.txt +++ b/ydb/core/client/server/CMakeLists.darwin-arm64.txt @@ -89,7 +89,6 @@ target_sources(core-client-server PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_kill.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_state.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_test_shard_request.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tracer.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tx_request.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_types.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_whoami.cpp diff --git a/ydb/core/client/server/CMakeLists.darwin-x86_64.txt b/ydb/core/client/server/CMakeLists.darwin-x86_64.txt index 4aa5aab686e9..723e569c9b00 100644 --- a/ydb/core/client/server/CMakeLists.darwin-x86_64.txt +++ b/ydb/core/client/server/CMakeLists.darwin-x86_64.txt @@ -89,7 +89,6 @@ target_sources(core-client-server PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_kill.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_state.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_test_shard_request.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tracer.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tx_request.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_types.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_whoami.cpp diff --git a/ydb/core/client/server/CMakeLists.linux-aarch64.txt b/ydb/core/client/server/CMakeLists.linux-aarch64.txt index c5d0c18eefa8..45108117f248 100644 --- a/ydb/core/client/server/CMakeLists.linux-aarch64.txt +++ b/ydb/core/client/server/CMakeLists.linux-aarch64.txt @@ -90,7 +90,6 @@ target_sources(core-client-server PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_kill.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_state.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_test_shard_request.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tracer.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tx_request.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_types.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_whoami.cpp diff --git a/ydb/core/client/server/CMakeLists.linux-x86_64.txt b/ydb/core/client/server/CMakeLists.linux-x86_64.txt index c5d0c18eefa8..45108117f248 100644 --- a/ydb/core/client/server/CMakeLists.linux-x86_64.txt +++ b/ydb/core/client/server/CMakeLists.linux-x86_64.txt @@ -90,7 +90,6 @@ target_sources(core-client-server PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_kill.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_state.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_test_shard_request.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tracer.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tx_request.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_types.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_whoami.cpp diff --git a/ydb/core/client/server/CMakeLists.windows-x86_64.txt b/ydb/core/client/server/CMakeLists.windows-x86_64.txt index 4aa5aab686e9..723e569c9b00 100644 --- a/ydb/core/client/server/CMakeLists.windows-x86_64.txt +++ b/ydb/core/client/server/CMakeLists.windows-x86_64.txt @@ -89,7 +89,6 @@ target_sources(core-client-server PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_kill.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tablet_state.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_test_shard_request.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tracer.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_tx_request.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_types.cpp ${CMAKE_SOURCE_DIR}/ydb/core/client/server/msgbus_server_whoami.cpp diff --git a/ydb/core/client/server/msgbus_server.cpp b/ydb/core/client/server/msgbus_server.cpp index a4ff8b62799f..dbcdc4f97187 100644 --- a/ydb/core/client/server/msgbus_server.cpp +++ b/ydb/core/client/server/msgbus_server.cpp @@ -2,7 +2,6 @@ #include #include #include "msgbus_server.h" -#include "msgbus_server_tracer.h" #include "msgbus_http_server.h" #include "grpc_server.h" @@ -104,8 +103,6 @@ class TBusMessageContext::TImplGRpc MTYPE(TBusOldKeyValue) MTYPE(TBusKeyValueResponse) MTYPE(TBusPersQueue) - MTYPE(TBusMessageBusTraceRequest) - MTYPE(TBusMessageBusTraceStatus) MTYPE(TBusTabletKillRequest) MTYPE(TBusTabletStateRequest) MTYPE(TBusTabletCountersRequest) diff --git a/ydb/core/client/server/msgbus_server_tracer.cpp b/ydb/core/client/server/msgbus_server_tracer.cpp deleted file mode 100644 index 47098588050b..000000000000 --- a/ydb/core/client/server/msgbus_server_tracer.cpp +++ /dev/null @@ -1,256 +0,0 @@ -#include "msgbus_server_tracer.h" -#include "msgbus_servicereq.h" -#include - -namespace NKikimr { -namespace NMessageBusTracer { - - -TMessageBusTracingServer::TMessageBusTracingServer( - const NBus::TBusServerSessionConfig &sessionConfig, - NBus::TBusMessageQueue *busQueue, - const TString& tracePath, - ui32 bindPort -) - : NKikimr::NMsgBusProxy::TMessageBusServer(sessionConfig, busQueue, bindPort) - , MessageBusTracerActorID(MakeMessageBusTraceServiceID()) - , TraceActive(false) - , TracePath(tracePath) -{ -} - -void TMessageBusTracingServer::OnMessage(NBus::TOnMessageContext &msg) { - NMsgBusProxy::TBusMessageContext msgCtx(msg, TraceActive ? this : nullptr); - if (msgCtx.GetMessage()->GetHeader()->Type == NMsgBusProxy::MTYPE_CLIENT_MESSAGE_BUS_TRACE) { - const auto &record = static_cast(msgCtx.GetMessage())->Record; - if (record.HasCommand()) { - const NKikimrClient::TMessageBusTraceRequest::ECommand command = record.GetCommand(); - switch (command) { - case NKikimrClient::TMessageBusTraceRequest::START: - if (record.HasPath()) { - TFsPath basePath = TracePath; - TFsPath path = record.GetPath(); - TFsPath tracePath = basePath / path.GetName(); - - if (tracePath.IsSubpathOf(basePath)) { - if (IActor *x = CreateMessageBusTracerStartTrace(msgCtx, basePath / path.GetName())) { - TraceActive = true; - ActorSystem->Register(x); - return; - } - } - } - break; - case NKikimrClient::TMessageBusTraceRequest::STOP: - if (IActor *x = CreateMessageBusTracerStopTrace(msgCtx)) { - TraceActive = false; - ActorSystem->Register(x); - return; - } - break; - } - } - msgCtx.SendReplyMove(new NMsgBusProxy::TBusResponseStatus(NMsgBusProxy::MSTATUS_ERROR, "undocumented error 2")); - } else { - if (TraceActive) - SaveRequest(msgCtx.GetMessage()); - TMessageBusServer::OnMessage(msgCtx); - } -} - -void TMessageBusTracingServer::OnMessageDied(NBus::TBusKey id) { - if (TraceActive) - SaveRequest(nullptr, id); -} - -void TMessageBusTracingServer::OnMessageReplied(NBus::TBusKey id, NBus::TBusMessage *response) { - if (TraceActive) - SaveRequest(response, id); -} - -void TMessageBusTracingServer::SaveRequest(NBus::TBusMessage *msg, NBus::TBusKey replyId) { - TBuffer content; - if (msg->GetHeader()->Size > 0) - content.Reserve(msg->GetHeader()->Size - sizeof(NBus::TBusHeader)); - Protocol.Serialize(msg, content); - ActorSystem->Send(MessageBusTracerActorID, new TEvMessageBusTracer::TEvTraceEvent(msg, std::move(content), replyId)); -} - -IActor* TMessageBusTracingServer::CreateMessageBusTraceService() { - return new TMessageBusTracerService(); -} - -TEvMessageBusTracer::TEvTraceEvent::TEvTraceEvent(NBus::TBusMessage *msg, TBuffer &&content, NBus::TBusKey replyId) - : ReplyId(replyId) - , Header(*msg->GetHeader()) - , Content(content) -{ - if (Header.Size == 0) - Header.Size = sizeof(Header) + Content.Size(); -} - -TMessageBusTracerService::TMessageBusTracerService() - : TActor(&TMessageBusTracerService::StateFunc) -{} - -void TMessageBusTracerService::StateFunc(TAutoPtr &ev) { - switch (ev->GetTypeRewrite()) { - HFunc(TEvMessageBusTracer::TEvTraceEvent, HandleTraceEvent); - HFunc(TEvMessageBusTracer::TEvStartTrace, HandleStartTrace); - HFunc(TEvMessageBusTracer::TEvStopTrace, HandleStopTrace); - } -} - -void TMessageBusTracerService::HandleStartTrace(TEvMessageBusTracer::TEvStartTrace::TPtr &ev, const TActorContext &ctx) { - const TEvMessageBusTracer::TEvStartTrace *event = ev->Get(); - Path = event->Path; - Stream = new TFileOutput(Path); - LOG_NOTICE_S(ctx, NKikimrServices::MSGBUS_TRACER, "MessageBus tracing started, file '" - << Path << "' " - << ctx.SelfID.ToString()); - ctx.Send(ev->Sender, new TEvMessageBusTracer::TEvTraceStatus(!!Stream, Path)); -} - -void TMessageBusTracerService::HandleStopTrace(TEvMessageBusTracer::TEvStopTrace::TPtr &ev, const TActorContext &ctx) { - const TEvMessageBusTracer::TEvStopTrace *event = ev->Get(); - Y_UNUSED(event); - LOG_NOTICE_S(ctx, NKikimrServices::MSGBUS_TRACER, "MessageBus tracing stopped, file '" << Path << "' " - << ctx.SelfID.ToString()); - Path.clear(); - Stream.Reset(nullptr); - ctx.Send(ev->Sender, new TEvMessageBusTracer::TEvTraceStatus(!!Stream, Path)); -} - -void TMessageBusTracerService::HandleTraceEvent(TEvMessageBusTracer::TEvTraceEvent::TPtr &ev, const TActorContext &) { - const TEvMessageBusTracer::TEvTraceEvent *event = ev->Get(); - if (Stream != nullptr) { - Stream->Write(&event->ReplyId, sizeof(NBus::TBusKey)); - Stream->Write(&event->Header, sizeof(NBus::TBusHeader)); - const TBuffer& content(event->Content); - Stream->Write(content.Data(), content.Size()); -//#ifndef NDEBUG -// Stream->Flush(); -//#endif - } -} - -TEvMessageBusTracer::TEvStartTrace::TEvStartTrace(const TString &path) - : Path(path) -{ -} - -TEvMessageBusTracer::TEvTraceStatus::TEvTraceStatus(bool traceActive, const TString &path) - : TraceActive(traceActive) - , Path(path) -{ -} - - -namespace { - const ui32 DefaultTimeout = 90000; -} - -template -class TMessageBusTraceSimpleActor : public NMsgBusProxy::TMessageBusLocalServiceRequest { -public: - TMessageBusTraceSimpleActor(NMsgBusProxy::TBusMessageContext &msg) - : NMsgBusProxy::TMessageBusLocalServiceRequest(msg, TDuration::MilliSeconds(DefaultTimeout)) - {} - - void Handle(TEvMessageBusTracer::TEvTraceStatus::TPtr &ev, const TActorContext &ctx) { - TEvMessageBusTracer::TEvTraceStatus *event = ev->Get(); - TAutoPtr response(new NMsgBusProxy::TBusMessageBusTraceStatus()); - response->Record.SetTraceActive(event->TraceActive); - response->Record.SetPath(event->Path); - this->SendReplyAndDie(response.Release(), ctx); - } - - TActorId MakeServiceID(const TActorContext &ctx) { - Y_UNUSED(ctx); - return MakeMessageBusTraceServiceID(); - } - - NBus::TBusMessage* CreateErrorReply(NMsgBusProxy::EResponseStatus status, const TActorContext &ctx) { - Y_UNUSED(ctx); - TAutoPtr response(new NMsgBusProxy::TBusResponseStatus(status, "Service not found")); - return response.Release(); - } - - void HandleTimeout(const TActorContext &ctx) { - Y_UNUSED(ctx); - TAutoPtr response(new NMsgBusProxy::TBusResponseStatus(NMsgBusProxy::MSTATUS_TIMEOUT, "")); - this->SendReplyAndDie(response.Release(), ctx); - } - - void HandleUndelivered(TEvents::TEvUndelivered::TPtr& ev, const TActorContext& ctx) { - Y_UNUSED(ev); - TAutoPtr response(new NMsgBusProxy::TBusResponseStatus(NMsgBusProxy::MSTATUS_ERROR, "HandleUndelivered")); - response->Record.SetErrorReason("Cannot deliver request to the service"); - this->SendReplyAndDie(response.Release(), ctx); - } - - void StateFunc(TAutoPtr &ev) { - switch (ev->GetTypeRewrite()) { - HFunc(TEvMessageBusTracer::TEvTraceStatus, Handle); - HFunc(TEvents::TEvUndelivered, HandleUndelivered); - CFunc(TEvents::TSystem::Wakeup, HandleTimeout); - } - } -}; - -class TMessageBusTracerStartTrace: public TMessageBusTraceSimpleActor { - TString Path; -public: - TMessageBusTracerStartTrace(NMsgBusProxy::TBusMessageContext &msg, const TString& path) - : TMessageBusTraceSimpleActor(msg) - , Path(path) - { - } - - TEvMessageBusTracer::TEvStartTrace* MakeReq(const TActorContext &ctx) { - Y_UNUSED(ctx); - return new TEvMessageBusTracer::TEvStartTrace(Path); - } -}; - -IActor* CreateMessageBusTracerStartTrace(NMsgBusProxy::TBusMessageContext &msg, const TString& path) { - return new TMessageBusTracerStartTrace(msg, path); -} - -class TMessageBusTracerStopTrace: public TMessageBusTraceSimpleActor { -public: - TMessageBusTracerStopTrace(NMsgBusProxy::TBusMessageContext &msg) - : TMessageBusTraceSimpleActor(msg) - {} - - TEvMessageBusTracer::TEvStopTrace* MakeReq(const TActorContext &ctx) { - Y_UNUSED(ctx); - return new TEvMessageBusTracer::TEvStopTrace(); - } -}; - -IActor* CreateMessageBusTracerStopTrace(NMsgBusProxy::TBusMessageContext &msg) { - return new TMessageBusTracerStopTrace(msg); -} - - -} - -namespace NMsgBusProxy { - -IMessageBusServer* CreateMsgBusTracingServer( - NBus::TBusMessageQueue *queue, - const NBus::TBusServerSessionConfig &config, - const TString &tracePath, - ui32 bindPort -) { - return new NMessageBusTracer::TMessageBusTracingServer( - config, - queue, - tracePath, - bindPort - ); -} - -} -} diff --git a/ydb/core/client/server/msgbus_server_tracer.h b/ydb/core/client/server/msgbus_server_tracer.h deleted file mode 100644 index 9b31e4fd18a7..000000000000 --- a/ydb/core/client/server/msgbus_server_tracer.h +++ /dev/null @@ -1,109 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include "msgbus_server.h" -#include - -namespace NKikimr { -namespace NMessageBusTracer { - - -class TMessageBusTracingServer : public NKikimr::NMsgBusProxy::TMessageBusServer, public NMsgBusProxy::IMessageWatcher { -public: - using TBusKey = NBus::TBusKey; - TMessageBusTracingServer( - const NBus::TBusServerSessionConfig &sessionConfig, - NBus::TBusMessageQueue *busQueue, - const TString &tracePath, - ui32 bindPort - ); - IActor* CreateMessageBusTraceService() override; -protected: - TActorId MessageBusTracerActorID; - bool TraceActive; - TString TracePath; - void OnMessage(NBus::TOnMessageContext &msg) override; - void OnMessageDied(NBus::TBusKey id) override; - void OnMessageReplied(NBus::TBusKey id, NBus::TBusMessage *response) override; - void SaveRequest(NBus::TBusMessage *msg, NBus::TBusKey replyId = YBUS_KEYINVALID); -}; - -struct TEvMessageBusTracer { - enum EEv { - EvTraceEvent = EventSpaceBegin(TKikimrEvents::ES_MSGBUS_TRACER), - EvStartTrace, - EvStopTrace, - EvTraceStatus, - EvEnd - }; - - static_assert(EvEnd < EventSpaceEnd(TKikimrEvents::ES_MSGBUS_TRACER), "expect End < EventSpaceEnd(TKikimrEvents::ES_MSGBUS_TRACER)"); - - class TEvTraceEvent : public TEventLocal { - public: - using TBusKey = NBus::TBusKey; - TBusKey ReplyId; - NBus::TBusHeader Header; - TBuffer Content; - - TEvTraceEvent(NBus::TBusMessage *msg, TBuffer &&content, TBusKey replyId = YBUS_KEYINVALID); - }; - - class TEvStartTrace : public TEventLocal { - public: - TString Path; - - TEvStartTrace(const TString &path); - }; - - class TEvStopTrace : public TEventLocal { - public: - TEvStopTrace() {} - }; - - class TEvTraceStatus : public TEventLocal { - public: - bool TraceActive; - TString Path; - - TEvTraceStatus(bool traceActive, const TString &path); - }; - -}; - -class TMessageBusTracerService : public TActor { -public: - using TProtocol = NKikimr::NMsgBusProxy::TProtocol; - - static constexpr NKikimrServices::TActivity::EType ActorActivityType() { - return NKikimrServices::TActivity::MSGBUS_TRACER_ACTOR; - } - - TMessageBusTracerService(); - void StateFunc(TAutoPtr &ev); - -private: - void HandleStartTrace(TEvMessageBusTracer::TEvStartTrace::TPtr &ev, const TActorContext &ctx); - void HandleStopTrace(TEvMessageBusTracer::TEvStopTrace::TPtr &ev, const TActorContext &ctx); - void HandleTraceEvent(TEvMessageBusTracer::TEvTraceEvent::TPtr &ev, const TActorContext &); - - TAutoPtr Stream; - TString Path; -}; - -inline TActorId MakeMessageBusTraceServiceID(ui32 node = 0) { - char x[12] = {'m','s','g','b','u','s','t','r','a','c','e','r'}; - return TActorId(node, TStringBuf(x, 12)); -} - -IActor* CreateMessageBusTracerStartTrace(NMsgBusProxy::TBusMessageContext &msg, const TString &path); -IActor* CreateMessageBusTracerStopTrace(NMsgBusProxy::TBusMessageContext &msg); - -} -} diff --git a/ydb/core/client/server/ya.make b/ydb/core/client/server/ya.make index 6602970ac39e..ff7720ab3362 100644 --- a/ydb/core/client/server/ya.make +++ b/ydb/core/client/server/ya.make @@ -45,8 +45,6 @@ SRCS( msgbus_server_tablet_kill.cpp msgbus_server_tablet_state.cpp msgbus_server_test_shard_request.cpp - msgbus_server_tracer.cpp - msgbus_server_tracer.h msgbus_server_tx_request.cpp msgbus_server_types.cpp msgbus_server_whoami.cpp diff --git a/ydb/core/driver_lib/cli_utils/CMakeLists.darwin-arm64.txt b/ydb/core/driver_lib/cli_utils/CMakeLists.darwin-arm64.txt index 98e837a62958..a6fa732a27cd 100644 --- a/ydb/core/driver_lib/cli_utils/CMakeLists.darwin-arm64.txt +++ b/ydb/core/driver_lib/cli_utils/CMakeLists.darwin-arm64.txt @@ -65,7 +65,6 @@ target_sources(cli_utils PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_persqueue_stress.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_load.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_minikql_compile_and_exec.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_mb_trace.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_cache_append.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_initroot.cpp ) diff --git a/ydb/core/driver_lib/cli_utils/CMakeLists.darwin-x86_64.txt b/ydb/core/driver_lib/cli_utils/CMakeLists.darwin-x86_64.txt index 98e837a62958..a6fa732a27cd 100644 --- a/ydb/core/driver_lib/cli_utils/CMakeLists.darwin-x86_64.txt +++ b/ydb/core/driver_lib/cli_utils/CMakeLists.darwin-x86_64.txt @@ -65,7 +65,6 @@ target_sources(cli_utils PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_persqueue_stress.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_load.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_minikql_compile_and_exec.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_mb_trace.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_cache_append.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_initroot.cpp ) diff --git a/ydb/core/driver_lib/cli_utils/CMakeLists.linux-aarch64.txt b/ydb/core/driver_lib/cli_utils/CMakeLists.linux-aarch64.txt index fb2e9fb022f8..65eb5ba00592 100644 --- a/ydb/core/driver_lib/cli_utils/CMakeLists.linux-aarch64.txt +++ b/ydb/core/driver_lib/cli_utils/CMakeLists.linux-aarch64.txt @@ -66,7 +66,6 @@ target_sources(cli_utils PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_persqueue_stress.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_load.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_minikql_compile_and_exec.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_mb_trace.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_cache_append.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_initroot.cpp ) diff --git a/ydb/core/driver_lib/cli_utils/CMakeLists.linux-x86_64.txt b/ydb/core/driver_lib/cli_utils/CMakeLists.linux-x86_64.txt index fb2e9fb022f8..65eb5ba00592 100644 --- a/ydb/core/driver_lib/cli_utils/CMakeLists.linux-x86_64.txt +++ b/ydb/core/driver_lib/cli_utils/CMakeLists.linux-x86_64.txt @@ -66,7 +66,6 @@ target_sources(cli_utils PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_persqueue_stress.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_load.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_minikql_compile_and_exec.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_mb_trace.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_cache_append.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_initroot.cpp ) diff --git a/ydb/core/driver_lib/cli_utils/CMakeLists.windows-x86_64.txt b/ydb/core/driver_lib/cli_utils/CMakeLists.windows-x86_64.txt index 98e837a62958..a6fa732a27cd 100644 --- a/ydb/core/driver_lib/cli_utils/CMakeLists.windows-x86_64.txt +++ b/ydb/core/driver_lib/cli_utils/CMakeLists.windows-x86_64.txt @@ -65,7 +65,6 @@ target_sources(cli_utils PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_persqueue_stress.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_load.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_minikql_compile_and_exec.cpp - ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_mb_trace.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_cache_append.cpp ${CMAKE_SOURCE_DIR}/ydb/core/driver_lib/cli_utils/cli_scheme_initroot.cpp ) diff --git a/ydb/core/driver_lib/cli_utils/cli.h b/ydb/core/driver_lib/cli_utils/cli.h index 82bc43ffec06..bc1540cb275f 100644 --- a/ydb/core/driver_lib/cli_utils/cli.h +++ b/ydb/core/driver_lib/cli_utils/cli.h @@ -30,7 +30,6 @@ namespace NDriverClient { int BSAdmCreateVSlots(TCommandConfig &cmdConf, int argc, char **argv); int BSAdmCreateGroup(TCommandConfig &cmdConf, int argc, char **argv); int CompileAndExecMiniKQL(TCommandConfig &cmdConf, int argc, char **argv); - int MessageBusTrace(TCommandConfig &cmdConf, int argc, char** argv); int KeyValueRequest(TCommandConfig &cmdConf, int argc, char **argv); int PersQueueRequest(TCommandConfig &cmdConf, int argc, char **argv); int PersQueueStress(TCommandConfig &cmdConf, int argc, char **argv); diff --git a/ydb/core/driver_lib/cli_utils/cli_mb_trace.cpp b/ydb/core/driver_lib/cli_utils/cli_mb_trace.cpp deleted file mode 100644 index df1fa4a79f3d..000000000000 --- a/ydb/core/driver_lib/cli_utils/cli_mb_trace.cpp +++ /dev/null @@ -1,98 +0,0 @@ -#include "cli.h" -#include -#include - -namespace NKikimr { -namespace NDriverClient { - -struct TCmdMessageBusTraceConfig : public TCliCmdConfig { - TString Command; - TString Path; - ui32 MaxInFlight; - - TCmdMessageBusTraceConfig() : MaxInFlight(1) {} - void Parse(int argc, char **argv); -}; - -int MessageBusTrace(TCommandConfig &cmdConf, int argc, char** argv) { - Y_UNUSED(cmdConf); - -#ifdef _win32_ - WSADATA dummy; - WSAStartup(MAKEWORD(2, 2), &dummy); -#endif - - TCmdMessageBusTraceConfig messageBusTraceConfig; - messageBusTraceConfig.Parse(argc, argv); - - NMsgBusProxy::TMsgBusClient client(std::get(*messageBusTraceConfig.ClientConfig)); - client.Init(); - - if (messageBusTraceConfig.Command == "play") { - try { - bool displayProgress = isatty(fileno(stdout)); // don't know better way to check on all platforms for redirected output - NMessageBusTracer::TMsgBusPlayer player(client); - player.PlayTrace(messageBusTraceConfig.Path, messageBusTraceConfig.MaxInFlight, displayProgress ? [](int p){ Cout << p << "%\r"; Cout.Flush(); } : std::function()); - if (displayProgress) - Cout << Endl; - } - catch(const yexception& e) { - Cerr << "Caught exception: " << e.what() << Endl; - return 1; - } - return 0; - } else { - NMsgBusProxy::TBusMessageBusTraceRequest *request(new NMsgBusProxy::TBusMessageBusTraceRequest()); - if (messageBusTraceConfig.Command == "start") { - request->Record.SetCommand(NKikimrClient::TMessageBusTraceRequest::START); - } else if (messageBusTraceConfig.Command == "stop") { - request->Record.SetCommand(NKikimrClient::TMessageBusTraceRequest::STOP); - } - if (messageBusTraceConfig.Path) - request->Record.SetPath(messageBusTraceConfig.Path); - - TAutoPtr reply; - NBus::EMessageStatus status = client.SyncCall(request, reply); - - switch (status) { - case NBus::MESSAGE_OK: - { - const NKikimrClient::TMessageBusTraceStatus &response = static_cast(reply.Get())->Record; -// Cout << "status: " << response.GetStatus() << Endl; -// Cout << "status transcript: " << static_cast(response.GetStatus()) << Endl; - Cout << "trace active: " << response.GetTraceActive() << Endl; - if (response.GetTraceActive()) { - Cout << "trace file: " << response.GetPath() << Endl; - } - - return 0; - } - default: - { - const char *description = NBus::MessageStatusDescription(status); - Cerr << description << Endl; - } - return 1; - } - } -} - -void TCmdMessageBusTraceConfig::Parse(int argc, char **argv) { - using namespace NLastGetopt; - - TOpts opts = TOpts::Default(); - opts.AddLongOption('c', "cmd", "command").Required().RequiredArgument("[start|stop|play]").StoreResult(&Command); // {start|stop|play} - opts.AddLongOption("path", "name of trace file").Optional().RequiredArgument("PATH").StoreResult(&Path); // path to trace file - opts.AddLongOption("inflight", "max inflight messages").Optional().RequiredArgument("NUM").StoreResult(&MaxInFlight); // max inflight messages - ConfigureBaseLastGetopt(opts); - TOptsParseResult res(&opts, argc, argv); - if (Command != "start" && Command != "stop" && Command != "play") { - ythrow yexception() << "command should be one of [start|stop|play]."; - } - if (MaxInFlight == 0) - ythrow yexception() << "inflight should be greater than 0"; - ConfigureMsgBusLastGetopt(res, argc, argv); -} - -} -} diff --git a/ydb/core/driver_lib/cli_utils/ya.make b/ydb/core/driver_lib/cli_utils/ya.make index 2862eef8a505..79d7248a3370 100644 --- a/ydb/core/driver_lib/cli_utils/ya.make +++ b/ydb/core/driver_lib/cli_utils/ya.make @@ -29,7 +29,6 @@ SRCS( cli_persqueue_stress.cpp cli_load.cpp cli_minikql_compile_and_exec.cpp - cli_mb_trace.cpp cli_scheme_cache_append.cpp cli_scheme_initroot.cpp ) diff --git a/ydb/core/driver_lib/run/driver.h b/ydb/core/driver_lib/run/driver.h index 7391e866d665..15195f74a65d 100644 --- a/ydb/core/driver_lib/run/driver.h +++ b/ydb/core/driver_lib/run/driver.h @@ -30,7 +30,6 @@ namespace NKikimr { XX(EDM_NODE_BY_HOST, "node-by-host", "get node id by hostname") \ XX(EDM_SCHEME_INITROOT, "scheme-initroot", "init scheme root") \ XX(EDM_COMPILE_AND_EXEC_MINIKQL, "minikql-exec", "compile and execute MiniKQL program") \ - XX(EDM_TRACE, "mb-trace", "control message bus trace") \ XX(EDM_KEYVALUE_REQUEST, "keyvalue-request", "send protobuf request to a keyvalue tablet") \ XX(EDM_PERSQUEUE_REQUEST, "persqueue-request", "send protobuf request to a persqueue tablet") \ XX(EDM_PERSQUEUE_STRESS, "persqueue-stress", "stress read or write to a persqueue tablet") \ diff --git a/ydb/core/driver_lib/run/kikimr_services_initializers.cpp b/ydb/core/driver_lib/run/kikimr_services_initializers.cpp index 615589b3bcc9..9728fff071db 100644 --- a/ydb/core/driver_lib/run/kikimr_services_initializers.cpp +++ b/ydb/core/driver_lib/run/kikimr_services_initializers.cpp @@ -31,9 +31,9 @@ #include #include +#include #include #include -#include #include #include @@ -1525,12 +1525,6 @@ void TMessageBusServicesInitializer::InitializeServices(NActors::TActorSystemSet ); } } - - if (IActor* traceService = BusServer.CreateMessageBusTraceService()) { - TActorSetupCmd messageBusTraceServiceSetup(traceService, TMailboxType::HTSwap, appData->IOPoolId); - setup->LocalServices.push_back(std::pair(NMessageBusTracer::MakeMessageBusTraceServiceID(), - std::move(messageBusTraceServiceSetup))); - } } } diff --git a/ydb/core/driver_lib/run/main.cpp b/ydb/core/driver_lib/run/main.cpp index e7a606673987..df4f8dd8e845 100644 --- a/ydb/core/driver_lib/run/main.cpp +++ b/ydb/core/driver_lib/run/main.cpp @@ -155,8 +155,6 @@ int MainRun(const TKikimrRunConfig& runConfig, std::shared_ptr return NDriverClient::SchemeInitRoot(cmdConf, argc, argv); case EDM_COMPILE_AND_EXEC_MINIKQL: return NDriverClient::CompileAndExecMiniKQL(cmdConf, argc, argv); - case EDM_TRACE: - return NDriverClient::MessageBusTrace(cmdConf, argc, argv); case EDM_KEYVALUE_REQUEST: return NDriverClient::KeyValueRequest(cmdConf, argc, argv); case EDM_PERSQUEUE_REQUEST: diff --git a/ydb/core/driver_lib/run/run.cpp b/ydb/core/driver_lib/run/run.cpp index 66bd3c186d22..a8ac5cc73b93 100644 --- a/ydb/core/driver_lib/run/run.cpp +++ b/ydb/core/driver_lib/run/run.cpp @@ -1383,9 +1383,6 @@ TIntrusivePtr TKikimrRunner::CreateServiceInitializers if (serviceMask.EnableWhiteBoard) { sil->AddServiceInitializer(new TWhiteBoardServiceInitializer(runConfig)); } - if (serviceMask.EnableNodeIdentifier) { - sil->AddServiceInitializer(new TNodeIdentifierInitializer(runConfig)); - } if (serviceMask.EnableBSNodeWarden) { sil->AddServiceInitializer(new TBSNodeWardenInitializer(runConfig)); } diff --git a/ydb/core/testlib/test_client.cpp b/ydb/core/testlib/test_client.cpp index 0f532cec0d32..764fe732faa9 100644 --- a/ydb/core/testlib/test_client.cpp +++ b/ydb/core/testlib/test_client.cpp @@ -114,7 +114,6 @@ #include #include -#include #include #include @@ -216,7 +215,7 @@ namespace Tests { SetupLogging(); - SetupMessageBus(Settings->Port, Settings->TracePath); + SetupMessageBus(Settings->Port); SetupDomains(app); app.AddHive(Settings->Domain, ChangeStateStorage(Hive, Settings->Domain)); @@ -287,23 +286,14 @@ namespace Tests { SetupStorage(); } - void TServer::SetupMessageBus(ui16 port, const TString &tracePath) { + void TServer::SetupMessageBus(ui16 port) { if (port) { Bus = NBus::CreateMessageQueue(NBus::TBusQueueConfig()); - if (tracePath) { - BusServer.Reset(NMsgBusProxy::CreateMsgBusTracingServer( - Bus.Get(), - BusServerSessionConfig, - tracePath, - port - )); - } else { - BusServer.Reset(NMsgBusProxy::CreateMsgBusServer( - Bus.Get(), - BusServerSessionConfig, - port - )); - } + BusServer.Reset(NMsgBusProxy::CreateMsgBusServer( + Bus.Get(), + BusServerSessionConfig, + port + )); } } @@ -935,14 +925,6 @@ namespace Tests { Cerr << "NMsgBusProxy registered on Port " << Settings->Port << " GrpsPort " << Settings->GrpcPort << Endl; } - - { - IActor* traceService = BusServer->CreateMessageBusTraceService(); - if (traceService) { - TActorId traceServiceId = Runtime->Register(traceService, nodeIdx, Runtime->GetAppData(nodeIdx).IOPoolId, TMailboxType::Simple, 0); - Runtime->RegisterService(NMessageBusTracer::MakeMessageBusTraceServiceID(), traceServiceId, nodeIdx); - } - } } { IActor* icNodeCache = NIcNodeCache::CreateICNodesInfoCacheService(Runtime->GetDynamicCounters()); @@ -1390,37 +1372,6 @@ namespace Tests { } - void TClient::ExecuteTraceCommand(NKikimrClient::TMessageBusTraceRequest::ECommand command, const TString &path) { - TAutoPtr request(new NMsgBusProxy::TBusMessageBusTraceRequest()); - request->Record.SetCommand(command); - if (path) - request->Record.SetPath(path); - TAutoPtr reply; - UNIT_ASSERT_VALUES_EQUAL(SyncCall(request, reply), NBus::MESSAGE_OK); - } - - TString TClient::StartTrace(const TString &path) { - TAutoPtr request(new NMsgBusProxy::TBusMessageBusTraceRequest()); - request->Record.SetCommand(NKikimrClient::TMessageBusTraceRequest::START); - if (path) - request->Record.SetPath(path); - TAutoPtr reply; - UNIT_ASSERT_VALUES_EQUAL(SyncCall(request, reply), NBus::MESSAGE_OK); - if (reply.Get()->GetHeader()->Type == NMsgBusProxy::MTYPE_CLIENT_MESSAGE_BUS_TRACE_STATUS) { - const NKikimrClient::TMessageBusTraceStatus &response = static_cast(reply.Get())->Record; - return response.GetPath(); - } else { - ythrow yexception() << "MessageBus trace not enabled on the server (see mbus/--trace-path option)"; - } - } - - void TClient::StopTrace() { - TAutoPtr request(new NMsgBusProxy::TBusMessageBusTraceRequest()); - request->Record.SetCommand(NKikimrClient::TMessageBusTraceRequest::STOP); - TAutoPtr reply; - UNIT_ASSERT_VALUES_EQUAL(SyncCall(request, reply), NBus::MESSAGE_OK); - } - NBus::EMessageStatus TClient::WaitCompletion(ui64 txId, ui64 schemeshard, ui64 pathId, TAutoPtr& reply, TDuration timeout) diff --git a/ydb/core/testlib/test_client.h b/ydb/core/testlib/test_client.h index 03b489c7d754..cc8feb752abb 100644 --- a/ydb/core/testlib/test_client.h +++ b/ydb/core/testlib/test_client.h @@ -243,7 +243,7 @@ namespace Tests { protected: void SetupStorage(); - void SetupMessageBus(ui16 port, const TString &tracePath); + void SetupMessageBus(ui16 port); void SetupDomains(TAppPrepare&); void CreateBootstrapTablets(); void SetupLocalConfig(TLocalConfig &localConfig, const NKikimr::TAppData &appData); @@ -393,10 +393,6 @@ namespace Tests { void InitRootScheme(); void InitRootScheme(const TString& root); - void ExecuteTraceCommand(NKikimrClient::TMessageBusTraceRequest::ECommand command, const TString &path = TString()); - TString StartTrace(const TString &path); - void StopTrace(); - // Flat DB operations NMsgBusProxy::EResponseStatus WaitCreateTx(TTestActorRuntime* runtime, const TString& path, TDuration timeout); NMsgBusProxy::EResponseStatus MkDir(const TString& parent, const TString& name, const TApplyIf& applyIf = {}); diff --git a/ydb/core/yql_testlib/yql_testlib.cpp b/ydb/core/yql_testlib/yql_testlib.cpp index 0136bc76a1a9..acd493048a1f 100644 --- a/ydb/core/yql_testlib/yql_testlib.cpp +++ b/ydb/core/yql_testlib/yql_testlib.cpp @@ -21,8 +21,6 @@ #include #include -#include - using namespace NKikimr::NUdf; namespace { @@ -174,7 +172,7 @@ void TYqlServer::Initialize() { } ); - SetupMessageBus(GetSettings().Port, GetSettings().TracePath); + SetupMessageBus(GetSettings().Port); SetupTabletServices(*Runtime, &app, StaticNodes() == 1 && Settings->EnableMockOnSingleNode, Settings->CustomDiskParams); diff --git a/ydb/public/lib/base/msgbus.h b/ydb/public/lib/base/msgbus.h index 7723b96983da..2bc457224ae4 100644 --- a/ydb/public/lib/base/msgbus.h +++ b/ydb/public/lib/base/msgbus.h @@ -40,8 +40,8 @@ enum { MTYPE_CLIENT_LOCAL_ENUMERATE_TABLETS_RESULT = 10424, // deprecated MTYPE_CLIENT_OLD_KEYVALUE = 10425, // deprecated MTYPE_CLIENT_KEYVALUE_RESPONSE = 10426, // deprecated - MTYPE_CLIENT_MESSAGE_BUS_TRACE = 10427, - MTYPE_CLIENT_MESSAGE_BUS_TRACE_STATUS = 10428, + /*MTYPE_CLIENT_MESSAGE_BUS_TRACE*/ MTYPE_CLIENT_DEPRECATED_10427 = 10427, + /*MTYPE_CLIENT_MESSAGE_BUS_TRACE_STATUS*/ MTYPE_CLIENT_DEPRECATED_10428 = 10428, MTYPE_CLIENT_TABLET_KILL_REQUEST = 10429, MTYPE_CLIENT_TABLET_STATE_REQUEST = 10430, MTYPE_CLIENT_LOCAL_MINIKQL = 10431, @@ -116,8 +116,6 @@ struct TBusKeyValue : TBusMessage {}; struct TBusKeyValueResponse : TBusMessage {}; struct TBusPersQueue : TBusMessage {}; -struct TBusMessageBusTraceRequest : TBusMessage {}; -struct TBusMessageBusTraceStatus : TBusMessage {}; struct TBusTabletKillRequest : TBusMessage {}; struct TBusTabletStateRequest : TBusMessage {}; struct TBusTabletCountersRequest : TBusMessage {}; @@ -202,8 +200,6 @@ class TProtocol : public NBus::TBusBufferProtocol { RegisterType(new TBusBSAdm); RegisterType(new TBusTypesRequest); RegisterType(new TBusTypesResponse); - RegisterType(new TBusMessageBusTraceRequest); - RegisterType(new TBusMessageBusTraceStatus); RegisterType(new TBusHiveCreateTablet); RegisterType(new TBusOldHiveCreateTablet); RegisterType(new TBusHiveCreateTabletResult); @@ -267,12 +263,6 @@ IMessageBusServer* CreateMsgBusServer( const NBus::TBusServerSessionConfig &config, ui32 bindPort = TProtocol::DefaultPort ); -IMessageBusServer* CreateMsgBusTracingServer( - NBus::TBusMessageQueue *queue, - const NBus::TBusServerSessionConfig &config, - const TString &tracePath, - ui32 bindPort = TProtocol::DefaultPort -); inline NActors::TActorId CreateMsgBusProxyId() { return NActors::TActorId(0, "MsgBusProxy"); diff --git a/ydb/public/lib/deprecated/client/ya.make b/ydb/public/lib/deprecated/client/ya.make index 62769918ef73..59e934d70dc0 100644 --- a/ydb/public/lib/deprecated/client/ya.make +++ b/ydb/public/lib/deprecated/client/ya.make @@ -4,8 +4,6 @@ SRCS( msgbus_client.cpp msgbus_client.h msgbus_client_config.h - msgbus_player.cpp - msgbus_player.h grpc_client.cpp )