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

Side by Side Diff: tools/tickprocessor.js

Issue 7247018: Remove obsolete aggregating and non-working producers heap profilers. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 6 months 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 | Annotate | Revision Log
« src/api.cc ('K') | « test/cctest/test-log.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 'snapshot-pos': { parsers: [parseInt, parseInt], 162 'snapshot-pos': { parsers: [parseInt, parseInt],
163 processor: this.processSnapshotPosition }, 163 processor: this.processSnapshotPosition },
164 'tick': { 164 'tick': {
165 parsers: [parseInt, parseInt, parseInt, 165 parsers: [parseInt, parseInt, parseInt,
166 parseInt, parseInt, 'var-args'], 166 parseInt, parseInt, 'var-args'],
167 processor: this.processTick }, 167 processor: this.processTick },
168 'heap-sample-begin': { parsers: [null, null, parseInt], 168 'heap-sample-begin': { parsers: [null, null, parseInt],
169 processor: this.processHeapSampleBegin }, 169 processor: this.processHeapSampleBegin },
170 'heap-sample-end': { parsers: [null, null], 170 'heap-sample-end': { parsers: [null, null],
171 processor: this.processHeapSampleEnd }, 171 processor: this.processHeapSampleEnd },
172 'heap-js-prod-item': { parsers: [null, 'var-args'],
173 processor: this.processJSProducer },
174 // Ignored events. 172 // Ignored events.
175 'profiler': null, 173 'profiler': null,
176 'function-creation': null, 174 'function-creation': null,
177 'function-move': null, 175 'function-move': null,
178 'function-delete': null, 176 'function-delete': null,
179 'heap-sample-stats': null,
180 'heap-sample-item': null, 177 'heap-sample-item': null,
181 'heap-js-cons-item': null,
182 'heap-js-ret-item': null,
183 // Obsolete row types. 178 // Obsolete row types.
184 'code-allocate': null, 179 'code-allocate': null,
185 'begin-code-region': null, 180 'begin-code-region': null,
186 'end-code-region': null }); 181 'end-code-region': null });
187 182
188 this.cppEntriesProvider_ = cppEntriesProvider; 183 this.cppEntriesProvider_ = cppEntriesProvider;
189 this.ignoreUnknown_ = ignoreUnknown; 184 this.ignoreUnknown_ = ignoreUnknown;
190 this.stateFilter_ = stateFilter; 185 this.stateFilter_ = stateFilter;
191 this.snapshotLogProcessor_ = snapshotLogProcessor; 186 this.snapshotLogProcessor_ = snapshotLogProcessor;
192 this.deserializedEntriesNames_ = []; 187 this.deserializedEntriesNames_ = [];
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 producersView.sort(function(rec1, rec2) { 389 producersView.sort(function(rec1, rec2) {
395 return rec2.totalTime - rec1.totalTime || 390 return rec2.totalTime - rec1.totalTime ||
396 (rec2.internalFuncName < rec1.internalFuncName ? -1 : 1); }); 391 (rec2.internalFuncName < rec1.internalFuncName ? -1 : 1); });
397 this.printHeavyProfile(producersView.head.children); 392 this.printHeavyProfile(producersView.head.children);
398 393
399 this.currentProducerProfile_ = null; 394 this.currentProducerProfile_ = null;
400 this.generation_++; 395 this.generation_++;
401 }; 396 };
402 397
403 398
404 TickProcessor.prototype.processJSProducer = function(constructor, stack) {
405 if (!this.currentProducerProfile_) return;
406 if (stack.length == 0) return;
407 var first = stack.shift();
408 var processedStack =
409 this.profile_.resolveAndFilterFuncs_(this.processStack(first, 0, stack));
410 processedStack.unshift(constructor);
411 this.currentProducerProfile_.addPath(processedStack);
412 };
413
414
415 TickProcessor.prototype.printStatistics = function() { 399 TickProcessor.prototype.printStatistics = function() {
416 print('Statistical profiling result from ' + this.lastLogFileName_ + 400 print('Statistical profiling result from ' + this.lastLogFileName_ +
417 ', (' + this.ticks_.total + 401 ', (' + this.ticks_.total +
418 ' ticks, ' + this.ticks_.unaccounted + ' unaccounted, ' + 402 ' ticks, ' + this.ticks_.unaccounted + ' unaccounted, ' +
419 this.ticks_.excluded + ' excluded).'); 403 this.ticks_.excluded + ' excluded).');
420 404
421 if (this.ticks_.total == 0) return; 405 if (this.ticks_.total == 0) return;
422 406
423 // Print the unknown ticks percentage if they are not ignored. 407 // Print the unknown ticks percentage if they are not ignored.
424 if (!this.ignoreUnknown_ && this.ticks_.unaccounted > 0) { 408 if (!this.ignoreUnknown_ && this.ticks_.unaccounted > 0) {
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 if (arg !== synArg && dispatch === this.argsDispatch_[synArg]) { 852 if (arg !== synArg && dispatch === this.argsDispatch_[synArg]) {
869 synonims.push(synArg); 853 synonims.push(synArg);
870 delete this.argsDispatch_[synArg]; 854 delete this.argsDispatch_[synArg];
871 } 855 }
872 } 856 }
873 print(' ' + padRight(synonims.join(', '), 20) + dispatch[2]); 857 print(' ' + padRight(synonims.join(', '), 20) + dispatch[2]);
874 } 858 }
875 quit(2); 859 quit(2);
876 }; 860 };
877 861
OLDNEW
« src/api.cc ('K') | « test/cctest/test-log.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698