Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 23 additions & 3 deletions driftbase/flask/driftbaseapp.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,35 @@
Flask app with gevent monkey patching.
"""
from gevent import monkey
from typing import Union

monkey.patch_all()
from psycogreen.gevent import patch_psycopg

patch_psycopg()

import os

if os.environ.get('ENABLE_DATADOG_APM', '0') == '1':
import ddtrace
ddtrace.patch_all(logging=True)

def as_bool(value: Union[str, bool, None]) -> bool:
if value is None:
return False

if isinstance(value, bool):
return value

return value.lower() in ('true', '1')


if as_bool(os.environ.get('ENABLE_DATADOG_PROFILING', False)):
# importing this is all that's needed
import ddtrace.profiling.auto # noqa: F401

if as_bool(os.environ.get('ENABLE_DATADOG_APM', False)):
from ddtrace import patch_all

patch_all(logging=True)

from drift.flaskfactory import drift_app

app = drift_app()