Merge lp://staging/~mbp/launchpad/show-timeline into lp://staging/launchpad
Status: | Merged |
---|---|
Approved by: | Martin Pool |
Approved revision: | no longer in the source branch. |
Merged at revision: | 14511 |
Proposed branch: | lp://staging/~mbp/launchpad/show-timeline |
Merge into: | lp://staging/launchpad |
Diff against target: |
159 lines (+62/-4) 7 files modified
lib/canonical/launchpad/icing/css/layout.css (+0/-1) lib/canonical/launchpad/webapp/adapter.py (+13/-1) lib/lp/app/browser/tales.py (+8/-0) lib/lp/app/templates/base-layout-macros.pt (+27/-0) lib/lp/app/templates/base-layout.pt (+6/-1) lib/lp/app/templates/launchpad-loginstatus.pt (+6/-1) lib/lp/translations/browser/tests/test_sharing_details.py (+2/-0) |
To merge this branch: | bzr merge lp://staging/~mbp/launchpad/show-timeline |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Robert Collins (community) | Needs Fixing | ||
Launchpad code reviewers | Pending | ||
Review via email: mp+80166@code.staging.launchpad.net |
Commit message
[r=mbp][bug=886996] Show timeline in footer of page when visible_render_time is true
Description of the change
With this change, you can click the "%d queries/external actions" show to developers to actually see what the queries were. An HTML form of the request timeline is revealed at the bottom of the page. I think I would find this interesting or useful on pages that are slow but not failing, or that are intermittently oops.
I realize you can force it to oops, wait for the oops to sync, then look at it elsewhere but having the data right there seems easier and perhaps more likely to actually be inspected. Also, because performance depends on cache hits, retrying the request to get an oops may give different behaviour.
This just renders data already collected in the timeline so it should not affect performance very much.
It's not automatically tested yet. Pointers to where the tests ought to be added would be welcome.
I thought about highlighting the slow actions but I haven't done that either.
Clicking the link reveals the list but doesn't scroll to it; I have mixed feelings about whether it should, and in any case making the anchor the target and the javascript show it from onclick didn't seem to work on the first pageload. Advice welcome.
screenshots:
http://
http://
I also looked into increasing the psql verbosity so that it tells you how the query was executed. It is possible to get this out of the client via storm, and to turn this on conditional on a feature flag. However, the debug log is extremely verbose and not very readable, so not obviously so helpful. I was hoping we would get something similar to explain analyze, but for free, while running the actual queries. Apparently not. Perhaps it's improved in a later postgresql release.