无法在 Promutheus 中使用 Summary 的 time() 包装器
Failed to use time() wrapper of Summary in Promutheus
我在使用 Summary.time()
装饰器时遇到错误。
REQUEST_TIMER = Summary('aes_request_processing_timer', 'Time spent processing requests', ['time'])
class HallyServiceHandler(hally_service_pb2_grpc.HallyServicer):
def __init__(self):
super(HallyServiceHandler, self).__init__()
return
@REQUEST_TIMER.time()
def ProcessStas(self, request, context):
return hally_service_pb2.StasResponse()
当我启动服务器时
server = grpc.server(futures.ThreadPoolExecutor(max_workers=100))
health_pb2_grpc.add_HealthServicer_to_server(health_handler.Health(), server)
hally_service_pb2_grpc.add_HallyServicer_to_server(
hally_service_handler.HallyServiceHandler(), server
)
server.add_insecure_port('[::]:8080')
server.start()
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
我未能启动服务器。
@REQUEST_TIMER.time()
AttributeError: '_LabelWrapper' object has no attribute 'time'
用法与Docs类似。
环境
- python 3.6.0
- prometheus_client: 0.3.1
REQUEST_TIMER
有一个您没有提供的标签 time
。由于您实际上并不需要该标签,因此请从您的指标定义中删除 , ['time']
。
你还应该提到这样的度量单位,timer
是多余的,所以:
REQUEST_TIMER = Summary('aes_request_processing_duration_seconds', 'Time spent processing requests')
我在使用 Summary.time()
装饰器时遇到错误。
REQUEST_TIMER = Summary('aes_request_processing_timer', 'Time spent processing requests', ['time'])
class HallyServiceHandler(hally_service_pb2_grpc.HallyServicer):
def __init__(self):
super(HallyServiceHandler, self).__init__()
return
@REQUEST_TIMER.time()
def ProcessStas(self, request, context):
return hally_service_pb2.StasResponse()
当我启动服务器时
server = grpc.server(futures.ThreadPoolExecutor(max_workers=100))
health_pb2_grpc.add_HealthServicer_to_server(health_handler.Health(), server)
hally_service_pb2_grpc.add_HallyServicer_to_server(
hally_service_handler.HallyServiceHandler(), server
)
server.add_insecure_port('[::]:8080')
server.start()
try:
while True:
time.sleep(_ONE_DAY_IN_SECONDS)
except KeyboardInterrupt:
server.stop(0)
我未能启动服务器。
@REQUEST_TIMER.time()
AttributeError: '_LabelWrapper' object has no attribute 'time'
用法与Docs类似。
环境
- python 3.6.0
- prometheus_client: 0.3.1
REQUEST_TIMER
有一个您没有提供的标签 time
。由于您实际上并不需要该标签,因此请从您的指标定义中删除 , ['time']
。
你还应该提到这样的度量单位,timer
是多余的,所以:
REQUEST_TIMER = Summary('aes_request_processing_duration_seconds', 'Time spent processing requests')