Closed Bug 438716 Opened 16 years ago Closed 16 years ago

Series data does not load

Categories

(Webtools Graveyard :: Graph Server, defect)

defect
Not set
blocker

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: anodelman, Assigned: rdoherty)

References

()

Details

Attachments

(5 files)

When opening the main page of the series data for the new front end it is not uncommon to click through two or three unresponsive script warning dialogs.

We are probably pre-loading too much data, or blocking on having all data available.
Severity: normal → critical
Assignee: nobody → rdoherty
Target Milestone: --- → 0.3
Info from the duplicate bug:

STEPS TO REPRODUCE:
1)  Disable the slow script dialog.
2)  Load http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox
3)  Click the "tp_l_1" link on a cycle of "WINNT 5.1 talos trunk qm-pxp01"
4)  Wait a few minutes (I waited 3 minutes or so) during which the browser
    consumes 100% CPU and is unresponsive.
5)  Start profiler
6)  Profile for a bit
7)  Stop profiler
8)  Kill the unresponsive browser

ADDITIONAL INFORMATION: All the time is spent under the load completion of an
XMLHttpRequest, executing JS.  About 1/8 of the total time is spent in security
checks during said JS execution, and a small amount spent on changing
attributes on <options>, but most of the time is JS execution itself.

This makes it impossible to get per-page numbers that would be needed in
debugging a Tp regression.
(In reply to comment #0)
> We are probably pre-loading too much data, or blocking on having all data
> available.
> 

Yeah, after some network analysis, it's loading many megabytes of data. We should decrease the granularity so we only need a subset of the data or split it into multiple chunks.

Status: NEW → ASSIGNED
We don't get quite the same poor behavior when using the new graph server front end - which will become the default front end soon.  There are still perf issues to be handled (ie, you still end up with slow script warnings) but it doesn't crash.

You can play around with it at graphs.mozilla.org/g2/graph.html and graphs.mozilla.org/g2/graph.html#type=series

Since we are moving to the new front end we will not be fixing this issue in the old code.  
Severity: critical → blocker
I've done some initial performance tests/improvements. Using GranParadiso yields huge performance improvements. If you can't wait, use it.

If I reduce the timespan for the charts, I can speed things up too. Can we reduce it to 15 days? This could be a temporary solution until we do some major fixes.

I was also able to improve performance of one function that was called over 3k times.
Er, by GranParadiso, I meant Minefield.
Here's some quick performance improvements. Changed regexes to indexOfs and removed some data from getdata.cgi calls that didn't seem to be in use (but still might be).
Attachment #329760 - Flags: review?(anodelman)
Our biggest performance problem now is when jQuery evals the returned json. It's about 5 seconds with my test data. We have to reduce the amount of data returned from getdata.cgi. 

I'll start looking into this.
Comment on attachment 329760 [details] [diff] [review]
Performance improvements [checked in]

This looks reasonable to me, and I'm all for faster page load times.
Attachment #329760 - Flags: review?(anodelman) → review+
Committed changes in changeset 71d9f8c152d0 (http://hg.mozilla.org/index.cgi/graphs/rev/71d9f8c152d0)
Attachment #329760 - Attachment description: Performance improvements → Performance improvements [checked in]
Quick update before I'm gone. Some perf improvements were made, we won't know the real benefits until they are on production. Next steps would require a substantial re-write of some of the backend and frontend.
Target Milestone: 0.3 → 0.4
I'm trying to reproduce from comment #2 and can't find the link specified on http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox

Can I get a direct url to test with?
Changing title to a more correct one. Looks like a query is taking too long: bug 450640
Summary: unresponsive script warning when opening series data front page (new front end) → Series data does not load
Depends on: 450640
Here's a patch that will most likely fix this issue. It defers loading all the test info until you click on the calendar button and has a better SQL query for getting the initial data.
Attachment #334786 - Flags: review?(anodelman)
The comment 2 url got renamed, I think.  The new correct link would be to look for is probably the "tp: ..." link on any of the talos boxes.

Any direct url I type in will just go stale after a bit, but http://graphs.mozilla.org/graph.html#show=912148 is an example, I guess.
(In reply to comment #15)
> The comment 2 url got renamed, I think.  The new correct link would be to look
> for is probably the "tp: ..." link on any of the talos boxes.
> 
> Any direct url I type in will just go stale after a bit, but
> http://graphs.mozilla.org/graph.html#show=912148 is an example, I guess.
> 

I just tried that URL and it loads fine for me in FF 3.0.1. Not sure why it wouldn't work for you except maybe an addon?
The page has changed significantly since then, from what I can tell.  Also, chances are you're using a computer that is about 10x faster than what I was using when I filed the bug.

No add-ons were involved at any point.
Comment on attachment 334786 [details] [diff] [review]
SQL & JS performance improvements [checked in]

I got a little weirdness with empty date pickers for tests that aren't run frequently - but I think that that is something that can be shaken out after the fact.  Loading the page itself is far more important.
Attachment #334786 - Flags: review?(anodelman) → review+
in changeset 935ebf2a1651
Attachment #334786 - Attachment description: SQL & JS performance improvements → SQL & JS performance improvements [checked in]
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
(In reply to comment #19)
> (From update of attachment 334786 [details] [diff] [review])
> I got a little weirdness with empty date pickers for tests that aren't run
> frequently - but I think that that is something that can be shaken out after
> the fact.  Loading the page itself is far more important.
> 

I didn't see this issue on my dev machine. Will check on graphs-stage today.
Reopening, can't add any discrete tests to graph.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
This fixes the issue I discovered yesterday. It avoids overwriting the local copy of tests by appending the data instead of re-intializing the array.
Attachment #335907 - Flags: review?(anodelman)
Comment on attachment 335907 [details] [diff] [review]
Fix for inability to add discrete tests to graph [checked in]

None of this looks controversial to me.  Sorry that I didn't catch the issues with my first review.
Attachment #335907 - Flags: review?(anodelman) → review+
checked in, changeset  110:898ab5862e1f
Attachment #335907 - Attachment description: Fix for inability to add discrete tests to graph → Fix for inability to add discrete tests to graph [checked in]
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
Can someone please provide a testcase I can load/run?

As http://graphs.mozilla.org/g2/graph.html#type=series doesn't work either in production or in staging (http://graphs-staging.mozilla.org/g2/graph.html#type=series), I tried to find an equivalent URL and failed.

I am able to add discrete tests to the graph (if I understand it correctly), though that only seems to cover the last 4 comments, and not the original filing.

Thanks!
(In reply to comment #26)
> Can someone please provide a testcase I can load/run?
> 

Sorry, the old url was still in the bug. This is the prod page:
http://graphs.mozilla.org/graph.html#type=series

staging:
http://graphs-stage.mozilla.org/graph.html#type=series

It seems like the prod server has my first patch on it which allows it to load the test names, but if you select the calendar icon and try to add multiple tests from the list, they won't load. The fix to that is on stage.

A testcase would be something like:

1) Load http://graphs-stage.mozilla.org/graph.html#type=series
2) Verify the test names load
3) Add a test via the + button
4) Add multiple tests via the + button
5) Add multiple tests via the calendar icon and selecting multiple dates in the list
When I look at "Tp3 (RSS)" for qm-pleopard-stage01 on graphs-stage.m.o the date picker shows up empty.  The same thing happens for pretty much whatever data picker I try (for different machines/tests).

I think that there is still something wrong here.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(In reply to comment #28)
> When I look at "Tp3 (RSS)" for qm-pleopard-stage01 on graphs-stage.m.o the date
> picker shows up empty.  The same thing happens for pretty much whatever data
> picker I try (for different machines/tests).
> 
> I think that there is still something wrong here.

It seems as though test names with parentheses in them don't work when querying the server. All other tests work fine. Will investigate.
Here's the fix for test names with parentheses. I'll attach the tests required to verify this.
Attachment #336546 - Flags: review?(anodelman)
Attached file Test data
(In reply to comment #31)
> Created an attachment (id=336547) [details]
> Test data

Test name is Tp3 (RSS) on MacOS 10.5, qm-pleopard-stage01, 1.9 branch
Attachment #336546 - Flags: review?(anodelman) → review+
Committed, changeset 111:752632ab59eb
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
Attachment #336546 - Attachment description: Fix for testnames with parentheses → Fix for testnames with parentheses [checked in]
Verified FIXED; consulted with Ryan (and, while I saw other bugs in the process of verification, this now works).
Status: RESOLVED → VERIFIED
Product: Webtools → Webtools Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: