2020-01-27 18:40:18 +00:00
|
|
|
<div class="profiler-wrapper">
|
2020-06-12 19:18:34 +00:00
|
|
|
<mat-card>
|
2020-08-24 20:19:37 +00:00
|
|
|
<mat-icon *ngIf="state === 'idle'" (click)="startRecording()" class="profiler-control start-recording-button">
|
|
|
|
|
play_circle_outline
|
|
|
|
|
</mat-icon>
|
|
|
|
|
<mat-icon *ngIf="state === 'recording'" (click)="stopRecording()" class="profiler-control recording-button">
|
|
|
|
|
stop_circle
|
|
|
|
|
</mat-icon>
|
|
|
|
|
<mat-icon *ngIf="state === 'visualizing'" (click)="discardRecording()" class="profiler-control discard-button">
|
|
|
|
|
refresh
|
|
|
|
|
</mat-icon>
|
2020-01-27 18:40:18 +00:00
|
|
|
<p class="instructions" [class.hidden]="state !== 'idle'">
|
2020-08-24 20:19:37 +00:00
|
|
|
<span>
|
|
|
|
|
Click the play button to start a new recording, or upload a json
|
|
|
|
|
file containing profiler data.
|
2020-02-18 21:13:57 +00:00
|
|
|
</span>
|
2020-05-06 23:34:41 +00:00
|
|
|
<br />
|
2020-02-18 21:13:57 +00:00
|
|
|
<span>
|
|
|
|
|
<input type="file" (change)="importProfilerResults($event)" placeholder="Upload file" accept=".json" />
|
|
|
|
|
</span>
|
2020-01-27 18:40:18 +00:00
|
|
|
</p>
|
2020-08-24 20:19:37 +00:00
|
|
|
<p class="instructions" [class.hidden]="state !== 'recording'">
|
|
|
|
|
Interact to preview change detection. Clicking stop ends this Profiler recording.
|
|
|
|
|
</p>
|
|
|
|
|
<p class="instructions" [class.hidden]="state !== 'visualizing'">
|
|
|
|
|
Click Save Profile to save your recording or click refresh to clear the current recording.
|
|
|
|
|
</p>
|
|
|
|
|
</mat-card>
|
|
|
|
|
<div id="profiler-content-wrapper">
|
2020-05-04 23:40:55 +00:00
|
|
|
<p class="visualization" *ngIf="state !== 'idle'">
|
|
|
|
|
<ng-recording-timeline [stream]="stream" (exportProfile)="exportProfilerResults()"> </ng-recording-timeline>
|
2020-01-27 18:40:18 +00:00
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|