summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraozeritsky <[email protected]>2023-08-11 19:47:10 +0300
committeraozeritsky <[email protected]>2023-08-11 20:29:36 +0300
commit03c4c633df935d23098c3ef94d18fbf847061445 (patch)
treeba93df34361c1080b25ce197b6ba6ce512fdf825
parent112aee43c095516adc06b799f8c88b02ead59450 (diff)
Optimization: turn off profile counters by default
-rw-r--r--ydb/library/yql/providers/dq/common/CMakeLists.darwin-x86_64.txt12
-rw-r--r--ydb/library/yql/providers/dq/common/CMakeLists.linux-aarch64.txt12
-rw-r--r--ydb/library/yql/providers/dq/common/CMakeLists.linux-x86_64.txt12
-rw-r--r--ydb/library/yql/providers/dq/common/CMakeLists.windows-x86_64.txt12
-rw-r--r--ydb/library/yql/providers/dq/common/ya.make2
-rw-r--r--ydb/library/yql/providers/dq/common/yql_dq_settings.cpp1
-rw-r--r--ydb/library/yql/providers/dq/common/yql_dq_settings.h9
-rw-r--r--ydb/library/yql/providers/dq/task_runner/tasks_runner_local.cpp17
8 files changed, 75 insertions, 2 deletions
diff --git a/ydb/library/yql/providers/dq/common/CMakeLists.darwin-x86_64.txt b/ydb/library/yql/providers/dq/common/CMakeLists.darwin-x86_64.txt
index d0bddb4ea85..a1ecc96fcc6 100644
--- a/ydb/library/yql/providers/dq/common/CMakeLists.darwin-x86_64.txt
+++ b/ydb/library/yql/providers/dq/common/CMakeLists.darwin-x86_64.txt
@@ -6,6 +6,12 @@
# original buildsystem will not be accepted.
+get_built_tool_path(
+ TOOL_enum_parser_bin
+ TOOL_enum_parser_dependency
+ tools/enum_parser/enum_parser
+ enum_parser
+)
add_library(providers-dq-common)
target_compile_options(providers-dq-common PRIVATE
@@ -20,9 +26,15 @@ target_link_libraries(providers-dq-common PUBLIC
library-yql-utils
yql-utils-log
yql-dq-actors
+ tools-enum_parser-enum_serialization_runtime
)
target_sources(providers-dq-common PRIVATE
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/attrs.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_common.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp
)
+generate_enum_serilization(providers-dq-common
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_settings.h
+ INCLUDE_HEADERS
+ ydb/library/yql/providers/dq/common/yql_dq_settings.h
+)
diff --git a/ydb/library/yql/providers/dq/common/CMakeLists.linux-aarch64.txt b/ydb/library/yql/providers/dq/common/CMakeLists.linux-aarch64.txt
index 0b477b8c2ef..0df62e46693 100644
--- a/ydb/library/yql/providers/dq/common/CMakeLists.linux-aarch64.txt
+++ b/ydb/library/yql/providers/dq/common/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
# original buildsystem will not be accepted.
+get_built_tool_path(
+ TOOL_enum_parser_bin
+ TOOL_enum_parser_dependency
+ tools/enum_parser/enum_parser
+ enum_parser
+)
add_library(providers-dq-common)
target_compile_options(providers-dq-common PRIVATE
@@ -21,9 +27,15 @@ target_link_libraries(providers-dq-common PUBLIC
library-yql-utils
yql-utils-log
yql-dq-actors
+ tools-enum_parser-enum_serialization_runtime
)
target_sources(providers-dq-common PRIVATE
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/attrs.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_common.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp
)
+generate_enum_serilization(providers-dq-common
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_settings.h
+ INCLUDE_HEADERS
+ ydb/library/yql/providers/dq/common/yql_dq_settings.h
+)
diff --git a/ydb/library/yql/providers/dq/common/CMakeLists.linux-x86_64.txt b/ydb/library/yql/providers/dq/common/CMakeLists.linux-x86_64.txt
index 0b477b8c2ef..0df62e46693 100644
--- a/ydb/library/yql/providers/dq/common/CMakeLists.linux-x86_64.txt
+++ b/ydb/library/yql/providers/dq/common/CMakeLists.linux-x86_64.txt
@@ -6,6 +6,12 @@
# original buildsystem will not be accepted.
+get_built_tool_path(
+ TOOL_enum_parser_bin
+ TOOL_enum_parser_dependency
+ tools/enum_parser/enum_parser
+ enum_parser
+)
add_library(providers-dq-common)
target_compile_options(providers-dq-common PRIVATE
@@ -21,9 +27,15 @@ target_link_libraries(providers-dq-common PUBLIC
library-yql-utils
yql-utils-log
yql-dq-actors
+ tools-enum_parser-enum_serialization_runtime
)
target_sources(providers-dq-common PRIVATE
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/attrs.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_common.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp
)
+generate_enum_serilization(providers-dq-common
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_settings.h
+ INCLUDE_HEADERS
+ ydb/library/yql/providers/dq/common/yql_dq_settings.h
+)
diff --git a/ydb/library/yql/providers/dq/common/CMakeLists.windows-x86_64.txt b/ydb/library/yql/providers/dq/common/CMakeLists.windows-x86_64.txt
index d0bddb4ea85..a1ecc96fcc6 100644
--- a/ydb/library/yql/providers/dq/common/CMakeLists.windows-x86_64.txt
+++ b/ydb/library/yql/providers/dq/common/CMakeLists.windows-x86_64.txt
@@ -6,6 +6,12 @@
# original buildsystem will not be accepted.
+get_built_tool_path(
+ TOOL_enum_parser_bin
+ TOOL_enum_parser_dependency
+ tools/enum_parser/enum_parser
+ enum_parser
+)
add_library(providers-dq-common)
target_compile_options(providers-dq-common PRIVATE
@@ -20,9 +26,15 @@ target_link_libraries(providers-dq-common PUBLIC
library-yql-utils
yql-utils-log
yql-dq-actors
+ tools-enum_parser-enum_serialization_runtime
)
target_sources(providers-dq-common PRIVATE
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/attrs.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_common.cpp
${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp
)
+generate_enum_serilization(providers-dq-common
+ ${CMAKE_SOURCE_DIR}/ydb/library/yql/providers/dq/common/yql_dq_settings.h
+ INCLUDE_HEADERS
+ ydb/library/yql/providers/dq/common/yql_dq_settings.h
+)
diff --git a/ydb/library/yql/providers/dq/common/ya.make b/ydb/library/yql/providers/dq/common/ya.make
index 679a13c3e97..8344d6cc91c 100644
--- a/ydb/library/yql/providers/dq/common/ya.make
+++ b/ydb/library/yql/providers/dq/common/ya.make
@@ -9,6 +9,8 @@ PEERDIR(
ydb/library/yql/dq/actors
)
+GENERATE_ENUM_SERIALIZATION(yql_dq_settings.h)
+
SRCS(
attrs.cpp
yql_dq_common.cpp
diff --git a/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp b/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp
index 61512abd446..6ed7416582a 100644
--- a/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp
+++ b/ydb/library/yql/providers/dq/common/yql_dq_settings.cpp
@@ -73,6 +73,7 @@ TDqConfiguration::TDqConfiguration() {
REGISTER_SETTING(*this, AggregateStatsByStage);
REGISTER_SETTING(*this, EnableChannelStats);
REGISTER_SETTING(*this, ExportStats);
+ REGISTER_SETTING(*this, TaskRunnerStats).Parser([](const TString& v) { return FromString<ETaskRunnerStats>(v); });
}
} // namespace NYql
diff --git a/ydb/library/yql/providers/dq/common/yql_dq_settings.h b/ydb/library/yql/providers/dq/common/yql_dq_settings.h
index aa30d90a506..72f67c1579c 100644
--- a/ydb/library/yql/providers/dq/common/yql_dq_settings.h
+++ b/ydb/library/yql/providers/dq/common/yql_dq_settings.h
@@ -15,6 +15,12 @@ namespace NYql {
struct TDqSettings {
+ enum class ETaskRunnerStats {
+ Disable,
+ Basic,
+ Profile
+ };
+
struct TDefault {
static constexpr ui32 MaxTasksPerStage = 20U;
static constexpr ui32 MaxTasksPerOperation = 70U;
@@ -41,6 +47,7 @@ struct TDqSettings {
static constexpr bool AggregateStatsByStage = true;
static constexpr bool EnableChannelStats = false;
static constexpr bool ExportStats = false;
+ static constexpr ETaskRunnerStats TaskRunnerStats = ETaskRunnerStats::Basic;
};
using TPtr = std::shared_ptr<TDqSettings>;
@@ -105,6 +112,7 @@ struct TDqSettings {
NCommon::TConfSetting<bool, false> AggregateStatsByStage;
NCommon::TConfSetting<bool, false> EnableChannelStats;
NCommon::TConfSetting<bool, false> ExportStats;
+ NCommon::TConfSetting<ETaskRunnerStats, false> TaskRunnerStats;
// This options will be passed to executor_actor and worker_actor
template <typename TProtoConfig>
@@ -158,6 +166,7 @@ struct TDqSettings {
SAVE_SETTING(AggregateStatsByStage);
SAVE_SETTING(EnableChannelStats);
SAVE_SETTING(ExportStats);
+ SAVE_SETTING(TaskRunnerStats);
#undef SAVE_SETTING
}
diff --git a/ydb/library/yql/providers/dq/task_runner/tasks_runner_local.cpp b/ydb/library/yql/providers/dq/task_runner/tasks_runner_local.cpp
index 318ff5357fb..77e5d392fc7 100644
--- a/ydb/library/yql/providers/dq/task_runner/tasks_runner_local.cpp
+++ b/ydb/library/yql/providers/dq/task_runner/tasks_runner_local.cpp
@@ -261,14 +261,27 @@ public:
NDq::TDqTaskRunnerSettings settings;
settings.TerminateOnError = TerminateOnError;
settings.CollectBasicStats = true;
- settings.CollectProfileStats = true;
+ settings.CollectProfileStats = false;
Yql::DqsProto::TTaskMeta taskMeta;
task.GetMeta().UnpackTo(&taskMeta);
for (const auto& s : taskMeta.GetSettings()) {
- if ("OptLLVM" == s.GetName())
+ if ("OptLLVM" == s.GetName()) {
settings.OptLLVM = s.GetValue();
+ }
+ if ("TaskRunnerStats" == s.GetName()) {
+ if ("Disable" == s.GetValue()) {
+ settings.CollectBasicStats = false;
+ settings.CollectProfileStats = false;
+ } else if ("Profile" == s.GetValue()) {
+ settings.CollectBasicStats = true;
+ settings.CollectProfileStats = true;
+ } else if ("Basic" == s.GetValue()) {
+ settings.CollectBasicStats = true;
+ settings.CollectProfileStats = false;
+ }
+ }
}
for (const auto& x : taskMeta.GetSecureParams()) {
settings.SecureParams[x.first] = x.second;