Eclipse Jetty 和 Jersey 监控
Jetty
Micrometer 支持通过 Connection.Listener
将指标绑定到 Jetty。
你可以通过使用 JettyConnectionMetrics
配置 Jetty Connector
来收集指标,如下所示:
Server server = new Server(0);
NetworkTrafficServerConnector connector = new NetworkTrafficServerConnector(server);
JettyConnectionMetrics metrics = new JettyConnectionMetrics(registry, connector);
connector.addBean(metrics); 1
connector.setNetworkTrafficListener(metrics); 2
server.setConnectors(new Connector[] { connector });
注册通用连接指标
为此连接器注册输入/输出字节的指标
或者,你可以按照以下方式将指标检测应用于 Server
上的所有连接器:
JettyConnectionMetrics.addToAllConnectors(server, registry);
连接指标也可以在客户端上进行配置,但在检测客户端时,字节输入/输出将不可用。
HttpClient httpClient = new HttpClient();
httpClient.addBean(new JettyConnectionMetrics(registry));
Jersey
Micrometer 还支持通过 ApplicationEventListener
将指标绑定到 Jersey。
你可以通过添加 MetricsApplicationEventListener
来从 Jersey 收集指标,如下所示:
ResourceConfig resourceConfig = new ResourceConfig();
resourceConfig.register(new MetricsApplicationEventListener(
registry,
new DefaultJerseyTagsProvider(),
"http.server.requests",
true));
ServletContainer servletContainer = new ServletContainer(resourceConfig);
Eclipse 观察 Jersey 仪表化
你可以在下面找到一个如何使用 Micrometer Observation 来对 Jersey 进行插桩的示例。这意味着根据你的 Observation Handler 配置,你只需插桩一次,就可以获得多种好处(例如指标、分布式追踪)。
// Setting up instrumentation
new ObservationApplicationEventListener(getObservationRegistry(), timerName())
ResourceConfig config = new ResourceConfig();
config.register(listener);