使用Apache HttpComponents HttpClient测量带宽使用情况

柯格曼

如何衡量我的应用程序的HttpClients带宽使用情况?(HttpComponents 4.3)

我有一个使用HttpClient与服务器通信的客户端应用程序。所有请求均使用池http连接管理器通过同一客户端完成。不幸的是,大多数请求都直接使用httpclient(不是全部),因此可以在请求位置测量带宽是可行的,但是很麻烦。

在客户端的构造函数或连接管理器中是否可以放置我自己的带宽监视器(或者该监视器已经内置在我未发现的地方)中?

我可以这样做吗?

    HttpClientBuilder.create().addInterceptorLast(new HttpResponseInterceptor()
    {

        @Override
        public void process(HttpResponse response, HttpContext context) throws HttpException, IOException
        {

        }
    }).build();
ok2c

自定义HttpRequestExecutor应该是最方便的拦截点

这是一个非常粗糙的解决方案,但我希望足以让您入门。

final AtomicLong totalBytes = new AtomicLong();

HttpRequestExecutor requestExecutor = new HttpRequestExecutor() {

    @Override
    protected HttpResponse doSendRequest(
            final HttpRequest request,
            final HttpClientConnection conn,
            final HttpContext context) throws IOException, HttpException {
        HttpResponse response = super.doSendRequest(request, conn, context);
        HttpConnectionMetrics metrics = conn.getMetrics();
        totalBytes.addAndGet(metrics.getSentBytesCount());
        metrics.reset();
        return response;
    }

    @Override
    protected HttpResponse doReceiveResponse(
            final HttpRequest request,
            final HttpClientConnection conn,
            final HttpContext context) throws HttpException, IOException {
        HttpResponse response = super.doReceiveResponse(request, conn, context);
        HttpConnectionMetrics metrics = conn.getMetrics();
        totalBytes.addAndGet(metrics.getReceivedBytesCount());
        metrics.reset();
        return response;
    }
};

CloseableHttpClient httpclient = HttpClients
        .custom()
        .setRequestExecutor(requestExecutor)
        .build();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 Apache HttpComponents Client 请求 CONNECT

来自分类Dev

VPS带宽使用情况

来自分类Dev

如何使用Apache HTTPComponents HttpClient在HTTP请求中启用SNI?

来自分类Dev

使用Apache HttpComponents Client签署AWS HTTP请求

来自分类Dev

Python:如何获取当前的带宽使用情况?

来自分类Dev

Microsoft远程桌面带宽使用情况

来自分类Dev

记录每天的互联网带宽使用情况

来自分类Dev

/ usr / bin / time如何测量内存使用情况?

来自分类Dev

libgdx-测量Android上的内存使用情况

来自分类Dev

测量短暂进程的内存使用情况

来自分类Dev

测量R中的内存使用情况

来自分类Dev

Apache HAWQ生产使用情况

来自分类Dev

是否可以使用Apache HttpComponents POST到位于特定IP地址上的主机?

来自分类Dev

使用Stopy(iftop样式)计算每个IP的带宽使用情况

来自分类Dev

警告:使用jfrog和android-maven-plugin时,将忽略org.apache.httpcomponents:httpclient:4.2.1依赖项

来自分类Dev

如何监视特定应用程序的网络带宽使用情况?

来自分类Dev

Socket.IO服务器性能和带宽使用情况

来自分类Dev

如何监视本地网络上所有设备的带宽使用情况?

来自分类Dev

有没有可以监视单个进程的带宽使用情况的工具?

来自分类Dev

如何在Kibana中为每个用户创建带宽使用情况汇总

来自分类Dev

带宽报告和使用情况报告Node.js

来自分类Dev

监视网络上每台计算机的带宽使用情况

来自分类Dev

使用Golang测量可执行文件运行的内存使用情况

来自分类Dev

AWS EC2在crontab上使用python脚本-如何测量使用情况?

来自分类Dev

如何测量std :: unordered_map的内存使用情况

来自分类Dev

我可以测量线程的实际内存使用情况吗?

来自分类Dev

测量某个Linux驱动程序模块的内存使用情况

来自分类Dev

如何测量Docker内存使用情况(包括主机OS)?

来自分类Dev

测量特定数据结构的内存使用情况

Related 相关文章

  1. 1

    如何使用 Apache HttpComponents Client 请求 CONNECT

  2. 2

    VPS带宽使用情况

  3. 3

    如何使用Apache HTTPComponents HttpClient在HTTP请求中启用SNI?

  4. 4

    使用Apache HttpComponents Client签署AWS HTTP请求

  5. 5

    Python:如何获取当前的带宽使用情况?

  6. 6

    Microsoft远程桌面带宽使用情况

  7. 7

    记录每天的互联网带宽使用情况

  8. 8

    / usr / bin / time如何测量内存使用情况?

  9. 9

    libgdx-测量Android上的内存使用情况

  10. 10

    测量短暂进程的内存使用情况

  11. 11

    测量R中的内存使用情况

  12. 12

    Apache HAWQ生产使用情况

  13. 13

    是否可以使用Apache HttpComponents POST到位于特定IP地址上的主机?

  14. 14

    使用Stopy(iftop样式)计算每个IP的带宽使用情况

  15. 15

    警告:使用jfrog和android-maven-plugin时,将忽略org.apache.httpcomponents:httpclient:4.2.1依赖项

  16. 16

    如何监视特定应用程序的网络带宽使用情况?

  17. 17

    Socket.IO服务器性能和带宽使用情况

  18. 18

    如何监视本地网络上所有设备的带宽使用情况?

  19. 19

    有没有可以监视单个进程的带宽使用情况的工具?

  20. 20

    如何在Kibana中为每个用户创建带宽使用情况汇总

  21. 21

    带宽报告和使用情况报告Node.js

  22. 22

    监视网络上每台计算机的带宽使用情况

  23. 23

    使用Golang测量可执行文件运行的内存使用情况

  24. 24

    AWS EC2在crontab上使用python脚本-如何测量使用情况?

  25. 25

    如何测量std :: unordered_map的内存使用情况

  26. 26

    我可以测量线程的实际内存使用情况吗?

  27. 27

    测量某个Linux驱动程序模块的内存使用情况

  28. 28

    如何测量Docker内存使用情况(包括主机OS)?

  29. 29

    测量特定数据结构的内存使用情况

热门标签

归档