Son CV dans un terminal web en Javascript! https://terminal-cv.gregandev.fr
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
2.5 KiB

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _chromeTraceEvent() {
const data = require("chrome-trace-event");
_chromeTraceEvent = function () {
return data;
};
return data;
}
class Trace {
constructor() {
this.tracer = new (_chromeTraceEvent().Tracer)();
this.tid = 0;
this.eventId = 0;
}
getEventId() {
return this.eventId++;
}
init(ts) {
this.tracer.instantEvent({
name: 'TracingStartedInPage',
id: this.getEventId(),
ts,
cat: ['disabled-by-default-devtools.timeline'],
args: {
data: {
sessionId: '-1',
page: '0xfff',
frames: [{
frame: '0xfff',
url: 'parcel',
name: ''
}]
}
}
});
this.tracer.instantEvent({
name: 'TracingStartedInBrowser',
id: this.getEventId(),
ts,
cat: ['disabled-by-default-devtools.timeline'],
args: {
data: {
sessionId: '-1'
}
}
});
}
addCPUProfile(name, profile) {
if (this.eventId === 0) {
this.init(profile.startTime);
}
const trace = this.tracer;
const tid = this.tid;
this.tid++;
const cpuStartTime = profile.startTime;
const cpuEndTime = profile.endTime;
trace.instantEvent({
tid,
id: this.getEventId(),
cat: ['toplevel'],
name: 'TaskQueueManager::ProcessTaskFromWorkQueue',
args: {
src_file: '../../ipc/ipc_moji_bootstrap.cc',
src_func: 'Accept'
},
ts: cpuStartTime
});
trace.completeEvent({
tid,
name: 'EvaluateScript',
id: this.getEventId(),
cat: ['devtools.timeline'],
ts: cpuStartTime,
dur: cpuEndTime - cpuStartTime,
args: {
data: {
url: 'parcel',
lineNumber: 1,
columnNumber: 1,
frame: '0xFFF'
}
}
});
trace.instantEvent({
tid,
ts: 0,
ph: 'M',
cat: ['__metadata'],
name: 'thread_name',
args: {
name
}
});
trace.instantEvent({
tid,
name: 'CpuProfile',
id: this.getEventId(),
cat: ['disabled-by-default-devtools.timeline'],
ts: cpuEndTime,
args: {
data: {
cpuProfile: profile
}
}
});
}
pipe(writable) {
return this.tracer.pipe(writable);
}
flush() {
this.tracer.push(null);
}
}
exports.default = Trace;