python-grpc-prometheus拦截器

py-grpc-prometheus的Python项目详细描述


PY GRPC普罗米修斯

提供普罗米修斯度量的仪器库类似于:

状态

目前,该库具有与java和go库的奇偶性度量。

服务器端:

  • grpc_server_started_total
  • GRPC U SERVER U HANDED U总计
  • GRPC U服务器处理的延迟时间秒
  • grpc_server_msg_received_total
  • GRPC U SERVER U MSG U SENT U总计

客户端:

  • GRPC_客户端_已启动总计
  • GRPC_客户端已完成
  • grpc_client_completed_latency_秒
  • grpc_client_msg_sent_total
  • GRPC_客户端_消息_已收到总计

如何使用

pip install py-grpc-prometheus

客户端:

客户端度量监控是通过截取gprc通道来完成的。

importgrpcfrompy_grpc_prometheus.prometheus_client_interceptorimportPromClientInterceptorchannel=grpc.intercept_channel(grpc.insecure_channel('server:6565'),PromClientInterceptor())# Start an end point to expose metrics.start_http_server(metrics_port)

服务器端:

当grpc服务器启动时,通过添加拦截器来公开服务器度量。看一看 tests/integration/hello_world/hello_world_client.py获取完整示例。

importgrpcfromconcurrentimportfuturesfrompy_grpc_prometheus.prometheus_server_interceptorimportPromServerInterceptorfromprometheus_clientimportstart_http_server

用拦截器启动grpc服务器,看看 tests/integration/hello_world/hello_world_server.py获取完整示例。

server=grpc.server(futures.ThreadPoolExecutor(max_workers=10),interceptors=(PromServerInterceptor(),))# Start an end point to expose metrics.start_http_server(metrics_port)

如何运行和测试

  1. 运行测试服务器
python -m tests.integration.hello_world.hello_world_sever
  1. 运行测试客户端
python -m tests.integration.hello_world.hello_world_client
  1. 打开http://localhost:50052获取服务器端指标
  2. 打开http://localhost:50053获取客户端指标

待办事项:

参考

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java列排序不会忽略大写字母   JFrame中的JavaFX菜单   java My Freemarker无法将对象传递给模板   java SOAP API客户端请求创建问题addChildElement(org.w3c.dom.domeException:NAMESPACE\u ERR)   java双精度值不能转换为布尔值   java如何在JBOSS EAP 6.3中在一个安全域中配置多个登录模块?   datetime如何使用Java ZoneId。systemDefault()如果我的计算机未连接到Internet,是否知道时区?   java PlayFramework应用ClassLoader的演变   java正在向JPanel添加元素,但它们没有显示   java如何使异步侦听器执行阻塞?   json如何让JAXRS将Java8LocalDateTime属性作为JavaScriptstyle日期字符串返回?   java我可以构建一个ApacheAnt任务并在同一步中执行它吗?   java如何使用用户输入的字符串编码到程序中,并确保其中包含小数?   使用ArrayList的java ArrayAdapter   java Hibernate 5。x迁移建议脚本   使用wait()和notify()的java控制线程   SpringMVC在Java中通过jsp显示列表的问题   java如何设置Jsoup读取的数据编码?   java 安卓 AlertDialog显示两次