summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-28 02:18:01 +0100
committertv <tv@krebsco.de>2026-10-28 02:19:50 +0100
commit24327be7e09c20a9820eac61ba3ac60fb7bdb424 (patch)
treef2a1b0b7321c4b1912297fb0725c3ee5800af948 /docs
parent3c56f0df5c23b5c8d4bc4cc748cbd18812910ffe (diff)
measure paths
Diffstat (limited to 'docs')
-rw-r--r--docs/openapi.yaml52
1 files changed, 51 insertions, 1 deletions
diff --git a/docs/openapi.yaml b/docs/openapi.yaml
index be21300..58faa9c 100644
--- a/docs/openapi.yaml
+++ b/docs/openapi.yaml
@@ -1141,6 +1141,21 @@ components:
type: [string, 'null']
enum: [direct, relayed, null]
description: The libp2p connection to it; null if none, or on a transport without connections (Mycelium).
+ paths:
+ type: array
+ description: Every address it proved itself at, best first, as the paths layer measures them.
+ items:
+ type: object
+ required: [address, down]
+ properties:
+ address:
+ type: string
+ rttMs:
+ type: [number, 'null']
+ description: Smoothed round-trip time of its PINGs; null before an answer (and on a peer's only path, which isn't measured).
+ down:
+ type: boolean
+ description: Its PINGs went unanswered three times in a row, or a send there failed within a minute.
validatedSwarm:
type: [string, 'null']
status:
@@ -1190,7 +1205,7 @@ components:
ByKind:
type: object
- required: [hello, helloReply, sync, status, statusReply, blob, identity]
+ required: [hello, helloReply, sync, status, statusReply, blob, identity, paths]
properties:
hello:
$ref: '#/components/schemas/Counter'
@@ -1208,6 +1223,9 @@ components:
identity:
$ref: '#/components/schemas/Counter'
description: WHO and ME, counted under the address they went to or came from (so only in the totals).
+ paths:
+ $ref: '#/components/schemas/Counter'
+ description: PING and PONG, counted under the address (so only in the totals).
Traffic:
type: object
@@ -1414,6 +1432,38 @@ components:
type: object
description: How the transports find and reach peers (`measurements.md`, Transports).
properties:
+ paths:
+ description: The paths layer's; null without one.
+ oneOf:
+ - type: 'null'
+ - type: object
+ required: [paths, probesSent, probesAnswered, probesUnanswered, sendFailures, failovers, switches]
+ properties:
+ paths:
+ type: array
+ description: Every path measured (of peers with several addresses, used lately).
+ items:
+ type: object
+ required: [address, down]
+ properties:
+ address:
+ type: string
+ rttMs:
+ type: [number, 'null']
+ down:
+ type: boolean
+ probesSent:
+ type: integer
+ probesAnswered:
+ type: integer
+ probesUnanswered:
+ type: integer
+ sendFailures:
+ type: integer
+ failovers:
+ type: integer
+ switches:
+ type: integer
identity:
description: The identity layer's; null without one.
oneOf: