Skip to content

Commit 3789d66

Browse files
legendecassxa
authored andcommitted
doc: add missing api entries on performance
PR-URL: #42018 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
1 parent 9930146 commit 3789d66

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

doc/api/perf_hooks.md

+81
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,17 @@ added: v8.5.0
5555
If `name` is not provided, removes all `PerformanceMark` objects from the
5656
Performance Timeline. If `name` is provided, removes only the named mark.
5757

58+
### `performance.clearMeasures([name])`
59+
60+
<!-- YAML
61+
added: v16.7.0
62+
-->
63+
64+
* `name` {string}
65+
66+
If `name` is not provided, removes all `PerformanceMeasure` objects from the
67+
Performance Timeline. If `name` is provided, removes only the named mark.
68+
5869
### `performance.eventLoopUtilization([utilization1[, utilization2]])`
5970

6071
<!-- YAML
@@ -118,6 +129,47 @@ Passing in a user-defined object instead of the result of a previous call to
118129
`eventLoopUtilization()` will lead to undefined behavior. The return values
119130
are not guaranteed to reflect any correct state of the event loop.
120131

132+
### `performance.getEntries()`
133+
134+
<!-- YAML
135+
added: v16.7.0
136+
-->
137+
138+
* Returns: {PerformanceEntry\[]}
139+
140+
Returns a list of `PerformanceEntry` objects in chronological order with
141+
respect to `performanceEntry.startTime`. If you are only interested in
142+
performance entries of certain types or that have certain names, see
143+
`performance.getEntriesByType()` and `performance.getEntriesByName()`.
144+
145+
### `performance.getEntriesByName(name[, type])`
146+
147+
<!-- YAML
148+
added: v16.7.0
149+
-->
150+
151+
* `name` {string}
152+
* `type` {string}
153+
* Returns: {PerformanceEntry\[]}
154+
155+
Returns a list of `PerformanceEntry` objects in chronological order
156+
with respect to `performanceEntry.startTime` whose `performanceEntry.name` is
157+
equal to `name`, and optionally, whose `performanceEntry.entryType` is equal to
158+
`type`.
159+
160+
### `performance.getEntriesByType(type)`
161+
162+
<!-- YAML
163+
added: v16.7.0
164+
-->
165+
166+
* `type` {string}
167+
* Returns: {PerformanceEntry\[]}
168+
169+
Returns a list of `PerformanceEntry` objects in chronological order
170+
with respect to `performanceEntry.startTime` whose `performanceEntry.entryType`
171+
is equal to `type`.
172+
121173
### `performance.mark([name[, options]])`
122174

123175
<!-- YAML
@@ -140,6 +192,12 @@ Creates a new `PerformanceMark` entry in the Performance Timeline. A
140192
`performanceEntry.duration` is always `0`. Performance marks are used
141193
to mark specific significant moments in the Performance Timeline.
142194

195+
The created `PerformanceMark` entry is put in the global Performance Timeline
196+
and can be queried with `performance.getEntries`,
197+
`performance.getEntriesByName`, and `performance.getEntriesByType`. When the
198+
observation is performed, the entries should be cleared from the global
199+
Performance Timeline manually with `performance.clearMarks`.
200+
143201
### `performance.measure(name[, startMarkOrOptions[, endMark]])`
144202

145203
<!-- YAML
@@ -183,6 +241,12 @@ in the Performance Timeline or any of the timestamp properties provided by the
183241
if no parameter is passed, otherwise if the named `endMark` does not exist, an
184242
error will be thrown.
185243

244+
The created `PerformanceMeasure` entry is put in the global Performance Timeline
245+
and can be queried with `performance.getEntries`,
246+
`performance.getEntriesByName`, and `performance.getEntriesByType`. When the
247+
observation is performed, the entries should be cleared from the global
248+
Performance Timeline manually with `performance.clearMeasures`.
249+
186250
### `performance.nodeTiming`
187251

188252
<!-- YAML
@@ -258,6 +322,9 @@ const wrapped = performance.timerify(someFunction);
258322

259323
const obs = new PerformanceObserver((list) => {
260324
console.log(list.getEntries()[0].duration);
325+
326+
performance.clearMarks();
327+
performance.clearMeasures();
261328
obs.disconnect();
262329
});
263330
obs.observe({ entryTypes: ['function'] });
@@ -585,6 +652,9 @@ const {
585652

586653
const obs = new PerformanceObserver((list, observer) => {
587654
console.log(list.getEntries());
655+
656+
performance.clearMarks();
657+
performance.clearMeasures();
588658
observer.disconnect();
589659
});
590660
obs.observe({ entryTypes: ['mark'], buffered: true });
@@ -700,6 +770,9 @@ const obs = new PerformanceObserver((perfObserverList, observer) => {
700770
* }
701771
* ]
702772
*/
773+
774+
performance.clearMarks();
775+
performance.clearMeasures();
703776
observer.disconnect();
704777
});
705778
obs.observe({ type: 'mark' });
@@ -755,6 +828,9 @@ const obs = new PerformanceObserver((perfObserverList, observer) => {
755828
* ]
756829
*/
757830
console.log(perfObserverList.getEntriesByName('test', 'measure')); // []
831+
832+
performance.clearMarks();
833+
performance.clearMeasures();
758834
observer.disconnect();
759835
});
760836
obs.observe({ entryTypes: ['mark', 'measure'] });
@@ -800,6 +876,8 @@ const obs = new PerformanceObserver((perfObserverList, observer) => {
800876
* }
801877
* ]
802878
*/
879+
performance.clearMarks();
880+
performance.clearMeasures();
803881
observer.disconnect();
804882
});
805883
obs.observe({ type: 'mark' });
@@ -1133,6 +1211,7 @@ hook.enable();
11331211
const obs = new PerformanceObserver((list, observer) => {
11341212
console.log(list.getEntries()[0]);
11351213
performance.clearMarks();
1214+
performance.clearMeasures();
11361215
observer.disconnect();
11371216
});
11381217
obs.observe({ entryTypes: ['measure'], buffered: true });
@@ -1166,6 +1245,8 @@ const obs = new PerformanceObserver((list) => {
11661245
entries.forEach((entry) => {
11671246
console.log(`require('${entry[0]}')`, entry.duration);
11681247
});
1248+
performance.clearMarks();
1249+
performance.clearMeasures();
11691250
obs.disconnect();
11701251
});
11711252
obs.observe({ entryTypes: ['function'], buffered: true });

0 commit comments

Comments
 (0)