Commit Graph

25 Commits

Author SHA1 Message Date
Zeynep Cankara
ea63ce7df4 [tools][system-analyzer] Fix Chunk Selection and Consecutive file upload
Bug fixes:

* Wrong time range selection of timeline chunks handled by mouse events.
* Consecutive file uploads does not create a new Model object causing
bugs on timeline-track start and end times.

Bug: v8:10644

Change-Id: I3d31ddda1ffca70c18c87dd103f2b788713c2911
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2379863
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Cr-Commit-Position: refs/heads/master@{#69598}
2020-08-28 06:49:26 +00:00
Zeynep Cankara
58f047aba9 [tools][system-analyzer] Add timeline property to ic-panel
This cleanup CL adds a timeline property to ic-panel and directly
assigns the logEvents to selectedLogEvents upon data load.

Bug: v8:10644

Change-Id: Ic1707ea237abbf57417c0b14e24fc0bf797d9679
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2370627
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Cr-Commit-Position: refs/heads/master@{#69535}
2020-08-24 10:21:41 +00:00
Zeynep Cankara
06bc338772 [system-analyzer] Fix chunk positions and update panels via FocusEvent
This CL fixes the chunk locations on timeline-tracks.
The App updates the Ic panel upon receiving FocusEvent with
an entry of ICLogEvent.

Bug: v8:10644

Change-Id: I4d09851c154196cc6cb1544a275ed33c8ae8a8af
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354814
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69399}
2020-08-14 13:32:26 +00:00
Zeynep Cankara
34b652607a [tools][system-analyzer] Change naming conventions
This CL establishes a naming consistency
across the app by renaming classes.

Class Name Changes:
SelectEvent -> FocusEvent
Entry -> IcLogEvent
V8Map -> MapLogEvent

Bug: v8:10644
Change-Id: Id075d9aa36ac6f03af0224feb0e38985b1445013
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2349300
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69382}
2020-08-13 13:39:44 +00:00
Zeynep Cankara
57b33e2987 [tools][system-analyzer] Add dblclick for ic categories
This CL adds the functionality to filter IC Panel
via double clicking on the event type on Timeline
Panel.

Bug: v8:10644


Change-Id: I47cdf87652a8f6fc25a5c1a5b0270d97ed9068b7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352773
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69377}
2020-08-13 12:07:54 +00:00
Zeynep Cankara
9c8ebcbbe2 [tools][system-analyzer] Timeline-track filter by time event
This CL adds the functionality to filter log events
falling into the time range specified by the user via
mouse events on timeline tracks. The log event selections
on panels updated based on the selected time range.

Bug: v8:10644

Change-Id: Iaf53896fd5c43cefea6d4c40bab5fcb136494b5f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351670
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69375}
2020-08-13 10:31:43 +00:00
Zeynep Cankara
c374682cc9 [tools][system-analyzer] Integrate Navigation
This CL integrates a navigation controller
to zoom in and out of timeline events and
navigate in map panel using key events.

Bug: v8:10644

Change-Id: I80496c086b0342b009bbbc3d45282b95cbe82e0b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351659
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69367}
2020-08-13 08:15:13 +00:00
Zeynep Cankara
1f743d2f9d [tools][system-analyzer] Change Panel Layout
This CL changes the panel layout by
implementing a grid format. The new
layout displays Map and IC panel side by
side and making it easier to control
the position of panels.

Bug: v8:10644

Change-Id: Ic9b48459dd67741c1c39ed2c350ee7c552f1cc92
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2343081
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69361}
2020-08-12 15:44:47 +00:00
Zeynep Cankara
393e434479 [tools][system-analyzer] Unify CustomEvents
This CL unifies the custom events by creating
classes specialised based on the event type.
Multiple entry selection causes panels to
emit 'showentries' event. Single entry selection
causes panels to emit 'showentrydetail' event.
The events are received by the controller App class
and updates the view of the panels and state of the app.

Bug: v8:10644

Change-Id: Ibe26223459ba605c6d6d3f0025bf3a556dfb0578
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335188
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69286}
2020-08-07 10:06:47 +00:00
Zeynep Cankara
ebe332192b [tools][system-analyzer] Change theme after data load
This CL initialises the change theme button in
correct place and adds the functionality to change
theme after the data load.

Bug: v8:10644

Change-Id: I7397933ff9d12a2ac270d025df1b3327801d89be
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336800
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Cr-Commit-Position: refs/heads/master@{#69238}
2020-08-05 07:37:57 +00:00
Zeynep Cankara
71e0331137 [tools][system-analyzer] Convert App to MVC Pattern
This CL aims to clean the code in App Class to
handle State, View according to the Model-View-Controller
design pattern.

Bug: v8:10644, v8:10735

Link: https://docs.google.com/presentation/d/1ssCIWKS5TIp_PHZRUx2BfElEz6JFrYzz_Ce1h1g8ZBg/edit?usp=sharing

Change-Id: Ie36d437df0df574f505a4396b26526a82215f237
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2324247
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69218}
2020-08-04 09:30:02 +00:00
Zeynep Cankara
ff4833f14c [tools][system-analyzer] Create timeline track component
This CL creates a timeline track component to
make the timeline view extensible as different
data sources added. The timeline track component will
take data source and display it with respect to time
axis of timeline overview.

Bug: v8:10644, v8:10735

