Memory 如何监控gRPC服务器?

Memory 如何监控gRPC服务器?,memory,monitoring,grpc,Memory,Monitoring,Grpc,gRPC服务器是否为每个传入请求跨单独的线程 我认为,普罗米修斯有助于监控进出流量。但是,如何监控gRPC服务器,如线程(空闲/活动)、内存使用(堆)、IO、会话等 最后,关于gRPC服务器内部的任何文档都会有所帮助。默认情况下,服务器使用缓存线程池,但我们可以在构建服务器实例时提供另一个线程池 ServerBuilder<?> builder = ServerBuilder.forPort(port) .executor(Executors.newFixedThreadPo

gRPC服务器是否为每个传入请求跨单独的线程

我认为,普罗米修斯有助于监控进出流量。但是,如何监控gRPC服务器,如线程(空闲/活动)、内存使用(堆)、IO、会话等


最后,关于gRPC服务器内部的任何文档都会有所帮助。

默认情况下,服务器使用缓存线程池,但我们可以在构建服务器实例时提供另一个线程池

ServerBuilder<?> builder = ServerBuilder.forPort(port)
    .executor(Executors.newFixedThreadPool(10))
    // ...
;
ServerBuilder=ServerBuilder.forPort(端口)
.executor(Executors.newFixedThreadPool(10))
// ...
;
从javadoc“executor”方法:

/***提供自定义执行器。它是可选的 参数如果用户在服务器运行时未提供执行器 构建时,构建器将使用静态缓存线程池。服务器不会获得给定执行器的所有权。它是 调用方的责任是在执行人 渴望的
返回此文件
@自1.0.0以来
公开摘要T执行人(@Nullable executor executor)


您可以为您的池提供一些名称&尝试使用VisualVM监视活动默认情况下,服务器使用缓存线程池,但我们可以在构建服务器实例时提供另一个名称

ServerBuilder<?> builder = ServerBuilder.forPort(port)
    .executor(Executors.newFixedThreadPool(10))
    // ...
;
ServerBuilder=ServerBuilder.forPort(端口)
.executor(Executors.newFixedThreadPool(10))
// ...
;
从javadoc“executor”方法:

/***提供自定义执行器。它是可选的 参数如果用户在服务器运行时未提供执行器 构建时,构建器将使用静态缓存线程池。服务器不会获得给定执行器的所有权。它是 调用方的责任是在执行人 渴望的
返回此文件
@自1.0.0以来
公开摘要T执行人(@Nullable executor executor)


您可以为您的池提供一些名称,并尝试使用VisualVM监控活动

哪种语言?gRPC试图在每种语言中都是惯用的,所以不同的语言表现不同。对Java感兴趣。哪种语言?gRPC试图在每种语言中都是惯用的,所以不同的语言表现不同。对Java感兴趣。