Bug 1807011 - Do not call TimeStamp::Now for text markers when profiler is not running r=julienw

Differential Revision: https://phabricator.services.mozilla.com/D166804
This commit is contained in:
Nazım Can Altınova 2023-01-18 10:56:18 +00:00
Родитель 114a9dd6fc
Коммит 3894ab42c2
2 изменённых файлов: 19 добавлений и 13 удалений

Просмотреть файл

@ -203,16 +203,19 @@ class MOZ_RAII AutoProfilerTextMarker {
mText(aText) {
MOZ_ASSERT(mOptions.Timing().EndTime().IsNull(),
"AutoProfilerTextMarker options shouldn't have an end time");
if (mOptions.Timing().StartTime().IsNull()) {
if (profiler_is_active_and_unpaused() &&
mOptions.Timing().StartTime().IsNull()) {
mOptions.Set(MarkerTiming::InstantNow());
}
}
~AutoProfilerTextMarker() {
mOptions.TimingRef().SetIntervalEnd();
AUTO_PROFILER_STATS(AUTO_BASE_PROFILER_MARKER_TEXT);
AddMarker(ProfilerString8View::WrapNullTerminatedString(mMarkerName),
mCategory, std::move(mOptions), markers::TextMarker{}, mText);
if (profiler_is_active_and_unpaused()) {
mOptions.TimingRef().SetIntervalEnd();
AUTO_PROFILER_STATS(AUTO_BASE_PROFILER_MARKER_TEXT);
AddMarker(ProfilerString8View::WrapNullTerminatedString(mMarkerName),
mCategory, std::move(mOptions), markers::TextMarker{}, mText);
}
}
protected:

Просмотреть файл

@ -216,19 +216,22 @@ class MOZ_RAII AutoProfilerTextMarker {
mText(aText) {
MOZ_ASSERT(mOptions.Timing().EndTime().IsNull(),
"AutoProfilerTextMarker options shouldn't have an end time");
if (mOptions.Timing().StartTime().IsNull()) {
if (profiler_is_active_and_unpaused() &&
mOptions.Timing().StartTime().IsNull()) {
mOptions.Set(mozilla::MarkerTiming::InstantNow());
}
}
~AutoProfilerTextMarker() {
AUTO_PROFILER_LABEL("TextMarker", PROFILER);
mOptions.TimingRef().SetIntervalEnd();
AUTO_PROFILER_STATS(AUTO_PROFILER_MARKER_TEXT);
profiler_add_marker(
mozilla::ProfilerString8View::WrapNullTerminatedString(mMarkerName),
mCategory, std::move(mOptions), geckoprofiler::markers::TextMarker{},
mText);
if (profiler_is_active_and_unpaused()) {
AUTO_PROFILER_LABEL("TextMarker", PROFILER);
mOptions.TimingRef().SetIntervalEnd();
AUTO_PROFILER_STATS(AUTO_PROFILER_MARKER_TEXT);
profiler_add_marker(
mozilla::ProfilerString8View::WrapNullTerminatedString(mMarkerName),
mCategory, std::move(mOptions), geckoprofiler::markers::TextMarker{},
mText);
}
}
protected: