aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivanmorozov <ivanmorozov@yandex-team.com>2023-02-18 18:03:53 +0300
committerivanmorozov <ivanmorozov@yandex-team.com>2023-02-18 18:03:53 +0300
commitdd651aa6501e525bd07a5a84fe20a3252e81dafb (patch)
treefcfb6d0893cd01c118b78bd37d994a61dbefa08b
parent07f61170e21a176d45628b5101269079ef55592b (diff)
downloadydb-dd651aa6501e525bd07a5a84fe20a3252e81dafb.tar.gz
add host name and node id for kqp stats
-rw-r--r--ydb/core/kqp/opt/kqp_query_plan.cpp2
-rw-r--r--ydb/library/yql/dq/actors/compute/dq_compute_actor_stats.cpp5
-rw-r--r--ydb/library/yql/dq/actors/protos/dq_stats.proto2
3 files changed, 9 insertions, 0 deletions
diff --git a/ydb/core/kqp/opt/kqp_query_plan.cpp b/ydb/core/kqp/opt/kqp_query_plan.cpp
index 3056214648..8a9ba7a8bd 100644
--- a/ydb/core/kqp/opt/kqp_query_plan.cpp
+++ b/ydb/core/kqp/opt/kqp_query_plan.cpp
@@ -1638,6 +1638,8 @@ TString AddExecStatsToTxPlan(const TString& txPlanJson, const NYql::NDqProto::TD
auto fillTaskStats = [&](NJson::TJsonValue& node, const NYql::NDqProto::TDqTaskStats& taskStats) {
node["TaskId"] = taskStats.GetTaskId();
+ SetNonZero(node, "Host", taskStats.GetHostName());
+ SetNonZero(node, "NodeId", taskStats.GetNodeId());
SetNonZero(node, "InputRows", taskStats.GetInputRows());
SetNonZero(node, "InputBytes", taskStats.GetInputBytes());
SetNonZero(node, "OutputRows", taskStats.GetOutputRows());
diff --git a/ydb/library/yql/dq/actors/compute/dq_compute_actor_stats.cpp b/ydb/library/yql/dq/actors/compute/dq_compute_actor_stats.cpp
index 74a738b723..1666424ec3 100644
--- a/ydb/library/yql/dq/actors/compute/dq_compute_actor_stats.cpp
+++ b/ydb/library/yql/dq/actors/compute/dq_compute_actor_stats.cpp
@@ -1,6 +1,7 @@
#include "dq_compute_actor.h"
#include <ydb/library/yql/dq/actors/protos/dq_stats.pb.h>
+#include <util/system/hostname.h>
namespace NYql {
namespace NDq {
@@ -15,6 +16,10 @@ void FillTaskRunnerStats(ui64 taskId, ui32 stageId, const TTaskRunnerStatsBase&
// Cerr << (TStringBuilder() << "FillTaskRunnerStats: " << taskStats.ComputeCpuTime << ", " << taskStats.BuildCpuTime << Endl);
if (Y_UNLIKELY(withProfileStats)) {
+ if (NActors::TlsActivationContext && NActors::TlsActivationContext->ActorSystem()) {
+ protoTask->SetNodeId(NActors::TlsActivationContext->ActorSystem()->NodeId);
+ }
+ protoTask->SetHostName(HostName());
protoTask->SetComputeCpuTimeUs(taskStats.ComputeCpuTime.MicroSeconds());
protoTask->SetBuildCpuTimeUs(taskStats.BuildCpuTime.MicroSeconds());
protoTask->SetWaitTimeUs(taskStats.WaitTime.MicroSeconds());
diff --git a/ydb/library/yql/dq/actors/protos/dq_stats.proto b/ydb/library/yql/dq/actors/protos/dq_stats.proto
index a0486c2c5c..fda1fa496f 100644
--- a/ydb/library/yql/dq/actors/protos/dq_stats.proto
+++ b/ydb/library/yql/dq/actors/protos/dq_stats.proto
@@ -155,6 +155,8 @@ message TDqTaskStats {
repeated TDqAsyncOutputBufferStats Sinks = 152;
repeated TDqOutputChannelStats OutputChannels = 153;
repeated TDqAsyncInputBufferStats InputTransforms = 155;
+ string HostName = 156;
+ uint32 NodeId = 157;
google.protobuf.Any Extra = 200;
}