mirror of
https://github.com/camptocamp/odoo-cloud-platform.git
synced 2026-06-23 18:04:34 +00:00
54 lines
1.6 KiB
Python
54 lines
1.6 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from __future__ import absolute_import
|
|
|
|
import logging
|
|
import os
|
|
|
|
from distutils.util import strtobool
|
|
|
|
from openerp.tools.config import config
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
try:
|
|
from statsd import defaults
|
|
from statsd.client import StatsClient
|
|
except ImportError:
|
|
_logger.warning('statds must be installed')
|
|
defaults = None # noqa
|
|
StatsClient = None # noqa
|
|
|
|
|
|
def is_true(strval):
|
|
return bool(strtobool(strval or '0'.lower()))
|
|
|
|
|
|
statsd_active = is_true(os.environ.get('ODOO_STATSD'))
|
|
|
|
statsd = None
|
|
customer = None
|
|
environment = None
|
|
if statsd_active and statsd is None and StatsClient is not None:
|
|
if not os.environ.get('STATSD_CUSTOMER'):
|
|
raise Exception(
|
|
'STATSD_CUSTOMER must contain the name of the customer'
|
|
)
|
|
if os.environ.get('STATSD_ENVIRONMENT'):
|
|
environment = os.environ['STATSD_ENVIRONMENT']
|
|
elif config.get('running_env'):
|
|
environment = config['running_env']
|
|
else:
|
|
raise Exception(
|
|
'Either STATSD_ENVIRONMENT or configuration option running_env '
|
|
'must contain the environment (prod, integration, ...)'
|
|
)
|
|
|
|
host = os.getenv('STATSD_HOST', defaults.HOST)
|
|
port = int(os.getenv('STATSD_PORT', defaults.PORT))
|
|
prefix = os.getenv('STATSD_PREFIX', defaults.PREFIX)
|
|
maxudpsize = int(os.getenv('STATSD_MAXUDPSIZE', defaults.MAXUDPSIZE))
|
|
ipv6 = bool(int(os.getenv('STATSD_IPV6', defaults.IPV6)))
|
|
statsd = StatsClient(host=host, port=port, prefix='odoo',
|
|
maxudpsize=maxudpsize, ipv6=ipv6)
|