Example #1
0
def setup():
    global sentry
    sentry = Sentry(getattr(infogami.config, 'sentry', {}))

    if sentry.enabled:
        sentry.init()
        delegate.add_exception_hook(lambda: sentry.capture_exception_webpy())
Example #2
0
def setup():
    logger.info("Setting up sentry (enabled={})".format(is_enabled()))

    if not is_enabled():
        return

    sentry_sdk.init(dsn=infogami.config.sentry.dsn,
                    environment=infogami.config.sentry.environment)
    delegate.add_exception_hook(lambda: sentry_sdk.capture_exception())
Example #3
0
def setup():
    """
    This function is called from the main application startup
    routine to set things up.
    """

    # Initialise the stats filters
    register_filter("all", stats_filters.all)
    register_filter("url", stats_filters.url)
    register_filter("loggedin", stats_filters.loggedin)
    register_filter("not_loggedin", stats_filters.not_loggedin)

    delegate.app.add_processor(web.loadhook(page_load_hook))
    delegate.app.add_processor(web.unloadhook(page_unload_hook))
    delegate.add_exception_hook(lambda: increment_error_count('ol.exceptions'))
Example #4
0
    return name

def internalerror():
    i = web.input(_method='GET', debug='false')
    name = save_error()
    
    openlibrary.core.stats.increment('ol.internal-errors', 1)

    if i.debug.lower() == 'true':
        raise web.debugerror()
    else:
        msg = render.site(render.internalerror(name))
        raise web.internalerror(web.safestr(msg))
    
delegate.app.internalerror = internalerror
delegate.add_exception_hook(save_error)

class memory(delegate.page):
    path = "/debug/memory"

    def GET(self):
        import guppy
        h = guppy.hpy()
        return delegate.RawText(str(h.heap()))

class backdoor(delegate.page):
    path = "/debug/backdoor"
    
    def GET(self):
        import backdoor
        reload(backdoor)
Example #5
0
    openlibrary.core.stats.increment('ol.internal-errors')
    increment_error_count('ol.internal-errors-segmented')

    # TODO: move this to plugins\openlibrary\sentry.py
    from openlibrary.plugins.openlibrary.sentry import sentry
    if sentry.enabled:
        sentry.capture_exception_webpy()

    if i.debug.lower() == 'true':
        raise web.debugerror()
    else:
        msg = render.site(render.internalerror(name))
        raise web.internalerror(web.safestr(msg))

delegate.app.internalerror = internalerror
delegate.add_exception_hook(save_error)


class memory(delegate.page):
    path = '/debug/memory'

    def GET(self):
        import guppy
        h = guppy.hpy()
        return delegate.RawText(str(h.heap()))

def _get_relatedcarousels_component(workid):
    if 'env' not in web.ctx:
        delegate.fakeload()
    work = web.ctx.site.get('/works/%s' % workid) or {}
    component = render_template('books/RelatedWorksCarousel', work)