|
- from eventlet.zipkin import http
- from eventlet.zipkin import wsgi
- from eventlet.zipkin import greenthread
- from eventlet.zipkin import log
- from eventlet.zipkin import api
- from eventlet.zipkin.client import ZipkinClient
-
-
- def enable_trace_patch(host='127.0.0.1', port=9410,
- trace_app_log=False, sampling_rate=1.0):
- """ Apply monkey patch to trace your WSGI application.
-
- :param host: Scribe daemon IP address (default: '127.0.0.1')
- :param port: Scribe daemon port (default: 9410)
- :param trace_app_log: A Boolean indicating if the tracer will trace
- application log together or not. This facility assume that
- your application uses python standard logging library.
- (default: False)
- :param sampling_rate: A Float value (0.0~1.0) that indicates
- the tracing frequency. If you specify 1.0, all request
- are traced (and sent to Zipkin collecotr).
- If you specify 0.1, only 1/10 requests are traced. (default: 1.0)
- """
- api.client = ZipkinClient(host, port)
-
- # monkey patch for adding tracing facility
- wsgi.patch(sampling_rate)
- http.patch()
- greenthread.patch()
-
- # monkey patch for capturing application log
- if trace_app_log:
- log.patch()
-
-
- def disable_trace_patch():
- http.unpatch()
- wsgi.unpatch()
- greenthread.unpatch()
- log.unpatch()
- api.client.close()
|