Skip to content

Commit cebe3c9

Browse files
authored
Merge 6a46f50 into b3c26e4
2 parents b3c26e4 + 6a46f50 commit cebe3c9

File tree

3 files changed

+41
-2
lines changed

3 files changed

+41
-2
lines changed

ydb/tests/tools/kqprun/kqprun.cpp

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,20 @@ void RunScript(const TExecutionOptions& executionOptions, const NKqpRun::TRunner
9494
}
9595
}
9696

97+
if (runnerOptions.YdbSettings.MonitoringEnabled) {
98+
Cout << colors.Yellow() << TInstant::Now().ToIsoStringLocal() << " Started reading comands" << colors.Default() << Endl;
99+
while (true) {
100+
TString command;
101+
Cin >> command;
102+
103+
if (command == "exit") {
104+
break;
105+
} else {
106+
Cerr << colors.Red() << TInstant::Now().ToIsoStringLocal() << " Invalid comand '" << command << "'" << colors.Default() << Endl;
107+
}
108+
}
109+
}
110+
97111
Cout << colors.Yellow() << TInstant::Now().ToIsoStringLocal() << " Finalization of kqp runner..." << colors.Default() << Endl;
98112
}
99113

@@ -269,6 +283,11 @@ void RunMain(int argc, const char* argv[]) {
269283
.RequiredArgument("INT")
270284
.DefaultValue(runnerOptions.YdbSettings.NodeCount)
271285
.StoreResult(&runnerOptions.YdbSettings.NodeCount);
286+
options.AddLongOption('M', "monitoring", "Enable embedded UI access and run kqprun as deamon")
287+
.Optional()
288+
.NoArgument()
289+
.DefaultValue(runnerOptions.YdbSettings.MonitoringEnabled)
290+
.SetFlag(&runnerOptions.YdbSettings.MonitoringEnabled);
272291

273292
options.AddLongOption('u', "udf", "Load shared library with UDF by given path")
274293
.Optional()
@@ -292,7 +311,7 @@ void RunMain(int argc, const char* argv[]) {
292311

293312
// Execution options
294313

295-
if (!schemeQueryFile && scriptQueryFiles.empty()) {
314+
if (!schemeQueryFile && scriptQueryFiles.empty() && !runnerOptions.YdbSettings.MonitoringEnabled) {
296315
ythrow yexception() << "Nothing to execute";
297316
}
298317

ydb/tests/tools/kqprun/src/common.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ struct TYdbSetupSettings {
1818
TString DomainName = "Root";
1919
TDuration InitializationTimeout = TDuration::Seconds(10);
2020

21+
bool MonitoringEnabled = false;
2122
bool TraceOptEnabled = false;
2223
TMaybe<TString> LogOutputFile;
2324

ydb/tests/tools/kqprun/src/ydb_setup.cpp

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#include "ydb_setup.h"
22

3+
#include <library/cpp/colorizer/colors.h>
4+
35
#include <ydb/core/kqp/common/kqp_script_executions.h>
46
#include <ydb/core/kqp/proxy_service/kqp_script_executions.h>
57

@@ -112,12 +114,19 @@ class TYdbSetup::TImpl {
112114
NKikimr::Tests::TServerSettings GetServerSettings() {
113115
ui32 msgBusPort = PortManager_.GetPort();
114116

115-
NKikimr::Tests::TServerSettings serverSettings(msgBusPort);
117+
NKikimr::Tests::TServerSettings serverSettings(msgBusPort, Settings_.AppConfig.GetAuthConfig(), Settings_.AppConfig.GetPQConfig());
116118
serverSettings.SetNodeCount(Settings_.NodeCount);
117119

118120
serverSettings.SetDomainName(Settings_.DomainName);
119121
serverSettings.SetAppConfig(Settings_.AppConfig);
120122
serverSettings.SetFeatureFlags(Settings_.AppConfig.GetFeatureFlags());
123+
serverSettings.SetControls(Settings_.AppConfig.GetImmediateControlsConfig());
124+
serverSettings.SetCompactionConfig(Settings_.AppConfig.GetCompactionConfig());
125+
serverSettings.PQClusterDiscoveryConfig = Settings_.AppConfig.GetPQClusterDiscoveryConfig();
126+
serverSettings.NetClassifierConfig = Settings_.AppConfig.GetNetClassifierConfig();
127+
128+
const auto& kqpSettings = Settings_.AppConfig.GetKQPConfig().GetSettings();
129+
serverSettings.SetKqpSettings({kqpSettings.begin(), kqpSettings.end()});
121130

122131
serverSettings.SetCredentialsFactory(std::make_shared<TStaticSecuredCredentialsFactory>(Settings_.YqlToken));
123132
serverSettings.SetComputationFactory(Settings_.ComputationFactory);
@@ -127,6 +136,10 @@ class TYdbSetup::TImpl {
127136
SetLoggerSettings(serverSettings);
128137
SetFunctionRegistry(serverSettings);
129138

139+
if (Settings_.MonitoringEnabled) {
140+
serverSettings.InitKikimrRunConfig();
141+
}
142+
130143
return serverSettings;
131144
}
132145

@@ -177,13 +190,18 @@ class TYdbSetup::TImpl {
177190
public:
178191
explicit TImpl(const TYdbSetupSettings& settings)
179192
: Settings_(settings)
193+
, CoutColors_(NColorizer::AutoColors(Cout))
180194
{
181195
InitializeYqlLogger();
182196
InitializeServer();
183197

184198
if (Settings_.NodeCount > 1) {
185199
WaitResourcesPublishing();
186200
}
201+
202+
if (Settings_.MonitoringEnabled) {
203+
Cout << CoutColors_.Cyan() << "Monitoring port: " << CoutColors_.Default() << Server_->GetRuntime()->GetMonPort() << Endl;
204+
}
187205
}
188206

189207
NKikimr::NKqp::TEvKqp::TEvQueryResponse::TPtr SchemeQueryRequest(const TString& query, const TString& traceId) const {
@@ -302,6 +320,7 @@ class TYdbSetup::TImpl {
302320

303321
private:
304322
TYdbSetupSettings Settings_;
323+
NColorizer::TColors CoutColors_;
305324

306325
THolder<NKikimr::Tests::TServer> Server_;
307326
THolder<NKikimr::Tests::TClient> Client_;

0 commit comments

Comments
 (0)