tcp-info
tcp-info copied to clipboard
Fast tcp-info collector in Go
PR https://github.com/m-lab/tcp-info/pull/123 added new fields to the `tcp.LinuxTCPInfo` struct however, the `snapshot.Decode` function does not recognize all available `inetdiag` types https://github.com/m-lab/tcp-info/blob/9928ad36d2e5f42c17dad065c98cf1346acc2026/inetdiag/inetdiag.go#L40-L61 The down stream effect of this is that the...
tcp-info is already caching the SockID for connections, so should send it with the Close events, instead of requiring clients to cache it too. --- This change is [](https://reviewable.io/reviews/m-lab/tcp-info/129)
The current eventsocket architecture makes it possible for slow or non-responsive sidecar eventsocket listeners to deadlock the tcp-info service. This is an obvious problem for allowing third-party sidecar listeners. I...
tcpinfo should report connections per port, to provide a baseline for understanding any data loss. We should see tcpinfo files corresponding to the connection counts, ndt files for some ports,...
Before merging https://github.com/m-lab/tcp-info/pull/113 one of the travis builds failed as a result of test hanging in `github.com/m-lab/tcp-info/eventsocket`. However, this can occur on earlier versions as late as v1.3.0. Running the...
Output on travis: ``` 605 promtest.go:42: Bad metric tcpinfo_cache_count_histogram: metric name should not include type 'histogram' 606 promtest.go:42: Bad metric tcpinfo_connection_count_histogram: metric name should not include type 'histogram' 607 promtest.go:42:...
RFC1918 address space is currently used for our internal monitoring. We should be able to ignore this traffic.
The trailing snapshots my be e.g. in FIN_WAIT2 or CLOSED, and missing some message types. When we use FinalSnapshot, we usually want the last ESTABLISHED snapshot.
Experiments might want e.g. jitter or other stats that tcpinfo can easily compute. tcpinfo would need to cache them for a few seconds and provide an api for querying them...
It might be useful to understand how quickly we are polling. Since we skip records that have not changed significantly, we should have some count of poll count between records,...