Giter Club home page Giter Club logo

catapult-project / catapult Goto Github PK

View Code? Open in Web Editor NEW
1.9K 163.0 562.0 420.5 MB

Deprecated Catapult GitHub. Please instead use http://crbug.com "Speed>Benchmarks" component for bugs and https://chromium.googlesource.com/catapult for downloading and editing source code..

Home Page: https://chromium.googlesource.com/catapult

License: BSD 3-Clause "New" or "Revised" License

Python 38.81% CSS 0.10% HTML 56.96% JavaScript 2.76% Shell 0.04% C++ 0.29% C 0.01% Makefile 0.02% Go 0.62% Dockerfile 0.02% Jupyter Notebook 0.32% Jinja 0.04% Starlark 0.03%

catapult's Introduction

Catapult

Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. This includes:

These tools were created by Chromium developers for performance analysis, testing, and monitoring of Chrome, but they can also be used for analyzing and monitoring websites, and eventually Android apps.

Contributing

Please see our contributor's guide

catapult's People

Contributors

achuith avatar alex319 avatar anniesullie avatar apeliotes avatar benshayden avatar bpastene avatar calebrouleau avatar chriscraik avatar chrisphn avatar chromy avatar dave-2 avatar deanberris avatar deepanjanroy avatar dj2 avatar eakuefner avatar erikchen avatar fancl20 avatar funingg avatar jbudorick avatar johnchen0 avatar natduca avatar nedn avatar perezju avatar petrcermak avatar philippebeaudoin avatar qyearsley avatar randalnephew avatar sadrulhc avatar simonhatch avatar wangzhen127 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

catapult's Issues

Add update_d8_version.py script

We should have a script that fetches the right binaries from the buildbots and patches them in, or just syncs the v8 code at the given revision and builds them itself.

