Skip to content

Commit

Permalink
OSDOCS-7593: Netobserv RTT
Browse files Browse the repository at this point in the history
  • Loading branch information
skrthomas committed Jan 23, 2024
1 parent 99adc7d commit 35aadb1
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 4 deletions.
28 changes: 28 additions & 0 deletions modules/network-observability-RTT-overview.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Module included in the following assemblies:
//
// network_observability/observing-network-traffic.adoc

:_mod-docs-content-type: CONCEPT
[id="network-observability-RTT-overview_{context}"]
= Round-Trip Time
You can use TCP handshake Round-Trip Time (RTT) to analyze network flows. You can use RTT captured from the `fentry/tcp_rcv_established` eBPF hookpoint to read SRTT from the TCP socket to help with the following:


* Network Monitoring: Gain insights into TCP handshakes, helping
network administrators identify unusual patterns, potential bottlenecks, or
performance issues.
* Troubleshooting: Debug TCP-related issues by tracking latency and identifying
misconfigurations.
By default, when RTT is enabled, you can see the following TCP handshake RTT metrics represented in the *Overview*:

* Top X 90th percentile TCP handshake Round Trip Time with overall
* Top X average TCP handshake Round Trip Time with overall
* Bottom X minimum TCP handshake Round Trip Time with overall
Other RTT panels can be added in *Manage panels*:

* Top X maximum TCP handshake Round Trip Time with overall
* Top X 99th percentile TCP handshake Round Trip Time with overall
See the _Additional Resources_ in this section for more information about enabling and working with this view.
48 changes: 48 additions & 0 deletions modules/network-observability-RTT.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Module included in the following assemblies:
//
// * network_observability/observing-network-traffic.adoc

:_mod-docs-content-type: PROCEDURE
[id="network-observability-RTT_{context}"]
= Working with RTT tracing
You can track RTT by editing the `FlowCollector` to the specifications in the following YAML example.

.Procedure
. In the web console, navigate to *Operators* -> *Installed Operators*.
. In the *Provided APIs* heading for the *NetObserv Operator*, select *Flow Collector*.
. Select *cluster*, and then select the *YAML* tab.
. Configure the `FlowCollector` custom resource for RTT tracing, for example:
+
[id="network-observability-flowcollector-configuring-RTT_{context}"]
.Example `FlowCollector` configuration
[source, yaml]
----
apiVersion: flows.netobserv.io/v1beta2
kind: FlowCollector
metadata:
name: cluster
spec:
namespace: netobserv
deploymentModel: Direct
agent:
type: eBPF
ebpf:
features:
- FlowRTT <1>
----
<1> You can start tracing RTT network flows by listing the `FlowRTT` parameter in the `spec.agent.ebpf.features` specification list.

.Verification
When you refresh the *Network Traffic* page, the *Overview*, *Traffic Flow*, and *Topology* views display new information about RTT:

.. In the *Overview*, select new choices in *Manage panels* to choose which graphical visualizations of RTT to display.
.. In the *Traffic flows* table, the *Flow RTT* column can be seen, and you can manage display in *Manage columns*.
.. In the *Traffic Flows* view, you can also expand the side panel to view more information about RTT.
+
.Example filtering
... Click the *Common* filters -> *Protocol*.
... Filter the network flow data based on *TCP*, *Ingress* direction, and look for *FlowRTT* values greater than 10,000,000 nanoseconds (10ms).
... Remove the *Protocol* filter.
... Filter for *Flow RTT* values greater than 0 in the *Common* filters.

.. In the *Topology* view, click the Display option dropdown. Then click *RTT* in the *edge labels* drop-down list.
15 changes: 11 additions & 4 deletions network_observability/observing-network-traffic.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,23 @@ As an administrator, you can observe the network traffic in the {product-title}
include::modules/network-observability-overview.adoc[leveloffset=+1]
include::modules/network-observability-working-with-overview.adoc[leveloffset=+2]
include::modules/network-observability-configuring-options-overview.adoc[leveloffset=+2]
include::modules/network-observability-pktdrop-overview.adoc[leveloffset=+3]
include::modules/network-observability-pktdrop-overview.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* For more information about configuring packet drops in the `FlowCollector`, see xref:../network_observability/observing-network-traffic.adoc#network-observability-packet-drops_nw-observe-network-traffic[Working with packet drops].
* xref:../network_observability/observing-network-traffic.adoc#network-observability-packet-drops_nw-observe-network-traffic[Working with packet drops]
include::modules/network-observability-dns-overview.adoc[leveloffset=+3]
include::modules/network-observability-dns-overview.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* For more information about configuring DNS in the `FlowCollector`, see xref:../network_observability/observing-network-traffic.adoc#network-observability-dns-tracking_nw-observe-network-traffic[Working with DNS tracking].
* xref:../network_observability/observing-network-traffic.adoc#network-observability-dns-tracking_nw-observe-network-traffic[Working with DNS tracking]
include::modules/network-observability-RTT-overview.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* xref:../network_observability/observing-network-traffic.adoc#network-observability-RTT_nw-observe-network-traffic[Working with RTT tracing]
//Traffic flows
include::modules/network-observability-trafficflow.adoc[leveloffset=+1]
Expand All @@ -31,6 +37,7 @@ include::modules/network-observability-configuring-options-trafficflow.adoc[leve
include::modules/network-observability-working-with-conversations.adoc[leveloffset=+2]
include::modules/network-observability-packet-drops.adoc[leveloffset=+2]
include::modules/network-observability-dns-tracking.adoc[leveloffset=+2]
include::modules/network-observability-RTT.adoc[leveloffset=+2]
include::modules/network-observability-histogram-trafficflow.adoc[leveloffset=+2]

//Topology
Expand Down

0 comments on commit 35aadb1

Please sign in to comment.