Commit Graph

2059 Commits

Author SHA1 Message Date
Herbert Wolverson
a4c8093401 Circuit data now includes TCP retransmits. Made the tables a little less unpleasant to look at. 2024-03-19 14:13:04 -05:00
Herbert Wolverson
b01ab42a3b Nice highlighting for top 10 buttons. 2024-03-19 13:29:04 -05:00
Herbert Wolverson
e43bd00717 Fix typo 2024-03-19 12:47:56 -05:00
Herbert Wolverson
7e6146b79a Add the protocols top 10 summary 2024-03-19 12:43:49 -05:00
Herbert Wolverson
c6feebe229 Add plumbing for the top 10 displays. Display ethertypes from expired flows. 2024-03-19 12:29:52 -05:00
Herbert Wolverson
b69748dcf6 REmember to scale the unit on display 2024-03-19 09:01:12 -05:00
Herbert Wolverson
a2afa7fa9d This should fix the country RTTs. 2024-03-19 08:48:05 -05:00
Herbert Wolverson
e45bedc7ce One more try before I go and eat something... 2024-03-18 16:13:06 -05:00
Herbert Wolverson
ebc3ab73da Make the country RTTs actually add up 2024-03-18 16:05:37 -05:00
Herbert Wolverson
019d301913 Make the country RTTs actually add up 2024-03-18 16:04:43 -05:00
Herbert Wolverson
bad4429729 Last commit, but now with sensible logic. 2024-03-18 15:57:07 -05:00
Herbert Wolverson
98155a04c3 Only update flow RTT if there is data for it. 2024-03-18 15:49:31 -05:00
Herbert Wolverson
7b6da8e32e Limit RTT tracking to flows that have achieved 1 Mbps or more. 2024-03-18 10:19:50 -05:00
Herbert Wolverson
dec1440b31 Flow data: the RTT tracker now keeps track of if new data has arrived for a flow, and only reports an RTT if it has. This prevents stuck flows with no new values coming in from biasing our results. 2024-03-16 09:16:05 -05:00
Herbert Wolverson
c9600f831d RTT gathering improvement: RTTs are grouped per circuit, and then added as a single value to help preserve per-circuit sample stability. 2024-03-16 09:08:31 -05:00
Herbert Wolverson
b6eb08751c Fix order of magnitude on the display histogram. 2024-03-15 13:27:12 -05:00
Herbert Wolverson
d0e575f317 Add compatibility with the 5.x kernel version eBPF verifier. 2024-03-15 13:24:58 -05:00
Herbert Wolverson
6ce7e7a3f9 Strongly type RTT data in the throughput tracker to reduce confusion. 2024-03-15 13:03:49 -05:00
Herbert Wolverson
b8937bf9c2 Basic web UI update to show numbers in the right units 2024-03-15 12:55:23 -05:00
Herbert Wolverson
9d0e536089 Use a dual-structure to store RTT in both directions. 2024-03-15 12:29:47 -05:00
Herbert Wolverson
9938a94caf Comment out console log that was annoying me 2024-03-15 12:19:59 -05:00
Herbert Wolverson
beda42194a Include RTT events per second tracking in the /api/stats call 2024-03-15 12:18:19 -05:00
Herbert Wolverson
f44af37670 WIP - Compiles RTT data into the tracker, strong type RTTs to clarify the unit confusion. Web side is not done yet. 2024-03-15 12:15:11 -05:00
Herbert Wolverson
56b170f7e4 Truly minimal RTT to userspace eBPF ringbuffer implementation. This
breaks a lot of things - no RTTs are currently recorded or acted
upon. The goal is to measure the scale of the load hit for receiving
these events.
2024-03-15 09:45:49 -05:00
Herbert Wolverson
3ad023f69c Fix circuit flows display from last patch. 2024-03-15 09:02:07 -05:00
Herbert Wolverson
318e20dad7 These numbers line up on the iZones tracker, with wireshark dumps for comparison. This is a WIP - don't apply this. Unbreaking some of my previous code. 2024-03-15 08:32:06 -05:00
Herbert Wolverson
56dd4b6750 It's not quite done yet, but I spent the last 2 hours matching observed RTT, checking with Wireshark, and looking to see if the numbers line up. Implements a small buffer for RTT values per flow. Shrinks some stack entries. Will require a map rebuild. 2024-03-14 14:07:06 -05:00
Herbert Wolverson
69508d2753 Remove two variables and use pointers instead to save stack space. 2024-03-14 12:40:33 -05:00
Herbert Wolverson
a937820a87 Move rate estimate from 64-bits to 32-bits, saving some bytes. 2024-03-14 11:03:43 -05:00
Herbert Wolverson
8ec361b095 Fix a reporting message that was meant to be compile-conditional. 2024-03-14 10:42:22 -05:00
Herbert Wolverson
fbb3960b50 Warning fix 2024-03-14 08:52:36 -05:00
Herbert Wolverson
eab9df4874 Missing file from previous commit 2024-03-13 14:56:59 -05:00
Herbert Wolverson
fb91e8313a Very silly commit - adds a /showoff page to the node manager firing particles from all endpoints at my ISP in Missouri. Will turn into something useful in the future. 2024-03-13 14:45:53 -05:00
Herbert Wolverson
a63ff0a6f1 Rename all flowbee "retries" to "tcp_retransmits" in code, and
"retransmits" in visible HTML.
2024-03-13 08:20:36 -05:00
Herbert Wolverson
fae96280b9 Actually limit the top 10 endpoints to being 10 2024-03-12 16:41:57 -05:00
Herbert Wolverson
c16f06b0ab Sort countries by download bytes not upload 2024-03-12 15:47:29 -05:00
Herbert Wolverson
66a19c04a4 First example of an actual summary report - we can group flow endpoints in a 5-minute report. 2024-03-12 15:19:07 -05:00
Herbert Wolverson
1fb5838ebe Remove a test call that was spamming the logs. 2024-03-12 14:46:47 -05:00
Herbert Wolverson
e46aafe5ae Silly performance: making 12k mutex locks when I need one was really dumb. 2024-03-12 14:20:35 -05:00
Herbert Wolverson
5a3f90412d Working geocode system, albeit not as useful as I hoped. 2024-03-12 14:02:36 -05:00
Herbert Wolverson
55f24cf71b Revert previous bad idea 2024-03-12 11:38:19 -05:00
Herbert Wolverson
07239b3d24 That should avoid some flow duplication that was hitting too hard. 2024-03-12 11:30:13 -05:00
Herbert Wolverson
3ca7ca8a0d Lower threshold for capturing RTT by rate 2024-03-12 10:52:41 -05:00
Herbert Wolverson
e20d6d39b0 Another try at a flow system that cleans up. 2024-03-12 10:29:08 -05:00
Herbert Wolverson
3d9b52e627 More cleanup and logic improvements based on observation. In particular, flow cleanup is more accurate now, and we're a bit more aggressive in what RTT data we accept. 2024-03-12 08:57:29 -05:00
Herbert Wolverson
213a27498e Improve the flow cleanup logic. 2024-03-12 08:21:33 -05:00
Herbert Wolverson
79247e07f0 Fix a really silly mistake. I did NOT mean to always store the worst RTT we've ever seen. 2024-03-11 15:26:23 -05:00
Herbert Wolverson
d93726e538 Only report RTT for flows exceeding 4kbps - to eliminate noise from basically idle connections. 2024-03-11 15:03:47 -05:00
Herbert Wolverson
71fd1d558f Probable fix for building this on earlier kernel versions. 2024-03-11 14:04:41 -05:00
Herbert Wolverson
445cdcda81 Remove most of the Heimdall mode 1 path, cleaning up the execution path now that we have global flow tracking. 2024-03-11 13:27:42 -05:00