mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-17 23:13:00 +00:00
Merge pull request #549 from minrk/optional-statsd
Make statsd an optional dependency
This commit is contained in:
@@ -12,7 +12,6 @@ import signal
|
||||
import socket
|
||||
import sys
|
||||
import threading
|
||||
import statsd
|
||||
from datetime import datetime
|
||||
from distutils.version import LooseVersion as V
|
||||
from getpass import getuser
|
||||
@@ -507,22 +506,21 @@ class JupyterHub(Application):
|
||||
Instance(logging.Handler),
|
||||
help="Extra log handlers to set on JupyterHub logger",
|
||||
).tag(config=True)
|
||||
|
||||
@property
|
||||
def statsd(self):
|
||||
if hasattr(self, '_statsd'):
|
||||
return self._statsd
|
||||
|
||||
statsd = Any(allow_none=False, help="The statsd client, if any. A mock will be used if we aren't using statsd")
|
||||
@default('statsd')
|
||||
def _statsd(self):
|
||||
if self.statsd_host:
|
||||
self._statsd = statsd.StatsClient(
|
||||
import statsd
|
||||
client = statsd.StatsClient(
|
||||
self.statsd_host,
|
||||
self.statsd_port,
|
||||
self.statsd_prefix
|
||||
)
|
||||
return self._statsd
|
||||
return client
|
||||
else:
|
||||
# return an empty mock object!
|
||||
self._statsd = EmptyClass()
|
||||
return self._statsd
|
||||
return EmptyClass()
|
||||
|
||||
def init_logging(self):
|
||||
# This prevents double log messages because tornado use a root logger that
|
||||
|
@@ -2,6 +2,5 @@ traitlets>=4.1
|
||||
tornado>=4.1
|
||||
jinja2
|
||||
pamela
|
||||
statsd
|
||||
sqlalchemy>=1.0
|
||||
requests
|
||||
|
Reference in New Issue
Block a user