Add TCP accept metric which tracks the total number of TCP connections accepted.#1456
Conversation
|
Linux build successful! See https://ci.trafficserver.apache.org/job/linux-github/1457/ for details. |
|
FreeBSD build successful! See https://ci.trafficserver.apache.org/job/freebsd-github/1563/ for details. |
|
clang-analyzer build successful! See https://ci.trafficserver.apache.org/job/clang-analyzer-github/128/ for details. |
|
Why are there tsconfig changes with this? |
|
Bad merge, I'll fix the TSConfig stuff. |
b964789 to
693e880
Compare
|
Intel CC build successful! See https://ci.trafficserver.apache.org/job/icc-github/6/ for details. |
|
FreeBSD build successful! See https://ci.trafficserver.apache.org/job/freebsd-github/1573/ for details. |
|
Linux build successful! See https://ci.trafficserver.apache.org/job/linux-github/1467/ for details. |
|
clang-analyzer build successful! See https://ci.trafficserver.apache.org/job/clang-analyzer-github/138/ for details. |
|
Hmmm, how is this different from proxy.process.http.total_incoming_connections ? If it is, then maybe we need to have a proxy.process."something".total_incoming_connections, and then have a Lua metric that adds up all the different types of connections into a "total". That was always the intent of the synthetic metrics. |
|
The It also looks like HTTP 2 connections are not tracked by that stat either, which is also distinct. It might be reasonable to either make the existing stat track both or track them independently and sum. |
|
It seems like we should have some sort of layered approach, where we keep track of tcp (l4) http (L5?) and TLS (L7). We have metrics for some of this it sounds, but IIRC they are a bit patchy. So I'm in favor of a raw "tcp accepted", and IMO the http incoming_connections should probably be 1/2 agnostic (if we want an http_stream_accepted-- we can do that too). |
|
Yes, if there are subtle differences like this, we should break them out accordingly, and then make an aggregated "sum" metrics in the Lua metrics.config. It almost sounds like a bug / misfeature that the H2 connection is not included in the proxy.process.http.total_incoming_connections. And it's very inconsistent with other metrics; Whereas these two connection metrics works as you describe (independent), the request metrics are not. E.g. Sending 4 HTTP/2 request, I see this: Note how each H2 stream is counted as an HTTPS request, as well as an HTTP request (I'm guessing because of how H2 uses HTTP internally). This seems rather inconsistent to me, but does make some sense I guess |
|
http2 connections are tracked by proxy.process.http2.current_client_sessions and proxy.process.http2.total_client_connections. All successfully negotiated SSL/TCP connections would be the sum of proxy.process.http2.total_client_connections and proxy.process.http.total_client_connections |
|
We should have a metric that tracks the total number of accepts at the TCP layer. I recommend that the name be inline with the current metrics |
|
@bryancall - do you mean you want |
…onnections accepted.
693e880 to
4a8bd3f
Compare
|
AU check failed! https://ci.trafficserver.apache.org/job/autest-github/279/ |
|
clang format successful! https://ci.trafficserver.apache.org/job/clang-format-github/283/ |
|
RAT check successful! https://ci.trafficserver.apache.org/job/RAT-github/297/ |
|
Linux build successful! https://ci.trafficserver.apache.org/job/linux-github/1870/ |
|
Intel CC build successful! https://ci.trafficserver.apache.org/job/icc-github/409/ |
|
FreeBSD11 build successful! https://ci.trafficserver.apache.org/job/freebsd-github/1978/ |
|
clang-analyzer build failed! https://ci.trafficserver.apache.org/job/clang-analyzer-github/542/ |
proxy.process.net.tcp.acceptThis is useful to track the rate of inbound connections accepted. This can be compared to transactions, open connections, or other OS network metrics to better identify performance issues.