首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Spring公开当前Websocket连接的度量标准

用Spring公开当前Websocket连接的度量标准
EN

Stack Overflow用户
提问于 2018-04-06 07:25:33
回答 3查看 5K关注 0票数 5

对于我的仪表板应用程序,我想使用内部Spring度量来监视基于Spring的应用程序。为此,我使用了spring-boot-actuator依赖项,它公开了许多内部度量标准。有很多基于HTTP的度量和Tomcat度量,比如当前会话、状态X的HTTP调用量等等。我找不到关于我的Websocket连接的任何信息。

是否有任何内置的标准公开工具用于当前的Websockets,还是我必须创建自己的度量标准(例如,使用Prometheus在Grafana中显示数据),并且必须手动注册,例如,当我收到SessionConnectEventSessionConnectEvent时更新的计数器

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-06 09:12:08

如果您在WebSocket上使用STOMP,Spring会从WebSocketMessageBrokerStats设置的关键基础结构组件聚合有关内部状态和计数器的信息,默认情况下这将每30秒记录一次。它是作为Spring创建的,可以很容易地自动处理。这是您将获得的信息的一个示例:

目前没有执行器端点,但我在春季WebSocket聊天示例中创建了它们:

票数 9
EN

Stack Overflow用户

发布于 2018-10-10 17:48:28

找到了很简单的方法。

如果您在WebSocket上使用STOMP,那么在控制器类中只需自动创建WebSocketMessageBrokerStats类并使用它的方法。

代码语言:javascript
复制
@Autowired
WebSocketMessageBrokerStats webSocketMessageBrokerStats;

System.out.println("Session Stats info " +webSocketMessageBrokerStats.getWebSocketSessionStatsInfo());

不需要创建任何单独的类。

有关更多信息,请阅读https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#websocket-stomp-stats

票数 5
EN

Stack Overflow用户

发布于 2021-06-24 11:03:52

还有一种方法。如果您想获得有关活动会话的更多详细信息,那么它将包含在SubProtocolWebSocketHandler中。这个bean处理活动会话,并有一个方法getStats。Stats对象具有以下方法:

代码语言:javascript
复制
        int getTotalSessions();

        int getWebSocketSessions();

        int getHttpStreamingSessions();

        int getHttpPollingSessions();

        int getLimitExceededSessions();

        int getNoMessagesReceivedSessions();

        int getTransportErrorSessions();

实际上,WebSocketMessageBrokerStats使用了#SubProtocolWebSocketHandler.getStatsInfo方法,它在Stats对象上调用toSting

因此,可能的代码如下所示:

代码语言:javascript
复制
  @Autowired
  private WebSocketHandler webSocketHandler;

  @GetMapping("/total")
  public int getTotalSessions() {
    return ((SubProtocolWebSocketHandler) webSocketHandler).getStats().getTotalSessions();
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49687540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档