示例#1
0
        def _try_on_message(self, *args):
            try:
                SERVER_FREE_WORKERS.labels(servicer.name(), 'rabbitmq').dec()
                SERVER_IN_PROGRESS.labels(servicer.name(), 'rabbitmq').inc()
                self._in_progress += 1

                self._on_message(*args)
            except:
                logging.exception(
                    "Unrecoverable exception while handling message")
            finally:
                SERVER_FREE_WORKERS.labels(servicer.name(), 'rabbitmq').inc()
                SERVER_IN_PROGRESS.labels(servicer.name(), 'rabbitmq').dec()
                self._in_progress -= 1
示例#2
0
 def setup_context(request, context):
     task_context = GrpcTaskContext(context)
     servicer.set_current_context(task_context)
     start_time = time.time()
     SERVER_FREE_WORKERS.labels(servicer.name(), 'grpc').dec()
     SERVER_IN_PROGRESS.labels(servicer.name(), 'grpc').inc()
     try:
         response = handler.unary_unary(request, context)
         response_metadata = task_context.response_metadata()
         if response_metadata:
             context.set_trailing_metadata(response_metadata)
     finally:
         servicer.set_current_context(None)
         SERVER_FREE_WORKERS.labels(servicer.name(), 'grpc').inc()
         SERVER_IN_PROGRESS.labels(servicer.name(), 'grpc').dec()
         elapsed = time.time() - start_time
         SERVER_LATENCY.labels(servicer.name(),
                               handler_call_details.method,
                               'grpc').observe(elapsed)
     return response
示例#3
0
def _before_request(request):
    state = headers.get_state(request.headers)
    trace_info = headers.get_trace_info(request.headers)
    servicer.set_current_context(SanicTaskContext(state, trace_info))
    SERVER_FREE_WORKERS.labels(servicer.name(), 'sanic').dec()
    SERVER_IN_PROGRESS.labels(servicer.name(), 'sanic').inc()
示例#4
0
def _after_request(request, response):
    SERVER_FREE_WORKERS.labels(servicer.name(), 'sanic').inc()
    SERVER_IN_PROGRESS.labels(servicer.name(), 'sanic').dec()
示例#5
0
def _after_exception(sender, exception, **extra):
    SERVER_FREE_WORKERS.labels(servicer.name(), 'flask').inc()
    SERVER_IN_PROGRESS.labels(servicer.name(), 'flask').dec()
示例#6
0
def _after_request(sender, response, **extra):
    SERVER_FREE_WORKERS.labels(servicer.name(), 'flask').inc()
    SERVER_IN_PROGRESS.labels(servicer.name(), 'flask').dec()
示例#7
0
 def process_exception(self, request, exception):
     if getattr(request, 'counted_request', False):
         SERVER_FREE_WORKERS.labels(servicer.name(), 'django').inc()
         SERVER_IN_PROGRESS.labels(servicer.name(), 'django').dec()
         request.counted_request = False
示例#8
0
 def process_request(self, request):
     SERVER_FREE_WORKERS.labels(servicer.name(), 'django').dec()
     SERVER_IN_PROGRESS.labels(servicer.name(), 'django').inc()
     request.counted_request = True
     servicer.set_current_context(DjangoTaskContext())