如何使用 HttpServer 获取请求的响应时间

黑客音乐

我有一个 java HttpServer 到目前为止没有任何问题。这是我现在的代码:

import java.io.*;
import java.net.*;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class Main {

    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
        server.createContext("/", new IndexHandler());
        server.setExecutor(null);
        server.start();
    }

    static class IndexHandler implements HttpHandler {
        @Override
        public void handle(HttpExchange t) throws IOException {
            String response = "test";
            t.sendResponseHeaders(200, response.length());
            OutputStream os = t.getResponseBody();
            os.write(response.getBytes());
            os.close();
            System.out.println(String.format("%s %s %d %d -", t.getRequestMethod(), t.getRequestURI(), t.getResponseCode(), response.length()));
        }
    }
}

该代码记录了 URI、状态代码、请求方法和响应长度。如何计算从请求开始到关闭所用的时间?顺便说一句,我已经研究了文档,但他们没有任何内部实现。

维密达万

您必须使用中间件包装您的请求,然后您必须记录响应时间。我们正在使用公制中间件来做同样的事情。这取决于您使用的服务器。我们使用的是http4s,否则您必须编写自定义中间件。

    val middleware: HttpMiddleware[F] = {
      { service: HttpRoutes[F] =>
        metrics(service)
      } compose { service: HttpRoutes[F] =>
        hadoopLoggerMiddleware(service)
      } compose { service: HttpRoutes[F] =>
        kafkaTrafficForwarder(service)
      }
    }

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 HttpServer 发出 POST 请求?

如何从curl请求获取响应时间(通过命令行)

使用python HTTPServer服务的请求数量

如何使用Retrofit 2获得API请求/响应时间

使用Python获取DNS解析时间和响应时间

如何通过套接字找到HTTP请求的响应时间

如何测量Sails.js请求/响应时间

如何衡量服务器的请求和响应时间?

使用Java发出DNS请求并安排响应时间

使用JSR223 + JMeter获取响应时间

Delphi & Indy httpServer 如何停止发送 400 错误请求

如何在客户端使用cxf记录Soap请求的响应时间?

如何使用cURL一次测量请求和响应时间?

如何测量Python请求POST请求的服务器响应时间?

如何使用Java HttpServer / HttpExchange在GET中获取查询字符串?

直接从HttpServer返回响应

如何使用Netty编写异步HttpServer

不推荐使用 HttpServer tcpConfiguration

如何可视化所有请求的平均响应时间

如何在蝗虫中为单个请求的响应时间编写事件挂钩

您如何测量多线程C#请求的响应时间?

我可以仅使用Zuul帖子过滤器获得请求的响应时间吗?

Python HTTPServer响应curl但不响应Postman GET请求

如何从不带单位ms的命令PING获取响应时间?

如何通过一次单击即可从Proses Vb Net获取响应时间

Swing:如何减少MouseInputAdapter的响应时间?

如何分析响应时间图

使用PHP / MySQL的平均响应时间

如何配置 com.sun.net.httpserver 只接受来自本地主机的请求?