diff options
author | ivanmorozov <ivanmorozov@yandex-team.com> | 2022-09-22 17:13:22 +0300 |
---|---|---|
committer | ivanmorozov <ivanmorozov@yandex-team.com> | 2022-09-22 17:13:22 +0300 |
commit | e8cdc1150f2c8f9972bcbd5468972ee8e1b6cc85 (patch) | |
tree | 1f81ee0bb8b9dea4289251023ea4ebd7d4d038e1 /library | |
parent | 9da11aae5d1b0db8f79c059f3c6a5aae7ccb93e9 (diff) | |
download | ydb-e8cdc1150f2c8f9972bcbd5468972ee8e1b6cc85.tar.gz |
add profile attribute into profile span
Diffstat (limited to 'library')
-rw-r--r-- | library/cpp/actors/wilson/wilson_profile_span.cpp | 20 | ||||
-rw-r--r-- | library/cpp/actors/wilson/wilson_profile_span.h | 3 |
2 files changed, 18 insertions, 5 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; |