Page MenuHomePhabricator

Deploy Sentry (JavaScript error logging) to production, configured to log only a limited subset of users/pages
Closed, DeclinedPublic

Description

Noticing, tracking and debugging errors should be easy. Wikimedia developers and users should be able to easily notice new errors (possibly only a subset of them that they are interested in), find out details, and share with others. At the same time security and privacy standards should be enforced.

Sentry is the most popular open-source software for error logging and aggregation; we should use it to (initially) collect errors from logged-in users (maybe leaving out the largest wikis, if the high traffic is problematic - those wikis are usually better at noticing problems quickly anyway) and/or errors on some specific pages with smaller traffic and more problematic history (e.g. Special:UploadWizard).

Related Objects

StatusSubtypeAssignedTask
DeclinedNone
ResolvedTgr
Resolved Gilles
OpenNone
DeclinedNone
DeclinedTgr
ResolvedTgr
ResolvedTgr
Resolved csteipp
ResolvedTgr
ResolvedTgr
ResolvedAklapper
ResolvedTgr
ResolvedTgr
Resolved jlinehan
ResolvedTgr
DeclinedTgr
DeclinedTgr
DeclinedTgr
ResolvedTgr
DeclinedTgr
ResolvedTgr
ResolvedTgr
ResolvedKrinkle
DeclinedNone
OpenNone
ResolvedTgr
DeclinedNone
DeclinedNone
InvalidNone
DeclinedTgr
ResolvedTgr
Resolvedjcrespo
ResolvedTgr

Event Timeline

Gilles assigned this task to Tgr.
Gilles raised the priority of this task from to High.
Gilles updated the task description. (Show Details)
Gilles added subscribers: Gilles, Tgr.
Eloquence renamed this task from Deploy Sentry to production, configured to log only UploadWizard to Deploy Sentry (JavaScript error logging) to production, configured to log only UploadWizard.Mar 5 2015, 9:02 PM
Eloquence set Security to None.

Do we have a "week of" ETA for this yet?

Poke -- is this happening next week, or do we need to bump it to April?

Poke -- is this happening next week, or do we need to bump it to April?

Sorry for being unresponsive! To a large extent this is blocked on review so it's hard for me to predict an exact date. It's definitely not happening next week though.

Javascript error logging (but not Sentry) has been deployed; the part of this project that's a dependency for UploadWizard work is tracked under T94428.

Tgr lowered the priority of this task from High to Medium.Jul 24 2015, 11:29 PM
Tgr renamed this task from Deploy Sentry (JavaScript error logging) to production, configured to log only UploadWizard to Deploy Sentry (JavaScript error logging) to production, configured to log only a limited subset of users/pages.Feb 5 2017, 8:58 AM
Tgr added a project: Developer-Wishlist (2017).
Tgr updated the task description. (Show Details)
Tgr moved this task from To Be Triaged to Backend on the Developer-Wishlist (2017) board.

Sentry is no longer open source (by the definition of OSI and by the admission of upstream as well). More at https://forum.sentry.io/t/re-licensing-sentry-faq-dAiscussion/8044.

Should we re-purpose this for the generic work not using Sentry itself, then?

Sentry is no longer open source (by the definition of OSI and by the admission of upstream as well). More at https://forum.sentry.io/t/re-licensing-sentry-faq-dAiscussion/8044.

To be more exact, Sentry is now business source, ie. eventually opensource with a non-compete restriction. (The code can be used in any way, except it cannot be used to offer paid error monitoring services; and it becomes proper Apache-2.0 three years after being published.) That is of course a no-go for any code that needs to be integrated with MediaWiki (using it would probably violate both the Sentry license and the GPL); using the Sentry server as a self-contained service should IMO still be considered. The license meets all the conditions for which we care about open source, and it's a reasonable balance between the spirit of open source (far closer to it than open core, which we do use) and not letting large commercial entities cannibalize your project. But of course that's a far larger discussion that would have to involve WMF Legal and TechCom at the minimum.

In any case, this task does not reflect reality, which is that (for unrelated reasons, mainly the technical complexity of running Sentry) we will deploy error logging based on our event logging stack. That is being tracked in T217142: [Proposal] Use the Kafka-Logstash logging infrastructure to log client-side errors.

