当前位置: 首页 > 知识库问答 >
问题:

PrometheusMeterRegistry在刮取函数调用时卡住

哈襦宗
2023-03-14

Im在配置PrometheusMeterRegistry以从Geode集群获取度量时遇到问题。配置完endpoint之后,如果我运行curl命令来检查所配置的endpoint上的度量是否可用,http请求处理程序将卡在刮取函数上:


    public void start(MetricsSession session) {
        this.session = session;
        registry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
        this.session.addSubregistry(registry);

        InetSocketAddress address = new InetSocketAddress(9000);
        httpServer = null;
        try {
            httpServer = HttpServer.create(address, 0);
        } catch (IOException e) {
            e.printStackTrace();
        }
        HttpContext context = httpServer.createContext("/metrics");
        context.setHandler(this::requestHandler);
        httpServer.start();
    }

    private void requestHandler(HttpExchange httpExchange) throws IOException {
        final byte[] scrapeBytes = registry.scrape().getBytes();
        httpExchange.sendResponseHeaders(200, scrapeBytes.length);
        final OutputStream responseBody = httpExchange.getResponseBody();
        responseBody.write(scrapeBytes);
        responseBody.close();
    }

如您所见,此代码主要与https://micrometer.io/docs/registry/Prometheus中配置Prometheus注册表的示例相同

但是如果我执行curl http://localhost:9000/metrics/,我没有得到任何答案。我检查了问题来自registry.scrape()调用,它会卡住。

有什么线索可以说明问题是什么吗?多谢了。

共有1个答案

洪胤
2023-03-14

问题解决了。不确定原因,但在将我的代码的依赖项打包在同一个jar中(而不是将所有jar添加到classpath中)后,我终于从端点得到了答案。

 类似资料:
  • 问题内容: 我想使用串行com端口进行通信,并且每次调用read函数调用时都想实现超时。 编辑: 我正在使用Linux OS。如何使用选择函数调用实现? 问题答案: select()有5个参数,首先是最高的文件描述符+ 1,然后是fd_set用于读取,一个用于写入,一个用于异常。最后一个参数是struct timeval,用于超时。错误时返回-1,超时时返回0或设置的集合中文件描述符的数量。

  • 我试图抓取亚马逊的一些产品,但是当程序抓取的时候卡住了。这是代码: 这是输出: 正如你所看到的,当它到达产品编号12时,它卡在那里,但是,它没有发送任何错误信息或任何东西。我不知道该怎么办,我需要帮助。谢了。

  • 本文向大家介绍Android刮刮卡效果实现代码,包括了Android刮刮卡效果实现代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android刮刮卡效果,供大家参考,具体内容如下 android实现底层一张图片,上层一个遮罩层,触摸滑动按手指滑动路径实现去除遮罩效果,类似于抽奖的刮刮卡一样,不多说先上张效果图: 直接上代码: XfermodeView.java  Xfermod

  • 本文向大家介绍2种jQuery 实现刮刮卡效果,包括了2种jQuery 实现刮刮卡效果的使用技巧和注意事项,需要的朋友参考一下 其中拖拽刮涂层效果使用jquery UI的draggable方法 以下是源代码: 这里给大家分享的是十分常用的刮奖的特效代码,希望小伙伴们能够喜欢。

  • 本文向大家介绍简单实现Android刮刮卡效果,包括了简单实现Android刮刮卡效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android仿刮刮卡效果展示的具体代码,供大家参考,具体内容如下 一、Xfermode 通过使用Xfermode将绘制的图形的像素和Canvas上对应位置的像素按照一定的规则进行混合,形成新的像素,再更新到Canvas中形成最终的图形,使用的时候都是

  • 问题内容: 我正在Python中调用一个函数,该函数可能会停滞并迫使我重新启动脚本。 如何调用该函数或将其包装在其中,以便如果花费的时间超过5秒,脚本将取消该函数并执行其他操作? 问题答案: 如果在上运行,则可以使用信号包: 调用后10秒钟,将调用处理程序。这引发了一个异常,你可以从常规Python代码中拦截该异常。 该模块不能很好地与线程配合使用(但是,谁可以呢?) 请注意,由于发生超时时会引发