- Notifications
You must be signed in to change notification settings - Fork906
Commit0076e84
authored
chore(vpn): send ping results over tunnel (#18200)
Closes#17982.The purpose of this PR is to expose network latency via the API used by Coder Desktop.This PR has the tunnel ping all known agents every 5 seconds, in order to produce an instance of:```protomessage LastPing {// latency is the RTT of the ping to the agent.google.protobuf.Duration latency = 1;// did_p2p indicates whether the ping was sent P2P, or over DERP.bool did_p2p = 2;// preferred_derp is the human readable name of the preferred DERP region,// or the region used for the last ping, if it was sent over DERP.string preferred_derp = 3;// preferred_derp_latency is the last known latency to the preferred DERP// region. Unset if the region does not appear in the DERP map.optional google.protobuf.Duration preferred_derp_latency = 4;}```The contents of this message are stored and included on all subsequent upsertions of the agent. Note that we upsert existing agents every 5 seconds to update the `last_handshake` value.On the desktop apps, this message will be used to produce a tooltip similar to that of the VS Code extension:<img width="495" alt="image" src="https://github.com/user-attachments/assets/d8b65f3d-f536-4c64-9af9-35c1a42c92d2" />(wording not final)Unlike the VS Code extension, we omit:- The Latency of *all* available DERP regions. It seems not ideal to send a copy of this entire map for every online agent, and it certainly doesn't make sense for it to be on the `Agent` or `LastPing` message. If we do want to expose this info on Coder Desktop, we should consider how best to do so; maybe we want to include it on a more generic `Netcheck` message.- The current throughput (Bytes up/down). This is out of scope of the linked issue, and is non-trivial to implement. I'm also not sure of the value given the frequency we're doing these status updates (every 5 seconds).If we want to expose it, it'll be in a separate PR.<img width="343" alt="image" src="https://github.com/user-attachments/assets/8447d03b-9721-4111-8ac1-332d70a1e8f1" />1 parentb4f71b7 commit0076e84
File tree
12 files changed
+973
-318
lines changed- cli
- coderd
- database/db2sdk
- util/maps
- tailnet
- vpn
12 files changed
+973
-318
lines changedLines changed: 8 additions & 37 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
16 | 16 |
| |
17 | 17 |
| |
18 | 18 |
| |
19 |
| - | |
20 | 19 |
| |
21 | 20 |
| |
22 | 21 |
| |
| |||
31 | 30 |
| |
32 | 31 |
| |
33 | 32 |
| |
34 |
| - | |
35 | 33 |
| |
36 | 34 |
| |
37 | 35 |
| |
| |||
40 | 38 |
| |
41 | 39 |
| |
42 | 40 |
| |
| 41 | + | |
43 | 42 |
| |
44 | 43 |
| |
45 | 44 |
| |
46 | 45 |
| |
47 | 46 |
| |
| 47 | + | |
48 | 48 |
| |
49 | 49 |
| |
50 | 50 |
| |
| |||
1456 | 1456 |
| |
1457 | 1457 |
| |
1458 | 1458 |
| |
1459 |
| - | |
1460 |
| - | |
1461 |
| - | |
1462 |
| - | |
1463 |
| - | |
1464 |
| - | |
1465 |
| - | |
1466 |
| - | |
1467 |
| - | |
1468 |
| - | |
1469 |
| - | |
1470 |
| - | |
1471 |
| - | |
1472 |
| - | |
1473 |
| - | |
1474 |
| - | |
1475 |
| - | |
1476 |
| - | |
1477 |
| - | |
1478 |
| - | |
1479 |
| - | |
1480 |
| - | |
1481 | 1459 |
| |
1482 | 1460 |
| |
1483 | 1461 |
| |
| |||
1491 | 1469 |
| |
1492 | 1470 |
| |
1493 | 1471 |
| |
1494 |
| - | |
1495 |
| - | |
1496 |
| - | |
1497 |
| - | |
1498 |
| - | |
1499 |
| - | |
1500 |
| - | |
1501 |
| - | |
1502 |
| - | |
1503 |
| - | |
1504 |
| - | |
1505 |
| - | |
| 1472 | + | |
| 1473 | + | |
1506 | 1474 |
| |
1507 | 1475 |
| |
1508 | 1476 |
| |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
1509 | 1480 |
| |
1510 | 1481 |
| |
1511 | 1482 |
| |
1512 | 1483 |
| |
1513 | 1484 |
| |
1514 |
| - | |
| 1485 | + | |
1515 | 1486 |
| |
1516 | 1487 |
| |
1517 | 1488 |
| |
|
Lines changed: 0 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
47 | 47 |
| |
48 | 48 |
| |
49 | 49 |
| |
50 |
| - | |
51 |
| - | |
52 |
| - | |
53 |
| - | |
54 |
| - | |
55 |
| - | |
56 |
| - | |
57 |
| - | |
58 | 50 |
| |
59 | 51 |
| |
60 | 52 |
| |
|
Lines changed: 8 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6 | 6 |
| |
7 | 7 |
| |
8 | 8 |
| |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
9 | 17 |
| |
10 | 18 |
| |
11 | 19 |
| |
|
Lines changed: 46 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
| 11 | + | |
| 12 | + | |
11 | 13 |
| |
12 | 14 |
| |
| 15 | + | |
13 | 16 |
| |
14 | 17 |
| |
15 | 18 |
| |
| |||
152 | 155 |
| |
153 | 156 |
| |
154 | 157 |
| |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
155 | 201 |
| |
156 | 202 |
| |
157 | 203 |
| |
|
Lines changed: 109 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
10 | 10 |
| |
11 | 11 |
| |
12 | 12 |
| |
| 13 | + | |
13 | 14 |
| |
14 | 15 |
| |
15 | 16 |
| |
| |||
162 | 163 |
| |
163 | 164 |
| |
164 | 165 |
| |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + |
Lines changed: 10 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
5 | 5 |
| |
6 | 6 |
| |
7 | 7 |
| |
| 8 | + | |
8 | 9 |
| |
9 | 10 |
| |
10 | 11 |
| |
| 12 | + | |
11 | 13 |
| |
12 | 14 |
| |
| 15 | + | |
13 | 16 |
| |
14 | 17 |
| |
15 | 18 |
| |
| |||
27 | 30 |
| |
28 | 31 |
| |
29 | 32 |
| |
| 33 | + | |
| 34 | + | |
| 35 | + | |
30 | 36 |
| |
31 | 37 |
| |
32 | 38 |
| |
| |||
38 | 44 |
| |
39 | 45 |
| |
40 | 46 |
| |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
41 | 51 |
| |
42 | 52 |
| |
43 | 53 |
| |
|
Lines changed: 2 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
23 | 23 |
| |
24 | 24 |
| |
25 | 25 |
| |
| 26 | + | |
| 27 | + | |
26 | 28 |
| |
27 | 29 |
| |
28 | 30 |
| |
| |||
48 | 50 |
| |
49 | 51 |
| |
50 | 52 |
| |
51 |
| - | |
52 |
| - | |
53 | 53 |
| |
54 | 54 |
| |
55 | 55 |
| |
| |||
157 | 157 |
| |
158 | 158 |
| |
159 | 159 |
| |
160 |
| - | |
161 |
| - | |
162 | 160 |
| |
163 | 161 |
| |
164 | 162 |
| |
| |||
210 | 208 |
| |
211 | 209 |
| |
212 | 210 |
| |
213 |
| - | |
214 | 211 |
| |
215 | 212 |
| |
216 | 213 |
| |
| |||
248 | 245 |
| |
249 | 246 |
| |
250 | 247 |
| |
251 |
| - | |
252 |
| - | |
253 | 248 |
| |
254 | 249 |
| |
255 | 250 |
| |
|
0 commit comments
Comments
(0)