New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v8: support gc profile #46255
v8: support gc profile #46255
Conversation
cbcd60d
to
8a8e086
Compare
4756504
to
e57ab16
Compare
ce8dfe7
to
ca62c3b
Compare
|
The perf_hooks module already has a PerformanceEntry type for GC operations. I'm wondering if it would make more sense to add this additional detail to that existing API than to add an entirely new API. |
Every time a GC occurs, Currently i think the user can implement GC profile in JS land by combine |
d6b457b
to
50a83ff
Compare
|
Landed in 733ef4e |


support gc profile. the content is as follows.
{ "version": 1, "startTime": 1674059033862, "statistics": [ { "gcType": "Scavenge", "beforeGC": { "heapStatistics": { "totalHeapSize": 5005312, "totalHeapSizeExecutable": 524288, "totalPhysicalSize": 5226496, "totalAvailableSize": 4341325216, "totalGlobalHandlesSize": 8192, "usedGlobalHandlesSize": 2112, "usedHeapSize": 4883840, "heapSizeLimit": 4345298944, "mallocedMemory": 254128, "externalMemory": 225138, "peakMallocedMemory": 181760 }, "heapSpaceStatistics": [ { "spaceName": "read_only_space", "spaceSize": 0, "spaceUsedSize": 0, "spaceAvailableSize": 0, "physicalSpaceSize": 0 } ] }, "cost": 1574.14, "afterGC": { "heapStatistics": { "totalHeapSize": 6053888, "totalHeapSizeExecutable": 524288, "totalPhysicalSize": 5500928, "totalAvailableSize": 4341101384, "totalGlobalHandlesSize": 8192, "usedGlobalHandlesSize": 2112, "usedHeapSize": 4059096, "heapSizeLimit": 4345298944, "mallocedMemory": 254128, "externalMemory": 225138, "peakMallocedMemory": 181760 }, "heapSpaceStatistics": [ { "spaceName": "read_only_space", "spaceSize": 0, "spaceUsedSize": 0, "spaceAvailableSize": 0, "physicalSpaceSize": 0 } ] } } ], "endtTime": 1674059036865 }make -j4 test(UNIX), orvcbuild test(Windows) passes