jetty / jetty/jetty.project

Improve ConnectionStatistics to report per-protocol information

Open
#4,184 10 comments 0 reactions 2 assignees Claimed by @sbordet View on GitHub
Enhancement Help Wanted Low Priority Pinned
Dominant language
Java
Stars
4.1k
Forks
2k
Avg merge
3d 56m
Merged PRs (30d)
48

Description

Currently, `ConnectionStatistics` listens to the "connection closed" event, and when it happens it retrieves the connection information from the `Connection` object passed in the event.

Would be great if this information could be split per-protocol.

This would involve:
1. a new `Connection.getProtocol()` method so that it would be possible to know what protocol was that connection speaking
1. a different implementation of `ConnectionStatistics` to store per-protocol information (as well as the totals)
1. Possibly a `ConnectionStatisticsMBean` that displays the per-protocol data in a JMX friendly way. JMX's `CompositeType` represents a struct; in this case it can have these fields: `[protocol, bytesIn, bytesOut, messagesIn, messagesOut]`. JMX's `CompositeData` is an instance of the struct with the actual values for those fields. JMX's `TabularData` is a `Map` where you can map a `String` to a `CompositeData` (I think - this class is so obscure I completely forgotten it was so obscure). Point being that either via an array of `CompositeData`, or via `TabularData` we can return the connection information split by protocol.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.