mitWarning( 'Possible trace_events memory leak detected. There are more than ' + `${kMaxTracingCount} enabled Tracing objects.` ); } } } disable() { if (this[kEnabled]) { this[kEnabled] = false; this[kHandle].disable(); enabledTracingObjects.delete(this); } } get enabled() { return this[kEnabled]; } get categories() { return ArrayPrototypeJoin(this[kCategories], ','); } [customInspectSymbol](depth, opts) { if (typeof depth === 'number' && depth < 0) return this; const obj = { enabled: this.enabled, categories: this.categories }; return `Tracing ${format(obj)}`; } } function createTracing(options) { validateObject(options, 'options'); if (!ArrayIsArray(options.categories)) { throw new ERR_INVALID_ARG_TYPE('options.categories', 'string[]', options.categories); } if (options.categories.length <= 0) throw new ERR_TRACE_EVENTS_CATEGORY_REQUIRED(); return new Tracing(options.categories); } module.exports = { createTracing, getEnabledCategories };