mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-12 20:43:02 +00:00
Added additional statsd info for the spawner
spawner.failure coutner collects the number of failures for various reasons: spawner.stop timer for seeing how long it takes a user server to stop
This commit is contained in:
@@ -545,6 +545,7 @@ class BaseHandler(RequestHandler):
|
|||||||
spawner._stop_pending = False
|
spawner._stop_pending = False
|
||||||
toc = IOLoop.current().time()
|
toc = IOLoop.current().time()
|
||||||
self.log.info("User %s server took %.3f seconds to stop", user.name, toc - tic)
|
self.log.info("User %s server took %.3f seconds to stop", user.name, toc - tic)
|
||||||
|
self.statsd.timing('spawner.stop', (toc - tic) * 1000)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
yield gen.with_timeout(timedelta(seconds=self.slow_stop_timeout), stop())
|
yield gen.with_timeout(timedelta(seconds=self.slow_stop_timeout), stop())
|
||||||
|
@@ -421,10 +421,12 @@ class User(HasTraits):
|
|||||||
user=self.name, s=spawner.start_timeout,
|
user=self.name, s=spawner.start_timeout,
|
||||||
))
|
))
|
||||||
e.reason = 'timeout'
|
e.reason = 'timeout'
|
||||||
|
self.settings['statsd'].incr('spawner.failure.timeout')
|
||||||
else:
|
else:
|
||||||
self.log.error("Unhandled error starting {user}'s server: {error}".format(
|
self.log.error("Unhandled error starting {user}'s server: {error}".format(
|
||||||
user=self.name, error=e,
|
user=self.name, error=e,
|
||||||
))
|
))
|
||||||
|
self.settings['statsd'].incr('spawner.failure.error')
|
||||||
e.reason = 'error'
|
e.reason = 'error'
|
||||||
try:
|
try:
|
||||||
yield self.stop()
|
yield self.stop()
|
||||||
@@ -457,11 +459,13 @@ class User(HasTraits):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
e.reason = 'timeout'
|
e.reason = 'timeout'
|
||||||
|
self.settings['statsd'].incr('spawner.failure.http_timeout')
|
||||||
else:
|
else:
|
||||||
e.reason = 'error'
|
e.reason = 'error'
|
||||||
self.log.error("Unhandled error waiting for {user}'s server to show up at {url}: {error}".format(
|
self.log.error("Unhandled error waiting for {user}'s server to show up at {url}: {error}".format(
|
||||||
user=self.name, url=server.url, error=e,
|
user=self.name, url=server.url, error=e,
|
||||||
))
|
))
|
||||||
|
self.settings['statsd'].incr('spawner.failure.http_error')
|
||||||
try:
|
try:
|
||||||
yield self.stop()
|
yield self.stop()
|
||||||
except Exception:
|
except Exception:
|
||||||
|
Reference in New Issue
Block a user