-
Notifications
You must be signed in to change notification settings - Fork 14
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
NETOBSERV-1064: TCP drop & DNS tracking #324
Conversation
@jpinsonneau Looks good |
Hey Eran, thanks for taking a look to this PoC 👍 I can hide the This was only test data so I'm not sure we will have partial drops yet. I feel it's possible when retry occurs ? We should see that in netobserv/network-observability-operator#331 |
Codecov Report
@@ Coverage Diff @@
## main #324 +/- ##
==========================================
- Coverage 57.92% 57.60% -0.33%
==========================================
Files 150 153 +3
Lines 6665 7019 +354
Branches 797 852 +55
==========================================
+ Hits 3861 4043 +182
- Misses 2588 2742 +154
- Partials 216 234 +18
Flags with carried forward coverage won't be shown. Click here to find out more.
|
New image: ["quay.io/netobserv/network-observability-console-plugin:793cb4f"]. It will expire after two weeks. |
New image: quay.io/netobserv/network-observability-console-plugin:f627dbf. It will expire after two weeks. |
@jpinsonneau: This pull request references NETOBSERV-1064 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@jpinsonneau: This pull request references NETOBSERV-1064 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
New image: quay.io/netobserv/network-observability-console-plugin:f8c015c. It will expire after two weeks. |
New image: quay.io/netobserv/network-observability-console-plugin:05b8fa1. It will expire after two weeks. |
New image: quay.io/netobserv/network-observability-console-plugin:f48fbb3. It will expire after two weeks. |
@@ -147,6 +147,9 @@ const getPeerName = ( | |||
if (name) { | |||
return truncateParts(name, truncateLength); | |||
} | |||
if (scope === 'droppedCause' || scope === 'droppedState') { |
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.
Could be for a follow-up PR: looks like these new values aren't really scopes, and since they need sometimes to be excluded, maybe we could compose types such as:
type FlowScope = 'host' | ... // (usual flow scopes);
type AggregateBy = FlowScope | 'droppedCause' | 'droppedState';
So we don't mix them too much which will avoid having to handle special cases like that
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.
here we go: 826ac69
if (error) { | ||
return <LokiError title={t('Unable to get overview')} error={error} />; | ||
} else if (_.isEmpty(metrics) || !totalMetric) { | ||
//TODO: manage each metrics loading state separately |
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.
we should add a task for that in tech-debt
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.
|
||
const timeContent = () => { | ||
const filteredFlows = flows || []; | ||
const duration = |
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 guess a check is needed that filteredFlows.length
is >0 (avoid div by 0)
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.
here we go: 3cf1597
Finished the code review ; very few comments / nothing big! |
My main concern is for the whole DNS epic: I don't think it brings as much value as it could, because of the user workflow: having to find specific DNS request and response by playing with filters, before being eventually able to get the latency info, makes it only relevant for specific troubleshooting use cases and not for monitoring in a broader sense, and even then, the value added is limited as we can get the same info by looking at rq/rs flow timestamps. I get that this is inherent to the data provided by the Agent, so maybe we need to discuss more about how we could enhance the experience (e.g. revisit how the agent provides the dns flows?) This is not blocking this PR, but I think we should either find follow-ups to do as part of the DNS epic, or flag this epic as experimental, or something in that vein, if it's not fully fleshed and is required to be revisited. Also, as follow-ups for DNS: should we do anything specific about the DNS flags? I see the field is added but nothing is done from it. E.g. filtering for DNS errors, showing errors in a specific way? |
New image: quay.io/netobserv/network-observability-console-plugin:ba451d6. It will expire after two weeks. |
/lgtm |
New changes are detected. LGTM label has been removed. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@jotak looks like rebasing makes me forget about a flag to expose DNS Id filter: Have you tested it ? |
/ok-to-test |
New image: It will expire after two weeks. To deploy this build, run from the operator repo, assuming the operator is running: USER=netobserv VERSION=7f56fc4 make set-plugin-image |
#356 included this PR |
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Replaced by #356 |
Adding
packet loss
query options as:Also add drops count in
Packets
&Bytes
columns:Side panel detailed view:
Full page:
Topology redlines:
Overview new graphs:
Adding
DNS request / response / latency
:Summary panel:
The console plugin check for
features: ['tcpDrop', 'dnsTracking']
in its ConfigMap to show / hide the additionnal panels / columns.ToDo:
Topology selectionactually works fine on 4.13.4Exclude "0 = empty dropped" state / "not dropped yet" cause from queriesReplaced by full textYou can use
make start-standalone-mock
to try this PR without running related ones:netobserv/netobserv-ebpf-agent#115