зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1649233 - Add a new ProfilerMarkerPayload that is just a time duration. r=gerald,canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D81592
This commit is contained in:
Родитель
3d1fd6f81d
Коммит
ee148dcec6
|
@ -816,6 +816,32 @@ void GCSliceMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ProfileBufferEntryWriter::Length BudgetMarkerPayload::TagAndSerializationBytes()
|
||||||
|
const {
|
||||||
|
return CommonPropsTagAndSerializationBytes();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BudgetMarkerPayload::SerializeTagAndPayload(
|
||||||
|
ProfileBufferEntryWriter& aEntryWriter) const {
|
||||||
|
static const DeserializerTag tag = TagForDeserializer(Deserialize);
|
||||||
|
SerializeTagAndCommonProps(tag, aEntryWriter);
|
||||||
|
}
|
||||||
|
|
||||||
|
// static
|
||||||
|
UniquePtr<ProfilerMarkerPayload> BudgetMarkerPayload::Deserialize(
|
||||||
|
ProfileBufferEntryReader& aEntryReader) {
|
||||||
|
ProfilerMarkerPayload::CommonProps props =
|
||||||
|
DeserializeCommonProps(aEntryReader);
|
||||||
|
return UniquePtr<ProfilerMarkerPayload>(
|
||||||
|
new BudgetMarkerPayload(std::move(props)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void BudgetMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
|
||||||
|
const TimeStamp& aProcessStartTime,
|
||||||
|
UniqueStacks& aUniqueStacks) const {
|
||||||
|
StreamCommonProps("Budget", aWriter, aProcessStartTime, aUniqueStacks);
|
||||||
|
}
|
||||||
|
|
||||||
ProfileBufferEntryWriter::Length
|
ProfileBufferEntryWriter::Length
|
||||||
GCMajorMarkerPayload::TagAndSerializationBytes() const {
|
GCMajorMarkerPayload::TagAndSerializationBytes() const {
|
||||||
return CommonPropsTagAndSerializationBytes() +
|
return CommonPropsTagAndSerializationBytes() +
|
||||||
|
|
|
@ -228,6 +228,19 @@ class TracingMarkerPayload : public ProfilerMarkerPayload {
|
||||||
TracingKind mKind;
|
TracingKind mKind;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class BudgetMarkerPayload : public ProfilerMarkerPayload {
|
||||||
|
public:
|
||||||
|
BudgetMarkerPayload(const mozilla::TimeStamp& aStartTime,
|
||||||
|
const mozilla::TimeStamp& aEndTime)
|
||||||
|
: ProfilerMarkerPayload(aStartTime, aEndTime) {}
|
||||||
|
|
||||||
|
DECL_STREAM_PAYLOAD
|
||||||
|
|
||||||
|
private:
|
||||||
|
explicit BudgetMarkerPayload(CommonProps&& aCommonProps)
|
||||||
|
: ProfilerMarkerPayload(std::move(aCommonProps)) {}
|
||||||
|
};
|
||||||
|
|
||||||
class FileIOMarkerPayload : public ProfilerMarkerPayload {
|
class FileIOMarkerPayload : public ProfilerMarkerPayload {
|
||||||
public:
|
public:
|
||||||
FileIOMarkerPayload(
|
FileIOMarkerPayload(
|
||||||
|
|
Загрузка…
Ссылка в новой задаче