Skip to content

Commit 4b99321

Browse files
committed
docs: fix four accuracy issues in Traceroute docs (daniel-review feedback)
- construct port default: document as 443 for all non-ICMP protocols (not 443/33434 split); 33434 is only the webapp UI pre-fill, not the CLI/API default; recommend explicit port: 33434 for UDP/SCTP - UDP/SCTP destination detection: broaden from "Port Unreachable only" to any ICMP Destination Unreachable from the target (admin-prohibited, host-unreachable, etc.); SCTP also detected via ABORT/INIT-ACK - JSON port field: always present (no omitempty), 0 for ICMP; not omitted - JSON finalHopLatency: whole object is omitted (omitempty pointer), not present with null fields, when destination is not reached
1 parent d1d209d commit 4b99321

3 files changed

Lines changed: 7 additions & 7 deletions

File tree

constructs/traceroute-monitor.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ new TracerouteMonitor('traceroute-monitor', {
117117
|-----------|------|----------|---------|-------------|
118118
| `url` | `string` || - | Target hostname or IP address. Do not include a scheme or port |
119119
| `protocol` | `string` || `'TCP'` | Probe protocol: `'TCP'` \| `'UDP'` \| `'ICMP'` \| `'SCTP'` |
120-
| `port` | `number` || `443` (TCP), `33434` (UDP/SCTP) | Destination port (1–65535). Ignored when `protocol` is `'ICMP'` |
120+
| `port` | `number` || `443` | Destination port (1–65535). Defaults to `443` for all non-ICMP protocols. For UDP/SCTP, set `port: 33434` explicitly — a high closed port so the destination returns ICMP Unreachable to confirm arrival. Ignored when `protocol` is `'ICMP'` |
121121
| `ipFamily` | `string` || `'IPv4'` | IP family: `'IPv4'` \| `'IPv6'` |
122122
| `maxHops` | `number` || `30` | Maximum hops to probe (1–64) |
123123
| `maxUnknownHops` | `number` || `15` | Maximum consecutive unresponsive hops before stopping (1–30) |

detect/uptime-monitoring/traceroute-monitors/configuration.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Use assertions to validate Traceroute results and alert when paths change or deg
2727

2828
You can create assertions based on:
2929

30-
* **Latency:** RTT statistics for the **final responding hop**. Available properties: `avg`, `min`, `max`, `stdDev` (all in milliseconds). This assertion requires the destination to be reached — if `destinationReached` is `false`, the assertion fails
30+
* **Latency:** RTT statistics for the **final responding hop**. Available properties: `avg`, `min`, `max`, `stdDev` (all in milliseconds). This assertion requires the destination to be reached — if `destinationReached` is `false`, `finalHopLatency` is absent and the assertion fails
3131
* **Hop Count:** Total number of hops recorded in the trace. Use this to detect routing changes that add or remove hops from the expected path
3232
* **Packet Loss:** Packet loss percentage at the **last recorded hop** (0–100). A non-zero value indicates that some probe packets were not returned
3333

@@ -52,7 +52,7 @@ The Traceroute response is available as structured JSON. All responses share thi
5252
{
5353
"hostname": "api.example.com", // Target hostname or IP as configured
5454
"resolvedIp": "93.184.216.34", // IP address used for the trace
55-
"port": 443, // Destination port (omitted for ICMP)
55+
"port": 443, // Destination port; always present (0 for ICMP probes)
5656
"ipFamily": "IPv4", // "IPv4" or "IPv6"
5757
"maxHops": 30, // Configured max hops
5858
"totalHops": 12, // Number of hops actually recorded
@@ -61,7 +61,7 @@ The Traceroute response is available as structured JSON. All responses share thi
6161
// "destinationReached" | "maxHops" | "maxUnknownHops" | "timeout"
6262
"probeProtocol": "TCP", // Probe protocol: "TCP" | "UDP" | "ICMP" | "SCTP"
6363
"finalHopLatency": { // RTT stats for the last responding hop
64-
"avg": 12.34, // null when destination is not reached
64+
"avg": 12.34, // Omitted entirely (field absent) when destination is not reached
6565
"min": 11.80,
6666
"max": 13.10,
6767
"stdDev": 0.42

detect/uptime-monitoring/traceroute-monitors/overview.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ A Traceroute monitor executes the following steps on each run:
3232
| Protocol | Default port | How destination is detected |
3333
|----------|-------------|---------------------------|
3434
| **TCP** (default) | 443 | SYN-ACK or RST received from destination |
35-
| **UDP** | 33434 | ICMP Port Unreachable from destination |
35+
| **UDP** | 33434 | Any ICMP Destination Unreachable from the target (port unreachable, admin-prohibited, host unreachable, etc.) |
3636
| **ICMP** | *(no port)* | Echo Reply from destination |
37-
| **SCTP** | 33434 | INIT-ACK from destination |
37+
| **SCTP** | 33434 | SCTP ABORT or INIT-ACK from destination, or ICMP Destination Unreachable from the target |
3838

3939
<Note>
40-
UDP and SCTP probes default to port 33434 — a high, typically-closed port. Destination arrival is confirmed only when the host returns ICMP Port Unreachable, which requires the port to be closed. Using an open port (such as 443) would prevent arrival detection for these protocols.
40+
The default port for UDP and SCTP in the Checkly web UI is pre-filled to `33434` — a high, typically-closed port where the destination is more likely to return an ICMP Destination Unreachable. When configuring via the CLI or API, the port defaults to `443` for all non-ICMP protocols, so set `port: 33434` explicitly for UDP/SCTP probes if you want the same behavior.
4141
</Note>
4242

4343
## Traceroute Monitor Results

0 commit comments

Comments
 (0)