In T91649#5700798, @Tgr wrote:

Sentry is no longer open source (by the definition of OSI and by the admission of upstream as well). More at https://forum.sentry.io/t/re-licensing-sentry-faq-dAiscussion/8044.

To be more exact, Sentry is now business source, ie. eventually opensource with a non-compete restriction. (The code can be used in any way, except it cannot be used to offer paid error monitoring services; and it becomes proper Apache-2.0 three years after being published.) That is of course a no-go for any code that needs to be integrated with MediaWiki (using it would probably violate both the Sentry license and the GPL); using the Sentry server as a self-contained service should IMO still be considered. The license meets all the conditions for which we care about open source, and it's a reasonable balance between the spirit of open source (far closer to it than open core, which we do use) and not letting large commercial entities cannibalize your project. But of course that's a far larger discussion that would have to involve WMF Legal and TechCom at the minimum.

Indeed. There's a huge discussion around this trend in licensing and counter arguments (and counter-counter arguments and so on) to the above, but I too see little value in having this discussion in this task.

In any case, this task does not reflect reality, which is that (for unrelated reasons, mainly the technical complexity of running Sentry) we will deploy error logging based on our event logging stack. That is being tracked in T217142: [Proposal] Use the Kafka-Logstash logging infrastructure to log client-side errors.

I 'll resolve this as Declined per the above, feel free to reopen/change status.

@akosiaris @Tgr As I can see Sentry extension is still deployed in production (present in extension-list file, plus wmgUseSentry is present in CommonSettings.php, but enabled nowhere in InitialiseSettings.php), perhaps it should be cleaned if it'll never be deployed?

Yeah, it should be cleaned up.

Change 593346 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/tools/release@master] Stop branching the Sentry extension for Wikimedia production

https://gerrit.wikimedia.org/r/593346

Change 593347 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[operations/mediawiki-config@master] Drop Sentry, Part I: Stop loading it anywhere

https://gerrit.wikimedia.org/r/593347

Change 593348 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[operations/mediawiki-config@master] Drop Sentry, Part II: Stop configuring it for Beta Cluster

https://gerrit.wikimedia.org/r/593348

Change 593349 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[operations/mediawiki-config@master] Drop Sentry, Part III: Drop from i18n build step

https://gerrit.wikimedia.org/r/593349

Change 593347 merged by jenkins-bot:
[operations/mediawiki-config@master] Drop Sentry, Part I: Stop loading it anywhere

https://gerrit.wikimedia.org/r/593347

Mentioned in SAL (#wikimedia-operations) [2020-04-29T23:51:43Z] <jforrester@deploy1001> Synchronized wmf-config/CommonSettings.php: T91649 Drop Sentry, Part I: Stop loading it anywhere (duration: 01m 05s)

Change 593348 merged by jenkins-bot:
[operations/mediawiki-config@master] Drop Sentry, Part II: Stop configuring it for Beta Cluster

https://gerrit.wikimedia.org/r/593348

Change 593355 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] layout: [mediawiki/extensions/Sentry] Move out of deployed section

https://gerrit.wikimedia.org/r/593355

Mentioned in SAL (#wikimedia-operations) [2020-04-29T23:55:58Z] <jforrester@deploy1001> Synchronized wmf-config/InitialiseSettings.php: T91649 Drop Sentry, Part II: Stop configuring it for production or Beta Cluster (duration: 01m 05s)

Change 593349 merged by jenkins-bot:
[operations/mediawiki-config@master] Drop Sentry, Part III: Drop from i18n build step

https://gerrit.wikimedia.org/r/593349

Change 593355 merged by jenkins-bot:
[integration/config@master] layout: [mediawiki/extensions/Sentry] Move out of deployed section

https://gerrit.wikimedia.org/r/593355

Mentioned in SAL (#wikimedia-releng) [2020-04-29T23:59:04Z] <James_F> Zuul: [mediawiki/extensions/Sentry] Move out of deployed section T91649

In T91649#6095433, @Tgr wrote:

Yeah, it should be cleaned up.

Done.

Change 593346 merged by jenkins-bot:
[mediawiki/tools/release@master] Stop branching the Sentry extension for Wikimedia production

https://gerrit.wikimedia.org/r/593346