New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 702199 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment

Support WebRTC monorail project at chromiumdash.appspot.com

Project Member Reported by kjellander@chromium.org, Mar 16 2017

Issue description

It would be very useful for our triage process if we could get the excellent statistics and graphs available at chromiumdash.appspot.com for our own issue tracker at bugs.webrtc.org (alias for https://bugs.chromium.org/p/webrtc).

Would this be possible? Is there anything we can help to make it possible? Our issue tracker is synchronized with the Chromium one in almost all fields (Status, OS, Pri, Type etc).
 
Cc: pras...@chromium.org jansson@chromium.org
Just to ensure I'm clear on things, you're talking about adding WebRTC to the components tracking page here: https://chromiumdash.appspot.com/components ?

Or did you want integration elsewhere (e.g. the "My Bugs" page as well)?

+prasadv@ as FYI, as my guess is we might get this request for other Monorail projects (e.g. Skia / V8 as well).
No I'm talking about having the same app for the project "webrtc", which is a separate project at the Monorail instance at bugs.chromium.org, similar to "chromium".

Depending on how chromiumdash is implemented I guess it might be easiest to just deploy another instance of that (app engine?) app at something like webrtcwith.appspot.com? I guess it all depends on how many hardcoded assumptions there are in the source code.

Because I assume the app wasn't developed with support for multiple projects?

Comment 3 by blum@chromium.org, Mar 19 2017

Cc: anatolid@chromium.org
The app was built to support multiple projects, the whole point is to reduce the number of places you have to visit to get an accurate representation of your work :) Hence why WebRTC commits are present in your list of commits and why the WebRTC branches are listed on the milestones page.

I won't say this support will come soon, but I can say we'll work on it when we get a chance.
Owner: ehmaldonado@chromium.org
Status: Assigned (was: Untriaged)
We're planning to do this in Q2.
What specifically are you planning here?
We were hoping to be able to contribute time to implement the missing pieces that might be left to use the app for WebRTC - is that not feasible or do you already have plans for that amineer?
That is both feasible and excellent!  Just wanted to understand what you had in mind.

prasadv@ is actually actively working on implementing the new server code to store this data right now.  I think supporting WebRTC would be pretty easy:

 - Update the model (https://chrome-internal.googlesource.com/infra/infra_internal/+/master/appengine/chromiumdash/models/component_stats.py) to take the issue tracker project (e.g. chromium, webrtc, v8, etc.) as a parameter
 - Update the poller code (in flight CL https://chrome-internal-review.googlesource.com/c/359651/) to iterate over supported projects (currently hard coded to chromium but underlying code supports params)
 - Confirm all necessary params used in the default queries are in sync between chromium and webrtc repos (https://chrome-internal.googlesource.com/infra/infra_internal/+/master/appengine/chromiumdash/models/component_stats.py#46)
 - Update the UI

The last bit (UI) will take some time, but if you are able to get the server code supporting WebRTC ASAP that means you'll have a lot of good data to view by the time the UI is done.  prasadv@ can probably correct me if I've missed anything here too.
It looks like the CL you linked (https://chrome-internal-review.googlesource.com/c/359651/) is addressing the first two points.

Is there anything we could help with?

prasadv: friendly ping :)
Can you confirm the queries are OK?

We'll need to figure out how we want to present this in the UI as well - maybe prefix the project name in front of the component name?
Cc: kjellander@chromium.org
It looks like the CL has landed. Is there anything we should do?

And yes, I think prefixing the project name is a good idea. What do you think Henrik?
You still haven't confirmed that the queries are OK :)

There is nothing more for the WebRTC team to do at this time aside from that.  We'll need to figure out the frontend part, I can loop you in when we're at a point where it makes sense, likely still a few weeks out.

Please note that the current deployment of Chromium Dash is built from my personal repo, and does not include these changes - we are still a little ways out from shipping from infra_internal, where the CL above landed.  Thus you won't see WebRTC stats show until we're ready to cut over to the new version.  Rest assured that as soon as we cut over, you'll get to see all your data.

Thanks for working with us on this, and using the tool, we appreciate the feedback!
The queries are OK. We confirmed them in a comment in the CL.

Thanks for your help, let us know if you need anything else :)
Labels: Beta-Blocking
Cc: ehmaldonado@chromium.org
Owner: ----
Status: Available (was: Assigned)
Pending implementation:
 - Add a "Project" dropdown (akin to what is currently available for platform) that is only shown on the Components page; list all options (currently Chromium, WebRTC) and change content / display of page based on selection.

I think one of either myself or Prasad can pick this up as we port the Components view from my personal GoB repo to the infra_internal repo.
Project Member

Comment 16 by bugdroid1@chromium.org, Jul 18 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/infra_internal/+/9ed99030d8c00ba46a219c6f240fa1e6fd5b17d7

commit 9ed99030d8c00ba46a219c6f240fa1e6fd5b17d7
Author: Alex Mineer <amineer@google.com>
Date: Tue Jul 18 19:53:35 2017

Project Member

Comment 17 by bugdroid1@chromium.org, Jul 19 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/infra_internal/+/c6518af8a7bb2e1837c644ddf48f5aece05df36a

commit c6518af8a7bb2e1837c644ddf48f5aece05df36a
Author: Alex Mineer <amineer@google.com>
Date: Wed Jul 19 00:13:39 2017

OK, we now have a cron job pulling WebRTC component stats into the DB; that said it's hard coded, we need to write up a wrapper to do this more intelligently.  I've also fixed up some misc. processing bugs.

On to the FE...
Any update on this? Anything we can help with?
Owner: amineer@chromium.org
Status: Assigned (was: Available)
Nope, the FE is mostly done, now we just need to finalize caching in the backend so stuff is efficient to look up and this will be 100% complete.  Should be in the next few weeks max.

Will self-assign as I've been working on this slowly but surely over the last couple weeks and have the in flight CL to finish it.
Status: Fixed (was: Assigned)
WebRTC is now selectable at https://chromiumdash-staging.googleplex.com/components.  Note that we're still missing functionality like graphs, and it takes forever to load, but we're working on fixing both of those issues independently and they'll apply to WebRTC when done.
I don't see where it would be selectable. I only see the Chromium category (attached screenshot) and if I scroll down there's nothing more.
The menu only has Operating systems + WebView. 

Could this be related to authentication? I've tried authenticating (clicking the upper right) with both google.com and chromium.org (and my chromium.org account is Owner at https://bugs.chromium.org/p/webrtc so it should be sufficient).

Do we need to involve webrtc.org accounts somehow?
Screen Shot 2017-09-06 at 06.03.19.png
280 KB View Download
Same (as #22) for me -- I can't see where to select WebRTC. I also switched to the webrtc.org account, but it didn't help.
Status: Assigned (was: Fixed)
Ugh, this was working, someone broke the UI in the last 1-2 days.  Reopening, will fix shortly.
Project Member

Comment 25 by bugdroid1@chromium.org, Sep 6 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/infra_internal/+/6bb337a14dfac97c025ed2a38a7eb4bdc2631d24

commit 6bb337a14dfac97c025ed2a38a7eb4bdc2631d24
Author: prasadv <prasadv@google.com>
Date: Wed Sep 06 18:03:39 2017

Status: Fixed (was: Assigned)
OK, thanks to the CL in c#25, the staging instance should now have a project dropdown that you can use.  Please give that a try.

The platform dropdown is still there, sadly - but I've posted https://chrome-internal-review.googlesource.com/c/infra/infra_internal/+/452114 to remove it, and it'll be gone once that lands.

Thus I'm marking this fixed, please give it another look and let me know if you still don't see what you expect.  Once  issue 762371  and  issue 762372  are fixed we should be at total parity.
Project Member

Comment 27 by bugdroid1@chromium.org, Sep 11 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/infra_internal/+/92533971beb6e45f987ceb5e16bfef1f6df905ab

commit 92533971beb6e45f987ceb5e16bfef1f6df905ab
Author: Alex Mineer <amineer@google.com>
Date: Mon Sep 11 20:46:19 2017

It works -- I can select the 'WebRTC' in the Projects dropdown. However the numbers are not right, e.g. it shows 11 in the "SLO: Pri-0,1" column for the Video component -- while in reality it's 2 (clicking on 11 brings you to a monorail query returning 2 results). Same for many other numbers.
That's expected - the staging instance of Chromium Dash points to the staging instance of Monorail, which has different counts of data.  Once we deploy the staging version of Chromium Dash to product, it will start to hit the Monorail prod backend, and the counts will be accurate.  To test, feel free to run the queries you see in Chromium Dash at https://monorail-staging.appspot.com/p/webrtc/issues/list and let me know if you see wrong numbers.

For the specific instance you gave, https://monorail-staging.appspot.com/p/webrtc/issues/list?can=2&q=component%3DVideo+Pri%3D0%2C1&colspec=ID+Pri+Mstone+ReleaseBlock+Component+Status+Owner+Summary&x=mstone&y=owner&cells=ids shows 11 results as expected.
amineer: this week we've migrated both the source of truth and also got rid of the Git subtree mirror we used to have in Chrome.

I stumbled over this when I was searching for old references so I think it has to be updated.
https://cs.corp.google.com/chromium_infra_internal/appengine/chromiumdash/common/commit_util.py?rcl=2187188ba72b42971b4ce25f960e54a7a997eadb&l=51

Our new repo is https://webrtc.googlesource.com/src and that's also the one in Chromium's DEPS file as of today (no more external/webrtc/trunk/webrtc).
Owner: kjellander@chromium.org
Status: Assigned (was: Fixed)
Reopening, thanks for the heads-up.

Is this something ehmaldonado@ can help us with?  We're working on other tasks ATM.
Owner: ehmaldonado@chromium.org
Edward: can you take a look at this? (after the offsite).
I assume if we just make the CL, it'll be deployed when they update staging next time.
Will we also have charts? (like here, for instance: https://chromiumdash.appspot.com/components/Blink/WebRTC)
Yeah, charts just don't exist in the staging instance just yet - I'm working on porting them as we speak, follow progress at  issue 762371 .
Also, ehmaldonado@ - please note that we may erase the existing database, then work to re-populate it, when we convert our instances.  Thus we might need to have some special casing to accommodate backfilling older CLs.  If this isn't feasible, please let us know.
Hi :)
Take a look at what?
Well, that's already done.
(Thanks to Michael!)
Status: Fixed (was: Assigned)
I'm seeing https://chromiumdash-staging.googleplex.com/components works as intended (which is great), but not other pages. Is that the only page we can get support at? What about commits etc? Should we file separate bugs for them?


I think we're already at feature parity for WebRTC as we are with other platforms?  See https://chromiumdash-staging.googleplex.com/commit/bef945f36c7b13f876894dda0edfc76bc2b509e1 for a WebRTC commit - if you click on the "Commits" page in general, and expand the search dialog, you should see an option to (1) search for specific WebRTC devs or (2) search the WebRTC repo.

What else were you looking for?
I'm sorry I was looking at https://chromiumdash-staging.googleplex.com/commits not realizing the user:kjellander@chromium.org filter was only showing my Chromium commits. It seems to work great.

However, us moving from the Git subtree mirror to the full repo for src/third_party/webrtc is supposedly causing errors in the backend IIUC (according to machenbach@). Maybe we need to fix that somehow for all commits to show up correctly?
See  bug 611808  and go/webrtc-repo-in-chrome for more info.

Sign in to add a comment