Los objetos de seguimiento ( agregados en v10.0.0 ) se utilizan para un conjunto de categorías para habilitar y deshabilitar el seguimiento. Cuando se crean eventos de rastreo, el rastreo de objetos se deshabilita llamando al método tracing.enable() y luego las categorías se agregan al conjunto de rastreo habilitado y se puede acceder a ellas llamando a tracing.categories .
Algunos de los objetos de Tracing se mencionan a continuación:
-
( Agregado en v10.0.0 ) : el objeto es una interfaz de programación de aplicaciones incorporada del módulo ‘trace_events’ que devuelve categorías de eventos de seguimiento, que es una lista separada por comas que está cubierta por este objeto de seguimiento.
Sintaxis:
tracing.categories
Parámetros: este objeto no acepta ningún parámetro como se mencionó anteriormente.
Valor devuelto < string > : Devuelve la lista de categorías de eventos de seguimiento separados por una coma.
-
( Agregado en v10.0.0 ) : el objeto es una interfaz de programación de aplicaciones incorporada del módulo ‘trace_events’ que desactiva el objeto de seguimiento que se habilitó antes mediante el método tracing.enable() .
Sintaxis:
tracing.disable()
Parámetros: este objeto no acepta ningún parámetro.
Valor devuelto: no devuelve ningún valor, sino que deshabilita los eventos de seguimiento.
-
( Agregado en v10.0.0) : el objeto es una interfaz de programación de aplicaciones incorporada del módulo ‘trace_events’ que habilita el objeto de seguimiento para el conjunto de categorías que se habilitó anteriormente mediante el método tracing.enable().
Sintaxis:
tracing.enable()
Parámetros: este objeto no acepta ningún parámetro.
Valor devuelto: no devuelve ningún valor, sino que habilita eventos de seguimiento.
-
( Agregado en v10.0.0 ) : este objeto rastrea si los eventos de rastreo están habilitados o deshabilitados y devuelve el valor booleano correspondiente.
Sintaxis:
tracing.enabled
Parámetros: este objeto no acepta ningún parámetro.
Valor devuelto < booleano > : devuelve verdadero solo si el objeto de seguimiento se ha habilitado.
Los siguientes programas ilustran los objetos de seguimiento en Node.js:
Instale el módulo trace_events:
npm install trace_events
Ejemplo 1: Nombre de archivo: index.js
// Node.js program to demonstrate the // Tracing methods // Using require to access trace_events module const trace_events = require('trace_events'); const newTraceEvent1 = trace_events.createTracing({ categories: ['node.perf.usertiming', 'v8'] }); const { createTracing } = require('trace_events'); const newTraceEvent2 = createTracing({ categories: ['node', 'node.promises.rejections'] }); newTraceEvent1.enable(); newTraceEvent2.enable(); // Prints newTraceEvent1 trace event console.log(newTraceEvent1); // Prints newTraceEvent2 trace event console.log(newTraceEvent2); // Prints all enabled categories console.log(trace_events.getEnabledCategories()); // Disable 'node, node.promises.rejections' category newTraceEvent2.disable(); // Prints 'node.perf.usertiming, v8' console.log(trace_events.getEnabledCategories()); // Disable 'node.perf.usertiming' category newTraceEvent1.disable();
Ejecute el archivo index.js con el siguiente comando:
node index.js
Producción:
Seguimiento { habilitado: verdadero, categorías: ‘node.perf.usertiming, v8’ }
Seguimiento { habilitado: verdadero, categorías: ‘node, node.promises.rejections’ }
node, node.perf.usertiming, node.promises.rejections, v8
Node.perf.tiempo de usuario, v8
Ejemplo 2: Nombre de archivo: index.js
// Node.js program to demonstrate the // Trace methods // Using require to access trace_events module const trace_events = require("trace_events"); // Tracing categories const categories = [ 'myapp.category', 'v8', 'node', 'node.async_hooks', 'node.promises.rejections', 'node.vm.script', 'node.perf.usertiming', 'node.perf.timerify']; // Now create tracing for custom trace category. const newTracing = trace_events.createTracing({ categories }); // Printing tracing event console.log(newTracing); // Printing tracing categories console.log(newTracing.categories); // Checking wheather trace is enabled or not console.log(newTracing.enabled); // Enabling newTracing newTracing.enable(); // Printing tracing categories console.log(newTracing.categories); // Checking wheather trace is enabled or not console.log(newTracing.enabled); // Do some stuff const perf_hooks = require("perf_hooks"); perf_hooks.performance.mark("Alfa"); () => { perf_hooks.performance.mark("Beta"); perf_hooks.performance.measure( "Alfa to Beta", "Alfa", "Beta"); }; // Prints performance stuff console.log(perf_hooks.performance); // Disables newTracing newTracing.disable();
Ejecute el archivo index.js con el siguiente comando:
node index.js For custom tracing node --trace-event-categories v8, node, node.async_hooks index.js
Producción:
>>Rastreo { habilitado: falso, categorías: ‘myapp.category, ………., node.perf.timerify’}
>>myapp.category, v8, ……….., node.perf.timerify
>>false
> >myapp.category, v8, ………, node.perf.timerify
>>true
>>{ nodeTiming: { name: ‘node’, …loopExit: -1 },
timeOrigin: 1596967720328.603}
Rastreo en el navegador : en Google Chrome ingrese la URL chrome://tracing . Ahora, haga clic en el botón Cargar y cargue el archivo para rastrearlo.
Referencia: https://nodejs.org/api/tracing.html#tracing_tracing_object
Publicación traducida automáticamente
Artículo escrito por amitkumarjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA