OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'dart:async'; | 5 import 'dart:async'; |
6 import 'dart:html'; | 6 import 'dart:html'; |
7 import 'package:charted/charted.dart'; | 7 import 'package:charted/charted.dart'; |
8 import "package:charted/charts/charts.dart"; | 8 import "package:charted/charts/charts.dart"; |
9 import 'package:observatory/models.dart' as M; | 9 import 'package:observatory/models.dart' as M; |
10 import 'package:observatory/src/elements/class_ref.dart'; | 10 import 'package:observatory/src/elements/class_ref.dart'; |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 '"Current Instances"', | 540 '"Current Instances"', |
541 '"(NEW) Accumulator Size"', | 541 '"(NEW) Accumulator Size"', |
542 '"(NEW) Accumulator Instances"', | 542 '"(NEW) Accumulator Instances"', |
543 '"(NEW) Current Size"', | 543 '"(NEW) Current Size"', |
544 '"(NEW) Current Instances"', | 544 '"(NEW) Current Instances"', |
545 '"(OLD) Accumulator Size"', | 545 '"(OLD) Accumulator Size"', |
546 '"(OLD) Accumulator Instances"', | 546 '"(OLD) Accumulator Instances"', |
547 '"(OLD) Current Size"', | 547 '"(OLD) Current Size"', |
548 '"(OLD) Current Instances"', | 548 '"(OLD) Current Instances"', |
549 'Class' | 549 'Class' |
550 ].join(';') + '\n'; | 550 ].join(',') + '\n'; |
551 AnchorElement tl = document.createElement('a'); | 551 AnchorElement tl = document.createElement('a'); |
552 tl..attributes['href'] = 'data:text/plain;charset=utf-8,' + | 552 tl..attributes['href'] = 'data:text/plain;charset=utf-8,' + |
553 Uri.encodeComponent(header + | 553 Uri.encodeComponent(header + |
554 (_profile.members.toList()..sort(_createSorter())) | 554 (_profile.members.toList()..sort(_createSorter())) |
555 .map(_csvOut).join('\n')) | 555 .map(_csvOut).join('\n')) |
556 ..attributes['download'] = 'heap-profile.csv' | 556 ..attributes['download'] = 'heap-profile.csv' |
557 ..click(); | 557 ..click(); |
558 } | 558 } |
559 | 559 |
560 static _csvOut(M.ClassHeapStats s) { | 560 static _csvOut(M.ClassHeapStats s) { |
561 return [ | 561 return [ |
562 _getAccumulatedSize(s), | 562 _getAccumulatedSize(s), |
563 _getAccumulatedInstances(s), | 563 _getAccumulatedInstances(s), |
564 _getCurrentSize(s), | 564 _getCurrentSize(s), |
565 _getCurrentInstances(s), | 565 _getCurrentInstances(s), |
566 _getNewAccumulatedSize(s), | 566 _getNewAccumulatedSize(s), |
567 _getNewAccumulatedInstances(s), | 567 _getNewAccumulatedInstances(s), |
568 _getNewCurrentSize(s), | 568 _getNewCurrentSize(s), |
569 _getNewCurrentInstances(s), | 569 _getNewCurrentInstances(s), |
570 _getOldAccumulatedSize(s), | 570 _getOldAccumulatedSize(s), |
571 _getOldAccumulatedInstances(s), | 571 _getOldAccumulatedInstances(s), |
572 _getOldCurrentSize(s), | 572 _getOldCurrentSize(s), |
573 _getOldCurrentInstances(s), | 573 _getOldCurrentInstances(s), |
574 s.clazz.name | 574 s.clazz.name |
575 ].join(';'); | 575 ].join(','); |
576 } | 576 } |
577 | 577 |
578 static int _getAccumulatedSize(M.ClassHeapStats s) => | 578 static int _getAccumulatedSize(M.ClassHeapStats s) => |
579 s.newSpace.accumulated.bytes + s.oldSpace.accumulated.bytes; | 579 s.newSpace.accumulated.bytes + s.oldSpace.accumulated.bytes; |
580 static int _getAccumulatedInstances(M.ClassHeapStats s) => | 580 static int _getAccumulatedInstances(M.ClassHeapStats s) => |
581 s.newSpace.accumulated.instances + s.oldSpace.accumulated.instances; | 581 s.newSpace.accumulated.instances + s.oldSpace.accumulated.instances; |
582 static int _getCurrentSize(M.ClassHeapStats s) => | 582 static int _getCurrentSize(M.ClassHeapStats s) => |
583 s.newSpace.current.bytes + s.oldSpace.current.bytes; | 583 s.newSpace.current.bytes + s.oldSpace.current.bytes; |
584 static int _getCurrentInstances(M.ClassHeapStats s) => | 584 static int _getCurrentInstances(M.ClassHeapStats s) => |
585 s.newSpace.current.instances + s.oldSpace.current.instances; | 585 s.newSpace.current.instances + s.oldSpace.current.instances; |
586 static int _getNewAccumulatedSize(M.ClassHeapStats s) => | 586 static int _getNewAccumulatedSize(M.ClassHeapStats s) => |
587 s.newSpace.accumulated.bytes; | 587 s.newSpace.accumulated.bytes; |
588 static int _getNewAccumulatedInstances(M.ClassHeapStats s) => | 588 static int _getNewAccumulatedInstances(M.ClassHeapStats s) => |
589 s.newSpace.accumulated.instances; | 589 s.newSpace.accumulated.instances; |
590 static int _getNewCurrentSize(M.ClassHeapStats s) => | 590 static int _getNewCurrentSize(M.ClassHeapStats s) => |
591 s.newSpace.current.bytes; | 591 s.newSpace.current.bytes; |
592 static int _getNewCurrentInstances(M.ClassHeapStats s) => | 592 static int _getNewCurrentInstances(M.ClassHeapStats s) => |
593 s.newSpace.current.instances; | 593 s.newSpace.current.instances; |
594 static int _getOldAccumulatedSize(M.ClassHeapStats s) => | 594 static int _getOldAccumulatedSize(M.ClassHeapStats s) => |
595 s.oldSpace.accumulated.bytes; | 595 s.oldSpace.accumulated.bytes; |
596 static int _getOldAccumulatedInstances(M.ClassHeapStats s) => | 596 static int _getOldAccumulatedInstances(M.ClassHeapStats s) => |
597 s.oldSpace.accumulated.instances; | 597 s.oldSpace.accumulated.instances; |
598 static int _getOldCurrentSize(M.ClassHeapStats s) => | 598 static int _getOldCurrentSize(M.ClassHeapStats s) => |
599 s.oldSpace.current.bytes; | 599 s.oldSpace.current.bytes; |
600 static int _getOldCurrentInstances(M.ClassHeapStats s) => | 600 static int _getOldCurrentInstances(M.ClassHeapStats s) => |
601 s.oldSpace.current.instances; | 601 s.oldSpace.current.instances; |
602 } | 602 } |
OLD | NEW |