aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivanmorozov <ivanmorozov@yandex-team.com>2022-09-22 17:13:22 +0300
committerivanmorozov <ivanmorozov@yandex-team.com>2022-09-22 17:13:22 +0300
commite8cdc1150f2c8f9972bcbd5468972ee8e1b6cc85 (patch)
tree1f81ee0bb8b9dea4289251023ea4ebd7d4d038e1
parent9da11aae5d1b0db8f79c059f3c6a5aae7ccb93e9 (diff)
downloadydb-e8cdc1150f2c8f9972bcbd5468972ee8e1b6cc85.tar.gz
add profile attribute into profile span
-rw-r--r--library/cpp/actors/wilson/wilson_profile_span.cpp20
-rw-r--r--library/cpp/actors/wilson/wilson_profile_span.h3
-rw-r--r--ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp6
3 files changed, 21 insertions, 8 deletions
diff --git a/library/cpp/actors/wilson/wilson_profile_span.cpp b/library/cpp/actors/wilson/wilson_profile_span.cpp
index 1748b28068..177db5de83 100644
--- a/library/cpp/actors/wilson/wilson_profile_span.cpp
+++ b/library/cpp/actors/wilson/wilson_profile_span.cpp
@@ -27,23 +27,33 @@ void TProfileSpan::AddMin(const TString& eventId, const TString& /*info*/) {
}
}
+TProfileSpan::TProfileSpan(const ui8 verbosity, TTraceId parentId, std::optional<TString> name)
+ : TBase(verbosity, std::move(parentId), name, NWilson::EFlags::AUTO_END)
+{
+
+}
+
+TProfileSpan::~TProfileSpan() {
+ if (Enabled) {
+ TBase::Attribute("profile", ProfileToString());
+ }
+}
+
TString TProfileSpan::ProfileToString() const {
if (!Enabled) {
return "DISABLED";
}
TStringBuilder sb;
- sb << "----FullDuration = " << Now() - StartTime << ";";
- sb << "----Durations:";
FlushNoGuards();
{
NJsonWriter::TBuf sout;
- ResultTimes.InsertValue("--current_guards_count", CurrentJsonPath.size());
- ResultTimes.InsertValue("--duration", (Now() - StartTime).MicroSeconds() * 0.000001);
+ ResultTimes.InsertValue("-current_guards_count", CurrentJsonPath.size());
+ ResultTimes.InsertValue("-duration", (Now() - StartTime).MicroSeconds() * 0.000001);
sout.WriteJsonValue(&ResultTimes, true, EFloatToStringMode::PREC_POINT_DIGITS, 6);
sb << sout.Str();
}
sb << ";";
- sb << "----Pairs:{";
+ sb << "Pairs:{";
for (auto&& i : PairInstances) {
sb << i.first << ":" << i.second.ToString() << ";";
}
diff --git a/library/cpp/actors/wilson/wilson_profile_span.h b/library/cpp/actors/wilson/wilson_profile_span.h
index 20bde7857c..ece1837631 100644
--- a/library/cpp/actors/wilson/wilson_profile_span.h
+++ b/library/cpp/actors/wilson/wilson_profile_span.h
@@ -29,6 +29,9 @@ private:
void FlushNoGuards() const;
TProfileSpan() = default;
public:
+ TProfileSpan(const ui8 verbosity, TTraceId parentId, std::optional<TString> name);
+ ~TProfileSpan();
+
using TBase::TBase;
TString ProfileToString() const;
diff --git a/ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp b/ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp
index 33be9fa583..68a4dd96fd 100644
--- a/ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp
+++ b/ydb/core/kqp/compute_actor/kqp_scan_compute_actor.cpp
@@ -124,10 +124,10 @@ public:
, Snapshot(snapshot)
, ShardsScanningPolicy(shardsScanningPolicy)
, Counters(counters)
- , KqpComputeActorSpan(NKikimr::TWilsonKqp::ComputeActor, TBase::ComputeActorSpan.GetTraceId(), "KqpScanActor", NWilson::EFlags::AUTO_END)
+ , KqpComputeActorSpan(NKikimr::TWilsonKqp::ComputeActor, TBase::ComputeActorSpan.GetTraceId(), "KqpScanActor")
, InFlightShards(ShardsScanningPolicy, KqpComputeActorSpan)
{
- KqpComputeActorSpan.SetEnabled(IS_DEBUG_LOG_ENABLED(NKikimrServices::KQP_COMPUTE));
+ KqpComputeActorSpan.SetEnabled(IS_DEBUG_LOG_ENABLED(NKikimrServices::KQP_COMPUTE) || KqpComputeActorSpan.GetTraceId());
YQL_ENSURE(GetTask().GetMeta().UnpackTo(&Meta), "Invalid task meta: " << GetTask().GetMeta().DebugString());
YQL_ENSURE(!Meta.GetReads().empty());
YQL_ENSURE(Meta.GetTable().GetTableKind() != (ui32)ETableKind::SysView);
@@ -989,7 +989,7 @@ private:
if (!sState->ActorId) {
return;
}
- auto abortEv = MakeHolder<TEvKqp::TEvAbortExecution>(NYql::NDqProto::StatusIds::CANCELLED, "Cancel scan");
+ auto abortEv = MakeHolder<TEvKqp::TEvAbortExecution>(NYql::NDqProto::StatusIds::CANCELLED, "Cancel non actual scan");
Send(sState->ActorId, abortEv.Release());
}