We could either run this regularly as a cron job (see https://code.google.com/p/chromium/codesearch#chromium/build/scripts/slave/recipes/catapult_cron.py) or make it so that we can run these as a tryjob on an as-needed basis.

We already have linux, windows, and mac slaves, so the buildbot part of this is not blocked, but I think ideally we would also have d8_runner use the new binary dependency system @Apeliotes is working on.

@nedn @natduca

Clicking on scroll bar in timing mode should get handled by scrollbar on...

Issue by kphanee
Friday Sep 19, 2014 at 05:35 GMT
Originally opened as google/trace-viewer#4


...ly

On clicking scroll bar of 'timing mode', thread times window is shifting to
right side and user is unable to scroll down. We are assuming that every hit
in timing mode is on the canvas area itself and moving to setting the interest
range value including that the range right is being selected. Do the interest
range actions only if the mousedown hit point is in the canvas rect.

BUG=549


kphanee included the following code: https://github.com/google/trace-viewer/pull/4/commits

Scrollbar not working in timing mode

Issue by kphanee
Friday Sep 19, 2014 at 15:17 GMT
Originally opened as google/trace-viewer#6


On clicking scroll bar of 'timing mode', thread times window is shifting to
right side and user is unable to scroll down. We are assuming that every hit
in timing mode is on the canvas area itself and moving to setting the interest
range value including that the range right is being selected. Do the interest
range actions only if the mousedown hit point is in the canvas rect.

BUG=549


kphanee included the following code: https://github.com/google/trace-viewer/pull/6/commits

about:gpu tracing feature: show similar events

Issue by natduca
Monday Sep 22, 2014 at 19:55 GMT
Originally opened as google/trace-viewer#33


From [email protected] on July 26, 2011 10:36:36

Select some events, then click a button that hides all other events that don't match the set of selected names. This helps when you find the event, but not the exact one you're looking for.

This could be done in a more generic way, with a text field to search for events and filter in/out etc.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=26

about:tracing should display processes and threads in a more logical order

Issue by natduca
Monday Sep 22, 2014 at 19:53 GMT
Originally opened as google/trace-viewer#15


From [email protected] on April 25, 2012 14:28:16

Currently the processes and threads are ordered by pid/tid in about:tracing, but this can change each time chrome starts. Ideally, we would always list threads in creation/ownership order, such as:

browser
renderer
renderer
...
gpu

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=8

Fix failing performace tests

Issue by kphanee
Friday Sep 19, 2014 at 15:16 GMT
Originally opened as google/trace-viewer#5


Track contents drawing function is draw_() instead of drawTrackContents_().

Call to invalid function drawTrackContents_() is causing failure of performance tests:
tracing.tracks.drawing_container_perf_test.draw_softwareCanvas_1
tracing.tracks.drawing_container_perf_test.draw_softwareCanvas_10
tracing.tracks.drawing_container_perf_test.draw_softwareCanvas_100

drawTrackContents_() was renamed to draw_() as part of revision 1544 - Add collapsing to most tracks in the timeline

[1] https://code.google.com/p/trace-viewer/source/diff?spec=svn1544&r=1544&format=side&path=/trunk/trace_viewer/tracing/tracks/drawing_container.html

R=[email protected]


kphanee included the following code: https://github.com/google/trace-viewer/pull/5/commits

Add Min/Max/Average/Rate to timeline_analyzer.js

Issue by natduca
Monday Sep 22, 2014 at 19:52 GMT
Originally opened as google/trace-viewer#12


From [email protected] on August 02, 2011 14:15:38

As well as the graphical view, it would be useful to have a summary of each event in the capture including at least the following:

  • Number of instances.
  • Total duration (and hence average duration).
  • Min and max duration and instances.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=5

Filter traces by category

Issue by natduca
Monday Sep 22, 2014 at 19:52 GMT
Originally opened as google/trace-viewer#10


From [email protected] on August 02, 2011 14:00:12

After a run of trace_events, there may be hundreds of events and finding the ones you are interested in can be difficult. This issue will only increase as the feature gains popularity.

By displaying a tree of categories and events and allowing it to be used as a filter, only the events that a user is interested in need be displayed.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=3

about:tracing TimelineSliceTrack should verify that its slices are monotonically increasing when assigned

Issue by natduca
Monday Sep 22, 2014 at 19:54 GMT
Originally opened as google/trace-viewer#29


From [email protected] on June 05, 2012 00:16:51

The SliceTracks's setter should go through each of its slices and verify that the starts and end times are monotonically increasing. The fastRectRenderer fails if that assumption is not held.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=22

Prevent scroll from jumping when deleting tracks in about:tracing

Issue by natduca
Monday Sep 22, 2014 at 19:53 GMT
Originally opened as google/trace-viewer#18


From [email protected] on May 20, 2012 13:38:11

  1. Record a trace
  2. Shrink the window so that the timeline is taller than the window and scrollbars appear
  3. Press the 'x' on one of the tracks

Expected result: the track closes and the 'X' for the track below the one that was deleted is under the mouse cursor

What actually happens: the track closes but the scroll view pops up to the top. The mouse cursor is over a random track.

Use case: often, you want to hide many tracks at once, by just clicking the 'x' over and over again. Because scroll jumps, this is not possible.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=11

about:tracing should handle dvorak keymaps

Issue by natduca
Monday Sep 22, 2014 at 19:54 GMT
Originally opened as google/trace-viewer#26


From [email protected] on May 31, 2012 13:46:27

At the risk of opening pandora's box, I'd like some way of using dvorak with about:tracing. One way would be to just map those keys in addition to the normal wasd. Here's the dvorak keys that map to wasd:

, up
a left
o down
e right

Note that 'a' is the same. 'e' is already used. It seems to go left more than 'a' does. Not sure why or if this is required. If it's rarely used, maybe we can just dump it.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=19

about:tracing executes a zoom in on dbl click event if the dbl click is outside the trace view

Issue by natduca
Monday Sep 22, 2014 at 19:55 GMT
Originally opened as google/trace-viewer#34


From [email protected] on February 03, 2012 18:07:39

What steps will reproduce the problem? 1. Open about:tracing
2. Start / stop trace
3. Click any event
4. Double click name of event. What is the expected output? What do you see instead? Expected: Name is selected, nothing else happens. Instead, the name is selected and the UI executes a zoom in.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=28

Refactor tracing_analysis so that the appendXXX methods come from a SummaryBuilder class

Issue by natduca
Monday Sep 22, 2014 at 19:54 GMT
Originally opened as google/trace-viewer#30


From [email protected] on June 05, 2012 13:13:11

The createSummaryElementForSelection uses a variety of appendXXX methods. These methods construct elements and return them which is awesome but it makes it hard to test the analysis code.

We should create a class

SummaryBuilder {
}
SummaryBuilder.prototype = {
// all the append methods
}

And modify createSummaryElementForSelection to take a SummaryBuilder instance as one of its arguments.

This way, when we want to test code, e.g. the averaging code, we can pass in a mock version of this interface instead.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=23

Buildbots can't run InstallHooks in tracing tests

@dj2 @natduca

I'm working on making the following tracing tests run on the catapult waterfall:

https://github.com/google/trace-viewer/blob/master/tracing/run_d8_tests
https://github.com/google/trace-viewer/blob/master/tracing/run_py_tests
https://github.com/google/trace-viewer/blob/master/tracing/build/run_dev_server_tests

The first two scripts call install_hooks.InstallHooks(). I am assuming this is only needed for local testing. Is it okay to add a flag like --is-buildbot (naming suggestions welcome) that skips this?

Insert vertical lines into timeline by clicking on ruler

Issue by natduca
Monday Sep 22, 2014 at 19:52 GMT
Originally opened as google/trace-viewer#11


From [email protected] on August 02, 2011 14:08:35

A long trace might benefit from being split into logical frames. This requires a special event or function to be designated the 'end of frame'. The UI can then allow paging between frames which will make the trace much easier to navigate.

This doesn't make sense for all processes and some events may span frame boundaries, but that shouldn't be an issue as the underlying data should be stored the same and just presented as multiple frames.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=4

about:tracing should display processes and threads in a more logical order

Issue by natduca
Monday Sep 22, 2014 at 19:53 GMT
Originally opened as google/trace-viewer#14


From [email protected] on April 25, 2012 14:28:16

Currently the processes and threads are ordered by pid/tid in about:tracing, but this can change each time chrome starts. Ideally, we would always list threads in creation/ownership order, such as:

browser
renderer
renderer
...
gpu

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=7

about:tracing: can't type in search box

Issue by natduca
Monday Sep 22, 2014 at 19:54 GMT
Originally opened as google/trace-viewer#27


From [email protected] on May 31, 2012 15:02:35

  1. Open about:tracing.
  2. Focus the search box in the upper right.
  3. Press the "r" key (or any keyboard shortcut). Notice that the shortcut action is performed (in this case record). Instead I expect to just enter an "r" in the search box.

The search box looks like it could use some love in general. At one point I couldn't focus it at all (not sure of repro steps). It can also be tricky to see the number of results in the background or to navigate the results when they exist.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=20

Better visualization for AsyncSlices that cross threads

Issue by natduca
Monday Sep 22, 2014 at 19:54 GMT
Originally opened as google/trace-viewer#22


From [email protected] on May 24, 2012 16:44:15

Once we have parsed async slices, we currently always add them to the thread's async slice group.

When we see slices that start and end on a thread, we should still do this.

For slices that start on one thread and end on another, we should instead draw arrows between threads.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=15

Importers should set TimelineViewport grid interval based on system refresh rate

Issue by natduca
Monday Sep 22, 2014 at 19:55 GMT
Originally opened as google/trace-viewer#38


From [email protected] on June 09, 2012 02:43:08

TimelineViewport assumes the display refreshes at 60hz.

On most platforms, the trace contains information about the real refresh rate. We should find that information and adjust the grid frequency accordingly.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=32

Improve about:gpu event tracing selection summary

Issue by natduca
Monday Sep 22, 2014 at 19:55 GMT
Originally opened as google/trace-viewer#32


From [email protected] on July 26, 2011 10:18:01

Quite often, a selection contains only a few items, and it's difficult to zoom in far enough to narrow down the selection to one item. Yet, we still want to see the argument values of one of the selected trace items.

In the selection summary, one option is to allow the user to click a down arrow next to a selected item to see all instances of it and their argument values in drop down (or just expanded) list.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=25

Clean up TimelineView vs Timeline naming issues

Issue by natduca
Monday Sep 22, 2014 at 19:56 GMT
Originally opened as google/trace-viewer#46


From [email protected] on June 14, 2012 00:41:38

TimelineView is currently the "base class" of all our UI, holding a Timeline and TimelineAnalysis. But, then we have this Timeline, which is actually the widget that shows the tracks. We should probably clean this up, such that Timeline is the base UI component. TBD what to do with the current code called Timeline. Maybe rename that to TimelineTracksView.

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=40

Support Arrow Keys (or alternate keyboard layouts)

Issue by natduca
Monday Sep 22, 2014 at 19:55 GMT
Originally opened as google/trace-viewer#42


From [email protected] on June 11, 2012 09:09:20

"W, A, S, D keys are specific for qwerty keyboards. It is quite hard to manipulate with different keyboard layouts from other countries. It would be nice if you could support the arrows keys." - Jerome Etienne http://www.html5rocks.com/en/tutorials/games/abouttracing/

Original issue: http://code.google.com/p/trace-viewer/issues/detail?id=36

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.