Validate list of sites used for testing Fission
Categories
(Testing :: Performance, task, P2)
Tracking
(Fission Milestone:M7)
Fission Milestone | M7 |
People
(Reporter: davehunt, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: fission-perf)
Attachments
(1 file)
25.79 KB,
application/json
|
Details |
Review the current list of sites used by Raptor and AWSY for suitability of testing Fission. We could start with identifying the unique site origins within each tp6 recording. This may help us to identify additional or replacement sites to test.
Comment 1•5 years ago
|
||
From bug 1583914
(In reply to :Nika Layzell (ni? for response) from comment #4)
The important thing is that the URL which Firefox sees loading (from the DOM point of view) has a distinct eTLD+1 (e.g.
example.com
vsmochi.test
). Unfortunately, port # and subdomains don't count as different sites, so won't get different processe
I understand we need multiple domain in our recordings for this tests to work as effective as it can get...
Looking at the current recordings we have captured the "http_protocol" that the raw packages are using to communicate.
from this we can extract a list of eTLD that we have in our recordings.
Example:
"http_protocol":{
"detectportal.firefox.com":"HTTP/1.1",
"snippets.cdn.mozilla.net":"HTTP/1.1",
"push.services.mozilla.com":"HTTP/1.1",
"www.youtube.com":"HTTP/2.0",
"shavar.services.mozilla.com":"HTTP/1.1",
"tracking-protection.cdn.mozilla.net":"HTTP/1.1",
"fonts.googleapis.com":"HTTP/2.0",
"i.ytimg.com":"HTTP/2.0",
"s.ytimg.com":"HTTP/2.0",
"yt3.ggpht.com":"HTTP/2.0",
"www.gstatic.com":"HTTP/2.0",
"fonts.gstatic.com":"HTTP/2.0",
"googleads.g.doubleclick.net":"HTTP/2.0",
"accounts.google.com":"HTTP/2.0",
"www.google.com":"HTTP/2.0",
"www.google.ro":"HTTP/2.0",
"clients1.google.com":"HTTP/2.0"
}
Not sure if this is the information that we are are looking for but it's what we have without digging through all the recordings.
Note: For some sites that use more info. Here is the http_protocol of CNN on a mobile site: https://paste.mozilla.org/LyReXHfz
It depends of the amount of adds and data that it's on the recorded page.
Is this the required information? What would be a good website example to test fission?
Comment 2•5 years ago
|
||
That sort of information would be useful, yes. In the example you gave above, one could extract the eTLD+1s from the domains. Some of these URLs won't be loaded as documents, however.
IIRC that would look something like this ((*)
is the first instance of that eTLD+1) :
"detectportal.firefox.com" => firefox.com (*)
"snippets.cdn.mozilla.net" => mozilla.net (*)
"push.services.mozilla.com" => mozilla.com (*)
"www.youtube.com" => youtube.com (*)
"shavar.services.mozilla.com" => mozilla.com
"tracking-protection.cdn.mozilla.net" => mozilla.net
"fonts.googleapis.com" => fonts.googleapis.com (*) (`googleapis.com` is on public suffix list)
"i.ytimg.com" => ytimg.com (*)
"s.ytimg.com" => ytimg.com
"yt3.ggpht.com" => ggpht.com (*)
"www.gstatic.com" => gstatic.com (*)
"fonts.gstatic.com" => gstatic.com
"googleads.g.doubleclick.net" => doubleclick.net (*)
"accounts.google.com" => google.com (*)
"www.google.com" => google.com
"www.google.ro" => google.ro (*)
"clients1.google.com" => google.com
In this case the final set of eTLD+1s is:
- firefox.com
- mozilla.net
- mozilla.com
- youtube.com
- fonts.googleapis.com
- ytimg.com
- ggpht.com
- gstatic.com
- doubleclick.net
- google.com
- google.ro
I'm guessing that a number of these (such as the mozilla related ones, ytimg.com
, and fonts.googleapis.com
), won't be loaded as documents, cutting down the number of processes being used substantially..
I don't have a canonical list of "good websites" to test fission with, but cnn is an example which we've observed to have as many as 17 oop iframes.
Reporter | ||
Comment 3•5 years ago
|
||
Bebe: Is this something to add to the recording process, or perhaps even better write a script that processes all of the JSON files from the manifests and provides a summary of site and total eTLD+1s? Can we get this assigned and prioritised as it would be good to identify if we should adjust our target sites for Fission suitability.
Comment 4•5 years ago
|
||
Tentatively moving all bugs whose summaries mention "Fission" (or other Fission-related keywords) but are not assigned to a Fission Milestone to the "?" triage milestone.
This will generate a lot of bugmail, so you can filter your bugmail for the following UUID and delete them en masse:
0ee3c76a-bc79-4eb2-8d12-05dc0b68e732
Updated•5 years ago
|
Comment 6•5 years ago
|
||
added a patch to update the recording process
https://github.com/mozilla/raptor-studio/pull/27/commits/2f8b3e9578a2a47afcd968aa1560717d79cfefb0
I will make a list of all the recordings and current etdl
Comment 7•5 years ago
|
||
Updated•5 years ago
|
Comment 8•5 years ago
|
||
not sure how to present this data but this is the raw json that I have
I will make a google doc with more readable data
Comment 9•5 years ago
|
||
Here is a more readable doc:
https://docs.google.com/spreadsheets/d/1d70uX1-Ng8PFEhOtc8s5oyKxYShyZEvBMkf3_c4ZNws/edit?usp=sharing
:Nika, :sdoner can you confirm this is the correct information we need?
What is the next step after this?
(In reply to Florin Strugariu [:Bebe] (needinfo me) from comment #9)
Here is a more readable doc:
https://docs.google.com/spreadsheets/d/1d70uX1-Ng8PFEhOtc8s5oyKxYShyZEvBMkf3_c4ZNws/edit?usp=sharing
:Nika, :sdoner can you confirm this is the correct information we need?
What is the next step after this?
Thanks for doing this, :bebe, and apologies for the delay, here. The output in the spreadsheet looks good to me, as it breaks down the unique hostnames, number of eTLDs, etc. Leaving my need-info? open to remind me to follow-up soon on this issue.
From this, I'd imagine we start figuring out how to extend/augment, or perhaps make Fission-only variants of tests with high eTLD counts, or perhaps create a new test with unusually high eTLD counts (perhaps as a "stress test" for Fission), and see where those approaches get us.
Kris, while Nika's unavailable, would you have suggestions for the above/something else? Happy to go high-bandwidth Zoom chat with you and :bebe.
Comment 11•4 years ago
|
||
I'm not sure how useful the numbers in that document are. It still counts the number of origins that any requests are made for, rather than only the origins that are loaded as documents. The first entry lists 53 origins, for instance, but when I load it locally, I only see 8 separate origins loaded into frames (which may not be the same as the number in the recording, but is certainly closer to the mark)
Updated•4 years ago
|
Comment 12•4 years ago
|
||
Florin, are you still working on this bug? If not please unassign and update the priority given our triage guidelines. Thanks.
Updated•4 years ago
|
Reporter | ||
Updated•4 years ago
|
Comment 13•4 years ago
|
||
I there anything else we need to do here? Can I offer any assistance to close this bug?
Comment 14•4 years ago
|
||
Redirecting to :jesup, as he's taking over Fission performance work.
Mass-removing myself from cc; search for 12b9dfe4-ece3-40dc-8d23-60e179f64ac1 or any reasonable part thereof, to mass-delete these notifications (and sorry!)
Comment 17•4 years ago
|
||
(In reply to Stephen Donner [:stephend] Not actively reading bugmail from comment #10)
(In reply to Florin Strugariu [:Bebe] (needinfo me) from comment #9)
Here is a more readable doc:
https://docs.google.com/spreadsheets/d/1d70uX1-Ng8PFEhOtc8s5oyKxYShyZEvBMkf3_c4ZNws/edit?usp=sharing
:Nika, :sdoner can you confirm this is the correct information we need?
Unfortunately, this information is not correct (or at least not what we need).
This does list the number of eTLD+1's for those sites -- but not the number that would cause a process to be created for (i.e. eTLD+1's in an iframe). In theory we should also avoid double-counting multiple iframes to the same eTLD+1, but I don't know how common that is (if it's a google/doubleclick iframe for an ad, there might be several on a page).
Updated•4 years ago
|
Comment 18•4 years ago
|
||
Randell how wold you suggest to count those process? is the a variable somewhere in firefox we can access from raptor to be able to output the necesary information?
Comment 19•4 years ago
|
||
You can get a list of all content processes (including preallocated/unused ones) as is seen here:
dom/base/test/browser_chromeutils_getalldomprocesses.js
You can probably then ask each ContentParent what it's type is (web for e10s processes, webIsolated=http(s)://xxxxxx for fission processes; there is also one other type relevant for sharedarraybuffers)
Comment 20•4 years ago
|
||
(In reply to Randell Jesup [:jesup] (needinfo me) from comment #19)
You can probably then ask each ContentParent what it's type is (web for e10s processes, webIsolated=http(s)://xxxxxx for fission processes; there is also one other type relevant for sharedarraybuffers)
I don't think the remote type is exposed yet, though I did write a patch to add that. I should put it up for review if it would be useful to somebody else.
Comment 21•4 years ago
|
||
Nika did say on Matrix "I think you can also kinda get it using ChromeUtils.requestProcInfo, but that's a bit heavyweight"
Comment 22•4 years ago
|
||
I have a patch up in bug 1656953 for adding remote type to that interface.
Updated•4 years ago
|
Updated•3 years ago
|
Comment 23•3 years ago
|
||
Closing due to inactivity and that we have another bug similar to this one for adding tests with higher etld+1 counts.
Description
•