Change-Id: I1c88dd2dc967be68e6235e517dcf8554a891eee4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2302053
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69102}
2020-07-28 13:54:51 +00:00
Zeynep Cankara
721dac7d32 [tools][system-analyzer] Add light theme
This CL use the introduce color variables
to adapt light theme feature to increase
accessibility.

Bug: v8:10644

Change-Id: I179831aef384527b0457c6ae93fa4d42a1814834
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2305891
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69093}
2020-07-28 09:43:11 +00:00
Zeynep Cankara
b3b42a3008 [tools][system-analyzer] Add Timeline Class
This CL adds a Timeline Class to handle data interaction
between panels. The timeline class enables to filter the
data based on selected time range.

Bug: v8:10644, v8:10735

Change-Id: I7fbbe1741abc69d2889b0547113e5da10b7f5510
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2315983
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69056}
2020-07-24 17:51:42 +00:00
Zeynep Cankara
938ed34159 [tools][system-analyzer] Emit fileuploadstart event that toggles panels
This CL enables the hide panel functionality
upon uploading a new file. File reader emits
fileuploadstart event when it receives a new file
which hides the panels.

Bug: v8:10644

Change-Id: Ic26cce1a92559efd494f2ef1e32b514897a73324
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2305892
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69015}
2020-07-23 09:06:04 +00:00
Zeynep Cankara
f9dd24a561 [tools][system-analyzer] Decouple the timeline view from map view
This CL decouples the timeline panel view handling
from map panel view handling. Having separate panel view
handling for each panel aims to encapsulate panel behaviours
force panels to emit events rather than depending on other
panels.

Bug: v8:10644, v8:10735

Change-Id: Icd6e8ee8a0e8d1fdbbaaf2754f272300e0499bf7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2305894
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69014}
2020-07-23 07:00:14 +00:00
Zeynep Cankara
b1761b06f7 [tools][system-analyzer] Handle IC Panel time filtering and emit events
This CL redesigns the IC Panel to emit events
upon time range selection. IC entry time range specified
from the input fields and entries falling into the selected
time range bubbled up to the App controller. The IC panel
emits events upon selection of a map or a source file location.

Bug: v8:10644

Change-Id: I468dc52b7a6c62dbdee096e80cc6110ceb994f69
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2305893
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69006}
2020-07-22 16:41:23 +00:00
Zeynep Cankara
e607d54a0e [tools][system-analyzer] Add map-details and map-transitions
This CL encapsulates map panel behaviour with custom
web components map-details for displaying information
and map-transitions to show map transition tree. The
web components emit/receive events to interact with
the app.

Bug: v8:10644

Change-Id: Ic61c2794ed7ab854ee61fa1e7c8fe9b1c3c31b7e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2305889
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69004}
2020-07-22 15:41:33 +00:00
Zeynep Cankara
25b4f9a68d [tools][system-analyzer] Remove duplicate states in App
This CL removes the duplicated code for handling global
state of the app. Increases readability of the app
class.

Bug: v8:10673, v8:10644

Change-Id: I08e0bfdc67e023264fce22a96bfd3ef94644e70c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2302894
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Cr-Commit-Position: refs/heads/master@{#68918}
2020-07-17 14:41:35 +00:00
Zeynep Cankara
8b338b25ba [tools][system-analyzer] Add Transition View logic to Map Panel
This CL depreciates the TransitionView Class of the
app model to handle map transition only within map
model. It isolates the Map Panel to comply web
component standards.

Bug: v8:10667, v8:10644

Change-Id: Idf8ca58744aacd0159ee4af6e71886374385377e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300541
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68902}
2020-07-16 16:23:06 +00:00
Zeynep Cankara
93b493bcd0 [tools][system-analyzer] Add global methods to App Class
This CL adds global state management
methods into the App Class. Thus, make it
easier to control global state of the web app.

Bug: v8:10667, v8:10644

Change-Id: I9e37c3e851a3912ebc6c672eb4372f77d20a989c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300482
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68887}
2020-07-16 10:54:15 +00:00
Zeynep Cankara
0eaee5cab9 [tools][system-analyzer] Change naming of global functions
Change names of global functions from
globalXYZEvent to handleXYZ format to increase
readability.

Bug: v8:10667

Change-Id: Ie5e7b6b7ab1c535f5c6beb65361d0a78cac96e46
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2299362
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68872}
2020-07-15 14:53:51 +00:00
Zeynep Cankara
2a08e06502 [tools][system-analyzer] Change naming of panels
This CL establishes a naming convention
to increase readability of the code.

Bug: v8:10667, v8:10644

Change-Id: Id9fc9c558ba3957132b5a09aa975f9e8873c9dfd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2297475
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68869}
2020-07-15 13:57:11 +00:00
Zeynep Cankara
32234d0251 [tools][system-analyzer] Create an app class
This CL attaches global functions of the panels
as instance variables of an app class.

Bug: v8:10667, v8:10644

Change-Id: Ib76730652f977ac81e3558ddb18165e938859512
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2297476
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68867}
2020-07-15 13:29:13 +00:00
Zeynep Cankara
832fac51ad [tools][system-analyzer] Convert modules to ES6
This CL identifies dependencies between modules
and convert existing javascript files to ES6
standard modules.

It cleans the unused code and remove duplicate
code throughout the app.

Bug: v8:10670

Change-Id: I787de8ca0d76c56aec5aeb3faa94a9e158a94c72
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2292237
Commit-Queue: Zeynep Cankara <zcankara@google.com>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68847}
2020-07-14 15:34:54 +00:00