Node.js trace_events.getEnabledCategories() Método

El método trace_events.getEnabledCategories() ( Agregado en v10.0.0 ) es una interfaz de programación de aplicaciones incorporada del módulo ‘trace_events’ que se utiliza para mostrar el conjunto actual de categorías de eventos de seguimiento habilitados que está determinado por la unión de todos los habilitados actualmente. Rastreo de objetos. De manera predeterminada, su estado está deshabilitado por el tiempo de ejecución de v8 y todas las categorías habilitadas se recuperan mediante el indicador –trace-event-categories

Sintaxis:

trace_events.getEnabledCategories()

Para usar este método, necesitamos crear eventos de rastreo usando el método ( trace_events.createTracing() ), y necesitamos importar el módulo ‘trace_events’.

const trace_events = require('trace_events');  

Parámetros: este método no acepta ningún parámetro.

Valor devuelto < string >: Devuelve una lista de todas las categorías de eventos de seguimiento habilitadas actualmente que están separadas por comas.

Ejemplo 1: Nombre de archivo: index.js

// Node.js program to demonstrate the 
// trace_events.getEnabledCategories() method 
  
// Using require to access trace_events module 
const trace_events = require('trace_events');
  
// Creating trace events
const trace_event1 = trace_events
    .createTracing({ categories: ['node'] });
const trace_event2 = trace_events.createTracing({
    categories: ['node.promises.rejections']
});
const { createTracing } = require('trace_events');
  
// Another way to create Tracing events
const trace_event3 = createTracing(
        { categories: ['node.vm.script'] });
  
// Enabling the trace_event1
trace_event1.enable();
  
// Enabling the trace_event2
trace_event2.enable();
  
// Printing the enabled categories
console.log("Enabled categories: ", 
    trace_events.getEnabledCategories());
  
// Disabling the trace_event1 
trace_event1.disable();
  
// Disabling the trace_event2 
trace_event2.disable();

Producción:

Enabled categories node,node.promises.rejections

Ejemplo 2: Nombre de archivo: index.js

// Node.js program to demonstrate the 
// trace_events.getEnabledCategories() method 
  
// 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 tracing = trace_events.createTracing({ categories });
  
// Enabling Tracing event
tracing.enable();
  
// Printing tracing event
console.log(">> ", tracing);
  
// Returns false if any tracing event is enabled 
console.log(">> ", !trace_events.getEnabledCategories());
  
if (trace_events.getEnabledCategories()) {
    console.log(">> Following tracing events are enabled",
        trace_events.getEnabledCategories());
} else {
    console.log(">> None of the Tracing events are enabled");
}
  
// Disabling tracing event
tracing.disable();
  
if (trace_events.getEnabledCategories()) {
    console.log(">> Following tracing events are enabled",
        trace_events.getEnabledCategories());
} else {
    console.log(">> None of the Tracing events are enabled");
}

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

>> Rastreo {habilitado: verdadero,

 categorías:’myapp.category,v8,node,node.async_hooks,node.promises.rejections,node.vm.script,node.perf.usertiming,node.perf.timerify’}

>> falso

>> Los siguientes eventos de rastreo están habilitados: myapp.category,node,node.async_hooks,node.perf.timerify,node.perf.usertiming,node.promises.rejections,node.vm.script,v8

>> Ninguno de los eventos de seguimiento está habilitado

Referencia: https://nodejs.org/api/tracing.html#tracing_trace_events_getenabledcategories

Publicación traducida automáticamente

Artículo escrito por amitkumarjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *