File tree Expand file tree Collapse file tree 4 files changed +15
-5
lines changed
Expand file tree Collapse file tree 4 files changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -41,19 +41,23 @@ added: v12.8.0
4141
4242* Returns: {Object}
4343
44- Returns an object with the following properties:
44+ Get statistics about code and its metadata in the heap, see V8
45+ [ ` GetHeapCodeAndMetadataStatistics ` ] [ ] API. Returns an object with the
46+ following properties:
4547
4648* ` code_and_metadata_size ` {number}
4749* ` bytecode_and_metadata_size ` {number}
4850* ` external_script_source_size ` {number}
51+ * ` cpu_profiler_metadata_size ` {number}
4952
5053<!-- eslint-skip -->
5154
5255``` js
5356{
5457 code_and_metadata_size: 212208 ,
5558 bytecode_and_metadata_size: 161368 ,
56- external_script_source_size: 1410794
59+ external_script_source_size: 1410794 ,
60+ cpu_profiler_metadata_size: 0
5761}
5862```
5963
@@ -882,6 +886,7 @@ occur synchronously in the case of `Promise.resolve()` or `Promise.reject()`.
882886[ `Deserializer` ] : #class-v8deserializer
883887[ `ERR_BUFFER_TOO_LARGE` ] : errors.md#err_buffer_too_large
884888[ `Error` ] : errors.md#class-error
889+ [ `GetHeapCodeAndMetadataStatistics` ] : https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#a6079122af17612ef54ef3348ce170866
885890[ `GetHeapSpaceStatistics` ] : https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#ac673576f24fdc7a33378f8f57e1d13a4
886891[ `NODE_V8_COVERAGE` ] : cli.md#node_v8_coveragedir
887892[ `Serializer` ] : #class-v8serializer
Original file line number Diff line number Diff line change @@ -121,7 +121,8 @@ const {
121121 // Properties for heap code statistics buffer extraction.
122122 kCodeAndMetadataSizeIndex,
123123 kBytecodeAndMetadataSizeIndex,
124- kExternalScriptSourceSizeIndex
124+ kExternalScriptSourceSizeIndex,
125+ kCPUProfilerMetaDataSizeIndex
125126} = binding ;
126127
127128const kNumberOfHeapSpaces = kHeapSpaces . length ;
@@ -209,6 +210,7 @@ function getHeapSpaceStatistics() {
209210 * code_and_metadata_size: number;
210211 * bytecode_and_metadata_size: number;
211212 * external_script_source_size: number;
213+ * cpu_profiler_metadata_size: number;
212214 * }}
213215 */
214216function getHeapCodeStatistics ( ) {
@@ -218,7 +220,8 @@ function getHeapCodeStatistics() {
218220 return {
219221 code_and_metadata_size : buffer [ kCodeAndMetadataSizeIndex ] ,
220222 bytecode_and_metadata_size : buffer [ kBytecodeAndMetadataSizeIndex ] ,
221- external_script_source_size : buffer [ kExternalScriptSourceSizeIndex ]
223+ external_script_source_size : buffer [ kExternalScriptSourceSizeIndex ] ,
224+ cpu_profiler_metadata_size : buffer [ kCPUProfilerMetaDataSizeIndex ]
222225 } ;
223226}
224227
Original file line number Diff line number Diff line change @@ -82,7 +82,8 @@ static constexpr size_t kHeapSpaceStatisticsPropertiesCount =
8282#define HEAP_CODE_STATISTICS_PROPERTIES (V ) \
8383 V (0 , code_and_metadata_size, kCodeAndMetadataSizeIndex ) \
8484 V (1 , bytecode_and_metadata_size, kBytecodeAndMetadataSizeIndex ) \
85- V (2 , external_script_source_size, kExternalScriptSourceSizeIndex )
85+ V (2 , external_script_source_size, kExternalScriptSourceSizeIndex ) \
86+ V (3 , cpu_profiler_metadata_size, kCPUProfilerMetaDataSizeIndex )
8687
8788#define V (a, b, c ) +1
8889static const size_t kHeapCodeStatisticsPropertiesCount =
Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ const heapCodeStatistics = v8.getHeapCodeStatistics();
2929const heapCodeStatisticsKeys = [
3030 'bytecode_and_metadata_size' ,
3131 'code_and_metadata_size' ,
32+ 'cpu_profiler_metadata_size' ,
3233 'external_script_source_size' ] ;
3334assert . deepStrictEqual ( Object . keys ( heapCodeStatistics ) . sort ( ) ,
3435 heapCodeStatisticsKeys ) ;
You can’t perform that action at this time.
0 commit comments