-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Connection information #9
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -175,9 +175,160 @@ | |
} | ||
} | ||
} | ||
}, | ||
"conn_info": { | ||
"$ref": "#/$defs/conn_info" | ||
} | ||
}, | ||
"required": [ "since", "until" ] | ||
}, | ||
"udp_conn": { | ||
"title": "DNS Metric UDP Connection Information", | ||
"description": "An object with the metrics around the UDP connections used to sent and received for the given stats object", | ||
"type": "object", | ||
"properties": { | ||
"packets_sent": { | ||
"description": "The number of packets sent", | ||
"type": "integer" | ||
}, | ||
"packets_received": { | ||
"description": "The number of packets received", | ||
"type": "integer" | ||
}, | ||
"socket_errors": { | ||
"description": "The number of various socket errors that occurred", | ||
"type": "integer" | ||
} | ||
} | ||
}, | ||
"tcp_conn": { | ||
"$ref": "#/$defs/udp_conn", | ||
"title": "DNS Metric TCP Connection Information", | ||
"description": "An object with the metrics around the TCP connections used to sent and received for the given stats object", | ||
"properties": { | ||
"handshakes": { | ||
"description": "The number of handshakes performed", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. performed = successful? or attempted? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🤷 this is cut&paste from @nicki-krizek 's comment There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thread migrated to: #11 |
||
"type": "integer" | ||
}, | ||
"handshakes_failed": { | ||
"description": "The number of failed handshakes", | ||
"type": "integer" | ||
} | ||
} | ||
}, | ||
"conn_latency_stats": { | ||
"type": "object", | ||
"properties": { | ||
"avg": { | ||
"description": "The average latency, in nanoseconds", | ||
"type": "integer" | ||
}, | ||
"min": { | ||
"description": "The minimum latency, in nanoseconds", | ||
"type": "integer" | ||
}, | ||
"max": { | ||
"description": "The maximum latency, in nanoseconds", | ||
"type": "integer" | ||
}, | ||
"stddev": { | ||
"description": "The standard deviation for latency, in nanoseconds", | ||
"type": "integer" | ||
}, | ||
"buckets": { | ||
"description": "??TODO??", | ||
"type": "array", | ||
"items": { | ||
"type": "array", | ||
"items": { | ||
"type": "integer" | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
Comment on lines
+219
to
+249
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe we can have a generic "latency" object in the schema and reference it from all other places? It should be the same for DNS queries as well, I think. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thread migrated to: #12 |
||
"conn_latency": { | ||
"title": "DNS Metric Connection Latency", | ||
"description": "An object with the metrics around connection latency used for the given connection information object", | ||
"type": "object", | ||
"properties": { | ||
"initial": { | ||
"description": "Latency within the handshake, from the initial packet sent to the first reaction received", | ||
"$ref": "#/$defs/conn_latency_stats" | ||
}, | ||
"handshake": { | ||
"description": "Latency from the initial packet to the handshake completion", | ||
"$ref": "#/$defs/conn_latency_stats" | ||
}, | ||
"connection": { | ||
"description": "Latency from the initial packet sent to the connection closed, timed outed, failed or abandoned", | ||
"$ref": "#/$defs/conn_latency_stats" | ||
} | ||
} | ||
}, | ||
"conn_resumption": { | ||
"title": "DNS Metric Connection Resumption", | ||
"description": "An object with the metrics around connection resumption used for the given connection information object", | ||
"type": "object", | ||
"properties": { | ||
"initialized": { | ||
"description": "The number of attempted resumptions", | ||
"type": "integer" | ||
}, | ||
"established": { | ||
"description": "The number of resumptions handshakes completed", | ||
"type": "integer" | ||
}, | ||
"fallbacks": { | ||
"description": "The number of resumptions denied by counterpart", | ||
"type": "integer" | ||
} | ||
} | ||
}, | ||
"tls_conn": { | ||
"$ref": "#/$defs/tcp_conn", | ||
"title": "DNS Metric TLS Connection Information", | ||
"description": "An object with the metrics around the TLS connections used to sent and received for the given stats object", | ||
"properties": { | ||
"resumption": { | ||
"$ref": "#/$defs/conn_resumption" | ||
} | ||
} | ||
}, | ||
"quic_conn": { | ||
"$ref": "#/$defs/tls_conn", | ||
"title": "DNS Metric QUIC Connection Information", | ||
"description": "An object with the metrics around the QUIC connections used to sent and received for the given stats object", | ||
"properties": { | ||
} | ||
}, | ||
"conn_info": { | ||
"oneOf": [ | ||
{ | ||
"properties": { | ||
"type": { "const": "udp" } | ||
}, | ||
"$ref": "#/$defs/udp_conn" | ||
}, | ||
{ | ||
"properties": { | ||
"type": { "const": "tcp" } | ||
}, | ||
"$ref": "#/$defs/tcp_conn" | ||
}, | ||
{ | ||
"properties": { | ||
"type": { "const": "tls_conn" } | ||
}, | ||
"$ref": "#/$defs/tls_conn" | ||
}, | ||
{ | ||
"properties": { | ||
"type": { "const": "quic_conn" } | ||
}, | ||
"$ref": "#/$defs/quic_conn" | ||
} | ||
] | ||
} | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,5 +29,10 @@ | |
1 | ||
] | ||
] | ||
}, | ||
"conn_info": { | ||
"type": "udp", | ||
"packets_sent": 100, | ||
"packets_received": 100 | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
packets or datagrams? it becoms important when fragmentation is at play ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I donno, suggestion? It also needs to work when inherit into TCP/TLS... etc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so, it should not be shared. There is no information about number of packets for TCP as normally we don't have any visibility into SYN/ACK/retry magic around TCP.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thread migrated to separate issue: #10