Page MenuHomePhabricator

Review existing JS error logging solutions
Closed, ResolvedPublic


Review existing JS error logging solutions (esp. the FOSS ones) to make sure we did not miss anything important, to make sure we are not reinventing the wheel where a 3rd-party drop-in solution already exists (especially with T499), and to gather JS tricks for T512 and others.


There are many commercial ones available, but they all require neogicating custom plans due to our traffic. I think it would turn out to be quite expensive and traditionally we've always tried to switch from commercial solutions we were using to open-source things we host.

Related Objects

Event Timeline

Tgr claimed this task.
Tgr raised the priority of this task from to Medium.
Tgr updated the task description. (Show Details)
Tgr changed Security from none to None.
Tgr added a subscriber: Tgr.
Gilles added a project: Multimedia.
Gilles removed a subscriber: Unknown Object (MLST).

I think that raven uses TraceKit. But beyond the very low-level tools, since the entire Sentry stack is open source, I think the easiest first step is to set up Sentry on labs, use it to track errors on beta and have a look at what we're getting. Then we'll be able to look at what value each component provides to see if it's worth keeping or switching to something else.

Another good reason to go for Sentry or its components is that they're being used by other very large websites, many of which are paying customers, which means that it's getting good maintenance.

Gilles added a subscriber: Gilles.

I completely missed Squash which on the whole looks less maintained and less lively than Sentry (but still looks good) but has the super-neat feature of auto-identifying culprits via git blame. I don't think it is a reason to consider them (they are standing still; Sentry moves fast, and Squash is a side project while Sentry is the core business of its developers) but maybe that feature can be extracted somehow? (Sentry has no plans for the same thing at the moment.)

Tgr assigned this task to Gilles.