Sentry integration - AtlasOfLivingAustralia/documentation GitHub Wiki

sentry.io is a cross-platform monitoring application with a focus on error reporting. Can be used to catch and track client and server errors and send it to a sentry server instance. There you can analyze, merge similar issues, get stats, obtain client side info (browser, operating system), alerts, etc. 

sentry can be easily integrated with github to create or link to issues. But it has a lot of other integrations.

A typical summary of errors (in this case js errors):

sentry error list

And some js error (5 similar events in 3 users):

setry error

In the LA software ecosystem, can be used via a grails plugin for server side exceptions, and via a js sentry library in the ALA header/footer branding to catch client side js errors.   

Sentry server

A self-hosted sentry server can be easily deployed via: https://github.com/getsentry/self-hosted.

Grails integration

Just adding a grails plugin:

   compile 'org.grails.plugins:sentry:11.7.25'

sentry can be used optionally adding a DSN in the module properties configuration:

grails.plugin.sentry.dsn = https://[email protected]/1

This is typically used in production, so it's better to disable in dev and test environments so we don't report development errors to the sentry server.

environments:
    development:
        grails:
            plugin:
                sentry:
                    active: false
    test:
        grails:
            plugin:
                sentry:
                    active: false

Anyway, the use of sentry is optional, so if grails.plugin.sentry.dsn is not configured by a LA portal, sentry it's not used.

header/footer branding integration

Other integrations

Maybe, we can integrate also sentry in java projects like pipelines via:

this way we can easily catch data management errors and issues.