зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1322560 - Report GC major/minor numbers in JSON, r=jonco
--HG-- extra : rebase_source : 4b391860200c9c9b77dbc16e9de1cad6fdb60668 extra : source : 3b458dc06af44ee788cb86dee6611b66ce0ebe5b
This commit is contained in:
Родитель
4b00aab714
Коммит
784adc799a
|
@ -741,7 +741,9 @@ Statistics::formatJsonDescription(uint64_t timestamp) const
|
|||
"\"nonincremental_reason\":\"%s\","
|
||||
"\"allocated\":%u,"
|
||||
"\"added_chunks\":%d,"
|
||||
"\"removed_chunks\":%d,";
|
||||
"\"removed_chunks\":%d,"
|
||||
"\"major_gc_number\":%llu,"
|
||||
"\"minor_gc_number\":%llu,";
|
||||
char buffer[1024];
|
||||
SprintfLiteral(buffer, format,
|
||||
(unsigned long long)timestamp,
|
||||
|
@ -760,7 +762,9 @@ Statistics::formatJsonDescription(uint64_t timestamp) const
|
|||
ExplainAbortReason(nonincrementalReason_),
|
||||
unsigned(preBytes / 1024 / 1024),
|
||||
getCount(STAT_NEW_CHUNK),
|
||||
getCount(STAT_DESTROY_CHUNK));
|
||||
getCount(STAT_DESTROY_CHUNK),
|
||||
startingMajorGCNumber,
|
||||
startingMinorGCNumber);
|
||||
return DuplicateString(buffer);
|
||||
}
|
||||
|
||||
|
@ -1072,6 +1076,7 @@ Statistics::beginGC(JSGCInvocationKind kind)
|
|||
nonincrementalReason_ = gc::AbortReason::None;
|
||||
|
||||
preBytes = runtime->gc.usage.gcBytes();
|
||||
startingMajorGCNumber = runtime->gc.majorGCCount();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1125,6 +1130,7 @@ void
|
|||
Statistics::beginNurseryCollection(JS::gcreason::Reason reason)
|
||||
{
|
||||
count(STAT_MINOR_GC);
|
||||
startingMinorGCNumber = runtime->gc.minorGCCount();
|
||||
if (nurseryCollectionCallback) {
|
||||
(*nurseryCollectionCallback)(TlsContext.get(),
|
||||
JS::GCNurseryProgress::GC_NURSERY_COLLECTION_START,
|
||||
|
|
|
@ -386,6 +386,10 @@ struct Statistics
|
|||
/* Allocated space before the GC started. */
|
||||
size_t preBytes;
|
||||
|
||||
/* GC numbers as of the beginning of the collection. */
|
||||
uint64_t startingMinorGCNumber;
|
||||
uint64_t startingMajorGCNumber;
|
||||
|
||||
/* Records the maximum GC pause in an API-controlled interval (in us). */
|
||||
mutable TimeDuration maxPauseInInterval;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче