Closed Bug 1124371 Opened 10 years ago Closed 9 years ago

Loop Reporting JSON that includes rooms

Categories

(Cloud Services :: Operations: Metrics/Monitoring, task)

x86
macOS
task
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: kparlante, Assigned: whd)

References

Details

We need to revist the "callers" metrics, given that there's a new rooms api, so a new way to be a successful caller. As before, the loop server doesn't observe the success of the media, so we're only measuring success in connecting the two users. Some definitions for our approach: - Unique users ==> unique hawk ids (uid, calleeId) - Successful call user ==> same as our "caller" metrics before. This counts both direct and call-url callers. - Successful room user ==> users who have been in a conversation/room with another user. - Successful session ==> successful calls (same as before) + successful room sessions. For rooms, this means the number of times a person has joined a room with another person already in it. (This will be an overcount; we have unique rooms as part of the rooms flow).
To start, lets do parallel "rooms" counts for all of the caller metrics (we can skip fortnightly): https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_new_callers.json https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_cumulative_callers.json https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_daily_unique_callers.json https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_weekly_recurring.json https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_monthly_recurring.json In each case, we care about unique uid's for this query: method:post AND path:rooms AND action:join AND errno:0 AND participants:2 Also, a "room sessions", which is the moral equivalent of "call setups" (only we don't have parallel failure data). The proposed approach is to just count: method:post AND path:rooms AND action:join AND errno:0 AND participants:2
I'm going to append "rooms" to the names for the rooms counts e.g. https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_monthly_recurring_rooms.json Do we want cumulative callers etc. to start from 0 or from the current value? I'm guessing 0. I'm going to put the rooms sessions data at: https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_rooms_sessions.json
The following filters have been set up, and should start to see activity once 0.15.1 goes to prod (possibly tomorrow): https://heka.shared.us-west-2.prod.mozaws.net/#plugins/filters/LoopRoomsSessionsMetrics (json) https://heka.shared.us-west-2.prod.mozaws.net/#plugins/filters/LoopRoomsSessionsCount (cbuf of same) https://heka.shared.us-west-2.prod.mozaws.net/#plugins/filters/LoopTotalUsersWithRooms https://heka.shared.us-west-2.prod.mozaws.net/#plugins/filters/LoopActiveDailyCallersWithRooms Recurring counts is an offline computation but the code is the same (only the message matcher differs). Once we have some data those numbers should be available at: https://heka.shared.us-west-2.prod.mozaws.net/#plugins/filters/LoopRoomsMetrics
Looks like 0.15.1 landed in production (I'm seeing "participants" in kibana), so should be able to add this to the dashboard tomorrow.
Blocks: 1122496, 1122495
(In reply to Katie Parlante from comment #1) > In each case, we care about unique uid's for this query: > method:post AND path:rooms AND action:join AND errno:0 AND participants:2 > > Also, a "room sessions", which is the moral equivalent of "call setups" > (only we don't have parallel failure data). The proposed approach is to just > count: > method:post AND path:rooms AND action:join AND errno:0 AND participants:2 Looking at the actual data in kibana, looks like "participants" is the number of people in the room when you try to join. So these queries should change to: method:post AND path:rooms AND action:join AND errno:0 AND participants:1
Yes true, this might be something we want to change, should we? https://github.com/mozilla-services/loop-server/blob/master/loop/middlewares.js#L90-L92
(In reply to Rémy Hubscher (:natim) from comment #6) > Yes true, this might be something we want to change, should we? > > https://github.com/mozilla-services/loop-server/blob/master/loop/middlewares. > js#L90-L92 No need to change.
Ok, I have more use cases working locally with the production data, but I'm not pushing live tonight -- the combination of so few data points & the load testing snafu renders it more confusing than useful. Changes still needed: - Add the "Fields[user_agent_browser] != NIL" filter to the rooms variants & reprocess - Make 7 day & 30 day active (not recurring) available to the dashboard (for both calls and rooms) - Make room session json available to the dashboard
"Fields[user_agent_browser] != NIL" has been added to the live filters, but still needs reprocessing. Today I wrote a generic "actives" filter at https://github.com/mozilla-services/puppet-config/blob/loop_rooms_metrics/shared/modules/shared/files/hekad/lua_filters/active_counts.lua which I'll configure for 7 & 30 day actives. I'll also do the reprocessing and dashboard proxy rules tomorrow.
Blocks: 1122504
Rooms variants should be recomputed and running live. The 7 day and 30 day counts will not show up until 7 days and 30 days have passed, but the other data should look better. When the 7 and 30 day counts are available, they will be at: https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_room_weekly_unique_callers.json https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_room_monthly_unique_callers.json I also tweaked the dashboard name for the rooms variants for consistency (s/rooms/room/); where they were: /loop-server-dashboard/data/loop_rooms_$METRIC.json They are now: /loop-server-dashboard/data/loop_room_$METRIC.json 7 and 30 day counts for "calls" are also live and backfilled with data from 2014-12; that data is available at: https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_weekly_unique_callers.json https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_monthly_unique_callers.json Session JSON available at: https://metrics.services.mozilla.com/loop-server-dashboard/data/loop_room_sessions.json (feel free to suggest better names for any of the above) Per discussion in bug #1122506 I'm going to modify "Fields[user_agent_browser] != NIL" to be "Fields[agent] != $LOADS_USER_AGENT" for all cases where we use the former, which I will do tomorrow.
Blocks: 1141802
No longer blocks: 1141802
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.