Java 使用Spring公开有关当前Websocket连接的指标
对于我的仪表板应用程序,我希望使用内部Spring指标监控基于Spring引导的应用程序。因此,我使用了Java 使用Spring公开有关当前Websocket连接的指标,java,spring,spring-boot,metrics,spring-websocket,Java,Spring,Spring Boot,Metrics,Spring Websocket,对于我的仪表板应用程序,我希望使用内部Spring指标监控基于Spring引导的应用程序。因此,我使用了spring boot actuator依赖项,它公开了许多内部指标。有很多基于HTTP的指标和Tomcat指标,比如当前会话、状态X的HTTP调用量等等。我找不到任何关于我的Websocket连接的信息 是否有任何内置的开箱即用的度量公开工具用于使用Spring的当前WebSocket,或者我是否必须创建自己的度量(例如,使用Prometheus在Grafana中显示数据)例如,必须手动注册
spring boot actuator
依赖项,它公开了许多内部指标。有很多基于HTTP的指标和Tomcat指标,比如当前会话、状态X的HTTP调用量等等。我找不到任何关于我的Websocket连接的信息
是否有任何内置的开箱即用的度量公开工具用于使用Spring的当前WebSocket,或者我是否必须创建自己的度量(例如,使用Prometheus在Grafana中显示数据)例如,必须手动注册一个计数器,当我收到SessionConnectEvent
或SessionConnectEvent
时,计数器会更新
提前谢谢 如果您使用的是STOMP over WebSocket,Spring会从
WebSocketMessageBrokerStats
中设置的关键基础结构组件中聚合有关内部状态和计数器的信息,默认情况下,这是每30秒记录一次的。它被创建为SpringBean,可以很容易地自动连接。以下是您将获得的信息示例:
目前没有执行器端点,但我已将其作为示例的一部分创建:
- :公开WebSocket跟踪
- :公开WebSocket消息映射
- :公开WebSocketMessageBrokerStats
- 找到了一个非常简单的方法
如果您使用的是STOMP over WebSocket,那么在控制器类中,只需自动连接WebSocketMessageBrokerStats类并使用其方法即可
@Autowired
WebSocketMessageBrokerStats webSocketMessageBrokerStats;
System.out.println("Session Stats info " +webSocketMessageBrokerStats.getWebSocketSessionStatsInfo());
不需要创建任何单独的类
阅读了解更多信息