Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(439)

Side by Side Diff: chrome/browser/resources/tracing/timeline_model.js

Issue 8359025: Tons of timeline tweaks (Closed)
Patch Set: Fixen Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 5
6 /** 6 /**
7 * @fileoverview TimelineModel is a parsed representation of the 7 * @fileoverview TimelineModel is a parsed representation of the
8 * TraceEvents obtained from base/trace_event in which the begin-end 8 * TraceEvents obtained from base/trace_event in which the begin-end
9 * tokens are converted into a hierarchy of processes, threads, 9 * tokens are converted into a hierarchy of processes, threads,
10 * subrows, and slices. 10 * subrows, and slices.
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 sliceID += ';' + event.args[x]; 276 sliceID += ';' + event.args[x];
277 var slice = state.openNonNestedSlices[sliceID]; 277 var slice = state.openNonNestedSlices[sliceID];
278 if (!slice) 278 if (!slice)
279 return; 279 return;
280 slice.slice.duration = event.ts - slice.slice.start; 280 slice.slice.duration = event.ts - slice.slice.start;
281 if (event.uts) 281 if (event.uts)
282 slice.durationInUserTime = event.uts - slice.slice.startInUserTime; 282 slice.durationInUserTime = event.uts - slice.slice.startInUserTime;
283 283
284 // Store the slice in a non-nested subrow. 284 // Store the slice in a non-nested subrow.
285 var thread = self.getOrCreateProcess(event.pid). 285 var thread = self.getOrCreateProcess(event.pid).
286 getOrCreateThread(event.tid); 286 getOrCreateThread(event.tid);
James Hawkins 2011/11/10 01:06:13 4 space indentation when wrapping lines.
nduca 2011/11/10 02:24:35 Done.
287 thread.addNonNestedSlice(slice.slice); 287 thread.addNonNestedSlice(slice.slice);
288 delete state.openNonNestedSlices[name]; 288 delete state.openNonNestedSlices[name];
289 } else { 289 } else {
290 if (state.openSlices.length == 0) { 290 if (state.openSlices.length == 0) {
291 // Ignore E events that are unmatched. 291 // Ignore E events that are unmatched.
292 return; 292 return;
293 } 293 }
294 var slice = state.openSlices.pop().slice; 294 var slice = state.openSlices.pop().slice;
295 slice.duration = event.ts - slice.start; 295 slice.duration = event.ts - slice.start;
296 if (event.uts) 296 if (event.uts)
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 } else if (event.ph == 'M') { 331 } else if (event.ph == 'M') {
332 if (event.name == 'thread_name') { 332 if (event.name == 'thread_name') {
333 var thread = this.getOrCreateProcess(event.pid) 333 var thread = this.getOrCreateProcess(event.pid)
334 .getOrCreateThread(event.tid); 334 .getOrCreateThread(event.tid);
335 thread.name = event.args.name; 335 thread.name = event.args.name;
336 } else { 336 } else {
337 this.importErrors.push('Unrecognized metadata name: ' + event.name); 337 this.importErrors.push('Unrecognized metadata name: ' + event.name);
338 } 338 }
339 } else { 339 } else {
340 this.importErrors.push('Unrecognized event phase: ' + event.ph + 340 this.importErrors.push('Unrecognized event phase: ' + event.ph +
341 '(' + event.name + ')'); 341 '(' + event.name + ')');
342 } 342 }
343 } 343 }
344 this.pruneEmptyThreads(); 344 this.pruneEmptyThreads();
345 this.updateBounds(); 345 this.updateBounds();
346 346
347 // Add end events for any events that are still on the stack. These 347 // Add end events for any events that are still on the stack. These
348 // are events that were still open when trace was ended, and can often 348 // are events that were still open when trace was ended, and can often
349 // indicate deadlock behavior. 349 // indicate deadlock behavior.
350 for (var ptid in threadStateByPTID) { 350 for (var ptid in threadStateByPTID) {
351 var state = threadStateByPTID[ptid]; 351 var state = threadStateByPTID[ptid];
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 }; 450 };
451 451
452 return { 452 return {
453 getStringHash: getStringHash, 453 getStringHash: getStringHash,
454 TimelineSlice: TimelineSlice, 454 TimelineSlice: TimelineSlice,
455 TimelineThread: TimelineThread, 455 TimelineThread: TimelineThread,
456 TimelineProcess: TimelineProcess, 456 TimelineProcess: TimelineProcess,
457 TimelineModel: TimelineModel 457 TimelineModel: TimelineModel
458 }; 458 };
459 }); 459 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698