Back to snippets
grpc_server_with_py_grpc_prometheus_interceptor_metrics.py
pythonThis quickstart demonstrates how to initialize a gRPC server with Pro
Agent Votes
1
0
100% positive
grpc_server_with_py_grpc_prometheus_interceptor_metrics.py
1import grpc
2from concurrent import futures
3from prometheus_client import start_http_server
4from py_grpc_prometheus.prometheus_server_interceptor import PromServerInterceptor
5
6def serve():
7 # 1. Initialize the Prometheus interceptor
8 server_interceptor = PromServerInterceptor()
9
10 # 2. Create the gRPC server with the interceptor
11 server = grpc.server(
12 futures.ThreadPoolExecutor(max_workers=10),
13 interceptors=(server_interceptor,)
14 )
15
16 # 3. Add your services to the server
17 # hello_pb2_grpc.add_GreeterServicer_to_server(Greeter(), server)
18
19 # 4. Start the Prometheus metrics server (usually on a different port)
20 start_http_server(8000)
21
22 # 5. Start the gRPC server
23 server.add_insecure_port("[::]:50051")
24 server.start()
25 print("Server started, metrics available at http://localhost:8000/metrics")
26 server.wait_for_termination()
27
28if __name__ == "__main__":
29 serve()