From c3ee749fe415e44e67a2fc9d8293c5097fe1ac10 Mon Sep 17 00:00:00 2001 From: Cayo Puigdefabregas Date: Mon, 27 Jun 2022 11:42:16 +0200 Subject: [PATCH] add sentry to app --- examples/app.py | 22 ++++++++++++++++++++++ requirements.txt | 1 + 2 files changed, 23 insertions(+) diff --git a/examples/app.py b/examples/app.py index 5a7e9fbb..690ff9f9 100644 --- a/examples/app.py +++ b/examples/app.py @@ -3,7 +3,11 @@ Example app with minimal configuration. Use this as a starting point. """ +import sentry_sdk +from decouple import config from flask_wtf.csrf import CSRFProtect +from sentry_sdk.integrations.flask import FlaskIntegration +from werkzeug.contrib.profiler import ProfilerMiddleware from ereuse_devicehub.api.views import api from ereuse_devicehub.config import DevicehubConfig @@ -13,6 +17,20 @@ from ereuse_devicehub.labels.views import labels from ereuse_devicehub.views import core from ereuse_devicehub.workbench.views import workbench +SENTRY_DSN = config('SENTRY_DSN', None) +if SENTRY_DSN: + sentry_sdk.init( + dsn=SENTRY_DSN, + integrations=[ + FlaskIntegration(), + ], + # Set traces_sample_rate to 1.0 to capture 100% + # of transactions for performance monitoring. + # We recommend adjusting this value in production. + traces_sample_rate=1.0, + ) + + app = Devicehub(inventory=DevicehubConfig.DB_SCHEMA) app.register_blueprint(core) app.register_blueprint(devices) @@ -26,3 +44,7 @@ app.register_blueprint(workbench) csrf = CSRFProtect(app) # csrf.protect(core) # csrf.protect(devices) +app.config["SQLALCHEMY_RECORD_QUERIES"] = True +app.config['PROFILE'] = True +app.wsgi_app = ProfilerMiddleware(app.wsgi_app, restrictions=[30]) +app.run(debug=True) diff --git a/requirements.txt b/requirements.txt index a72507d0..aec82953 100644 --- a/requirements.txt +++ b/requirements.txt @@ -45,3 +45,4 @@ python-dotenv==0.14.0 pyjwt==2.4.0 pint==0.9 py-dmidecode==0.1.0 +sentry_sdk==1.6.0