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中的条目   java在请求范围中存储和检索值   java Android:您能否使用AlertDialog清除数据,以便在启动电子邮件活动后数据不会损坏?   用户和角色的javajpa设计   java为什么mybatis更新和删除不起作用?   在使用swingx jxtreetable进行测试时,java Fest的速度会减慢   如何使用ApachePOI4.0XDDFChartData、XDDFBarChartData生成堆叠条形图;在使用java的excel工作表中,我不想使用jfree   oauth Java执行oAuth1。0具有给定consumerKey、ConsumerCret、accessToken、accessTokenSecret和realm的已验证请求   java TTS OuttanceProgressListener无法正常工作   java if条件在不同的环境中返回不同的值   java Spring Boot应用程序的嵌入式HTTP服务器在哪里?   基于SSL的java SOAP客户端:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径   java StringBuilder()与StringBuilder(空)与StringBuilder(“”)