mozilla / fxa-auth-server

DEPRECATED - Migrated to https://github.com/mozilla/fxa
Mozilla Public License 2.0
399 stars 108 forks source link

Should we stop emitting route perf events for /recovery_email/status? #2850

Closed philbooth closed 5 years ago

philbooth commented 5 years ago

The status endpoint gets hit quite heavily and it's questionable how useful the perf data we are getting from it is. We could drastically reduce our daily flow event count if we stopped emitting the perf event on that route.

shane-tomlinson commented 5 years ago

The status endpoint gets hit quite heavily and it's questionable how useful the perf data we are getting from it is. We could drastically reduce our daily flow event count if we stopped emitting the perf event on that route.

Since this endpoint is hit so often, could overall perf results be skewed? Even if no, removing perf results from here seems reasonable to cut down on overall flow event count.

philbooth commented 5 years ago

could overall perf results be skewed?

There's no "overall" perf result in that sense, unless someone's written a query to aggregate them that I don't know about. They're just plotted on a chart per-endpoint.

philbooth commented 5 years ago

Just to quantify the effects of this before I open a PR:

SELECT COUNT(*), SUBSTRING(type, 19) AS route
FROM flow_events
WHERE type LIKE 'route.performance.%'
GROUP BY 2
ORDER BY 1 DESC;
count route
530,672,699 /recovery_email/status
26,197,101 /password/forgot/status
10,845,530 /account/device
7,576,774 /account/keys
6,984,281 /account/login
6,974,785 /recovery_email/verify_code
4,377,133 /sms/status
4,144,436 /account/create
1,250,179 /sms
1,160,813 /recovery_email/resend_code
669,600 /password/forgot/send_code
619,757 /recoveryKey/exists
486,950 /password/forgot/verify_code
485,673 /account/reset
291,369 /recovery_emails
275,596 /totp/exists
238,183 /session/destroy
215,298 /totp/create
141,497 /signinCodes/consume
120,245 /session/verify/totp
117,023 /session/reauth
68,981 /account/login/send_unblock_code
50,950 /account/device/destroy
35,663 /session/status
35,192 /password/forgot/resend_code
14,765 /recovery_email
6,502 /recoveryKey
6,075 /account/destroy
4,674 /session/verify/recoveryCode
4,261 /recovery_email/destroy
1,610 /account/device/commands
1,313 /recovery_email/set_primary
779 /session/verify/token
700 /totp/destroy
558 /recoveryCodes
375 /account/devices/notify
3 /recoveryKey/c21e1bd35a224cc39a26c98c62e2d170

So that's a lot of events we'll get rid of.

(and there's a long tail of about 15k different variations of that last recovery key endpoint, which I'll also clean up for the sake of tidiness)