Lines Matching refs:event

59       // If the event data begins with a [, then we know it should end with a ].
143 * Helper to process an 'async finish' event, which will close an open slice
146 processAsyncEvent: function(event) {
147 var thread = this.model_.getOrCreateProcess(event.pid).
148 getOrCreateThread(event.tid);
150 event: event,
158 processCounterEvent: function(event) {
160 if (event.id !== undefined)
161 ctr_name = event.name + '[' + event.id + ']';
163 ctr_name = event.name;
165 var ctr = this.model_.getOrCreateProcess(event.pid)
166 .getOrCreateCounter(event.cat, ctr_name);
170 for (var seriesName in event.args) {
176 this.model_.importErrors.push('Expected counter ' + event.name +
185 var ts = event.ts / 1000;
187 var val = event.args[series.name] ? event.args[series.name] : 0;
192 processObjectEvent: function(event) {
193 var thread = this.model_.getOrCreateProcess(event.pid).
194 getOrCreateThread(event.tid);
196 event: event,
200 processDurationEvent: function(event) {
201 var thread = this.model_.getOrCreateProcess(event.pid)
202 .getOrCreateThread(event.tid);
203 if (!thread.sliceGroup.isTimestampValidForBeginOrEnd(event.ts / 1000)) {
209 if (event.ph == 'B') {
210 thread.sliceGroup.beginSlice(event.cat, event.name, event.ts / 1000,
211 this.deepCopyIfNeeded_(event.args));
215 'E phase event without a matching B phase event.');
219 var slice = thread.sliceGroup.endSlice(event.ts / 1000);
220 for (var arg in event.args) {
225 'The value of the E phase event will be used.');
227 slice.args[arg] = this.deepCopyIfNeeded_(event.args[arg]);
232 processMetadataEvent: function(event) {
233 if (event.name == 'process_name') {
234 var process = this.model_.getOrCreateProcess(event.pid);
235 process.name = event.args.name;
236 } else if (event.name == 'process_labels') {
237 var process = this.model_.getOrCreateProcess(event.pid);
239 process.labels, event.args.labels.split(','));
240 } else if (event.name == 'process_sort_index') {
241 var process = this.model_.getOrCreateProcess(event.pid);
242 process.sortIndex = event.args.sort_index;
243 } else if (event.name == 'thread_name') {
244 var thread = this.model_.getOrCreateProcess(event.pid).
245 getOrCreateThread(event.tid);
246 thread.name = event.args.name;
247 } else if (event.name == 'thread_sort_index') {
248 var thread = this.model_.getOrCreateProcess(event.pid).
249 getOrCreateThread(event.tid);
250 thread.sortIndex = event.args.sort_index;
253 'Unrecognized metadata name: ' + event.name);
257 // Treat an Instant event as a duration 0 slice.
259 processInstantEvent: function(event) {
261 switch (event.s) {
276 var colorId = tracing.getStringColorId(event.name);
277 var instantEvent = new constructor(event.cat, event.name,
278 colorId, event.ts / 1000, this.deepCopyIfNeeded_(event.args));
286 var process = this.model_.getOrCreateProcess(event.pid);
291 var thread = this.model_.getOrCreateProcess(event.pid)
292 .getOrCreateThread(event.tid);
296 throw new Error('Unknown instant event type: ' + event.s);
300 processSampleEvent: function(event) {
301 var thread = this.model_.getOrCreateProcess(event.pid)
302 .getOrCreateThread(event.tid);
303 thread.addSample(event.cat, event.name, event.ts / 1000,
304 this.deepCopyIfNeeded_(event.args));
314 var event = events[eI];
315 if (event.ph === 'B' || event.ph === 'E') {
316 this.processDurationEvent(event);
318 } else if (event.ph === 'S' || event.ph === 'F' || event.ph === 'T') {
319 this.processAsyncEvent(event);
321 // Note, I is historic. The instant event marker got changed, but we
323 } else if (event.ph == 'I' || event.ph == 'i') {
324 this.processInstantEvent(event);
326 } else if (event.ph == 'P') {
327 this.processSampleEvent(event);
329 } else if (event.ph == 'C') {
330 this.processCounterEvent(event);
332 } else if (event.ph == 'M') {
333 this.processMetadataEvent(event);
335 } else if (event.ph === 'N' || event.ph === 'D' || event.ph === 'O') {
336 this.processObjectEvent(event);
338 } else if (event.ph === 's' || event.ph === 't' || event.ph === 'f') {
342 this.model_.importErrors.push('Unrecognized event phase: ' +
343 event.ph + ' (' + event.name + ')');
371 return x.event.ts - y.event.ts;
380 var event = asyncEventState.event;
381 var name = event.name;
388 var id = event.id;
397 if (event.ph == 'S') {
402 'At ' + event.ts + ', a slice of the same id ' + id +
411 'At ' + event.ts + ', no slice named ' + name +
417 'At ' + event.ts + ', no slice named ' + name +
424 if (event.ph == 'F') {
427 events[0].event.cat,
430 events[0].event.ts / 1000);
432 slice.duration = (event.ts / 1000) - (events[0].event.ts / 1000);
437 slice.args = this.deepCopyIfNeeded_(events[0].event.args);
443 if (events[j - 1].event.ph == 'T')
444 subName = name + ':' + events[j - 1].event.args.step;
446 events[0].event.cat,
449 events[j - 1].event.ts / 1000);
452 (events[j].event.ts / 1000) - (events[j - 1].event.ts / 1000);
457 subSlice.args = this.deepCopyIfNeeded_(events[j - 1].event.args);
462 // The args for the finish event go in the last subSlice.
464 for (var arg in event.args)
465 lastSlice.args[arg] = this.deepCopyIfNeeded_(event.args[arg]);
484 var event = objectEventState.event;
486 if (event.name === undefined) {
488 'While processing ' + JSON.stringify(event) + ': ' +
492 if (event.id === undefined) {
494 'While processing ' + JSON.stringify(event) + ': ' +
498 var ts = event.ts / 1000;
500 if (event.ph == 'N') {
503 event.id, event.cat, event.name, ts);
507 event.id + ' at ts=' + ts + ': ' + e);
510 } else if (event.ph == 'O') {
511 if (event.args.snapshot === undefined) {
513 'While processing ' + event.id + ' at ts=' + ts + ': ' +
520 event.id, event.cat, event.name, ts,
521 this.deepCopyIfNeeded_(event.args.snapshot));
525 event.id + ' at ts=' + ts + ': ' + e);
529 } else if (event.ph == 'D') {
532 event.id, event.cat, event.name, ts);
536 event.id + ' at ts=' + ts + ': ' + e);
546 return x.event.ts - y.event.ts;