Hi,

I want to get statistics of sent and received bytes from an HTTP server. I had 
a working implementation on HttpCore 4.x using 
NHttpServerConnection.getMetrics() that were added up on closing connection. 
Then I migrated to HttpCore 5.1.x and that API disappeared, so what I am using 
is AsyncServerBootstrap.setIOSessionDecorator() to set a custom class that will 
count bytes on read() and write() methods. This works perfectly fine when using 
plain connections, but when using HTTPS, read bytes won't work. When receiving 
an HTTP request (just before consumeRequest() is called), read() method is 
called, but returns 0 bytes. But then there are no more calls, even though I 
receive the calls to consume() with the received packets.

What I would expect is that the IOSession decorated would be the lowest layer, 
on encrypted socket, but it looks like it decorates a higher level IOSession, 
on inPlain (so it does not count handshake data), and additionally it is not 
being called for received data.

Is there any other way of getting those metrics?

Thanks and regards,
Isaac

Disclaimer

The information contained in this communication from the sender is 
confidential. It is intended solely for use by the recipient and others 
authorized to receive it. If you are not the recipient, you are hereby notified 
that any disclosure, copying, distribution or taking action in relation of the 
contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been 
automatically archived by Mimecast, a leader in email security and cyber 
resilience. Mimecast integrates email defenses with brand protection, security 
awareness training, web security, compliance and other essential capabilities. 
Mimecast helps protect large and small organizations from malicious activity, 
human error and technology failure; and to lead the movement toward building a 
more resilient world. To find out more, visit our website.

Reply via email to