| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -228,6 +228,48 @@ t2.enable(); | |||
| 228 | 228 | console.log(trace_events.getEnabledCategories()); | |
| 229 | 229 | ``` | |
| 230 | 230 | ||
| 231 | + ## Examples | ||
| 232 | + | ||
| 233 | + ### Collect trace events data by inspector | ||
| 234 | + | ||
| 235 | + ```js | ||
| 236 | + 'use strict'; | ||
| 237 | + | ||
| 238 | + const { Session } = require('inspector'); | ||
| 239 | + const session = new Session(); | ||
| 240 | + session.connect(); | ||
| 241 | + | ||
| 242 | + function post(message, data) { | ||
| 243 | + return new Promise((resolve, reject) => { | ||
| 244 | + session.post(message, data, (err, result) => { | ||
| 245 | + if (err) | ||
| 246 | + reject(new Error(JSON.stringify(err))); | ||
| 247 | + else | ||
| 248 | + resolve(result); | ||
| 249 | + }); | ||
| 250 | + }); | ||
| 251 | + } | ||
| 252 | + | ||
| 253 | + async function collect() { | ||
| 254 | + const data = []; | ||
| 255 | + session.on('NodeTracing.dataCollected', (chunk) => data.push(chunk)); | ||
| 256 | + session.on('NodeTracing.tracingComplete', () => { | ||
| 257 | + // done | ||
| 258 | + }); | ||
| 259 | + const traceConfig = { includedCategories: ['v8'] }; | ||
| 260 | + await post('NodeTracing.start', { traceConfig }); | ||
| 261 | + // do something | ||
| 262 | + setTimeout(() => { | ||
| 263 | + post('NodeTracing.stop').then(() => { | ||
| 264 | + session.disconnect(); | ||
| 265 | + console.log(data); | ||
| 266 | + }); | ||
| 267 | + }, 1000); | ||
| 268 | + } | ||
| 269 | + | ||
| 270 | + collect(); | ||
| 271 | + ``` | ||
| 272 | + | ||
| 231 | 273 | [Performance API]: perf_hooks.md | |
| 232 | 274 | [V8]: v8.md | |
| 233 | 275 | [`Worker`]: worker_threads.md#class-worker | |
| Back | FazBrowse Home | New Git URL |
0 commit comments