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
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; |