Skip to content
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-983: Change aggregation flow map to hashmap instead perCPU hashmap #118

Merged
merged 1 commit into from
May 31, 2023
Merged

Conversation

msherif1234
Copy link
Contributor

@msherif1234 msherif1234 commented May 5, 2023

it was brought up by kernel folks that the agent kernel hook assumes that packets from the same flow will always be going to the same cpu core however this isn't guaranteed
that will messup time analysis done by the TC hook since we really don't have perCpu info then there is no need to use perCPUHASH map and we better off with global hashmap

Baseline stats from 1.2:
https://docs.google.com/spreadsheets/d/1P1penjeuOCH9Y7gTDP6uFTpKfG8Uow1gMaCIWB2_-s8/edit#gid=1137245831

New stats from today's run (1.3 + new eBPF image):
https://docs.google.com/spreadsheets/d/17GzV5vwHwananVv8X02T18UIFQ31n-_RUfMrwu-pCDU/edit?usp=sharing

@codecov
Copy link

codecov bot commented May 5, 2023

Codecov Report

Merging #118 (1ece267) into main (3f192b3) will decrease coverage by 1.21%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##             main     #118      +/-   ##
==========================================
- Coverage   41.80%   40.60%   -1.21%     
==========================================
  Files          30       31       +1     
  Lines        2050     2054       +4     
==========================================
- Hits          857      834      -23     
- Misses       1155     1181      +26     
- Partials       38       39       +1     
Flag Coverage Δ
unittests 40.60% <50.00%> (-1.21%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
pkg/agent/agent.go 39.20% <ø> (-0.58%) ⬇️
pkg/ebpf/tracer.go 0.00% <0.00%> (ø)
pkg/flow/record.go 76.00% <ø> (-7.34%) ⬇️
pkg/flow/account.go 82.69% <100.00%> (+0.33%) ⬆️
pkg/flow/tracer_map.go 83.07% <100.00%> (+2.06%) ⬆️
pkg/test/tracer_fake.go 67.85% <100.00%> (ø)

... and 3 files with indirect coverage changes

@msherif1234
Copy link
Contributor Author

/ok-to-test

@openshift-ci openshift-ci bot added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label May 5, 2023
@github-actions
Copy link

github-actions bot commented May 5, 2023

New image: ["quay.io/netobserv/netobserv-ebpf-agent:bce991e"]. It will expire after two weeks.

@github-actions github-actions bot removed the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label May 9, 2023
@msherif1234
Copy link
Contributor Author

/ok-to-test

@openshift-ci openshift-ci bot added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label May 9, 2023
@github-actions
Copy link

github-actions bot commented May 9, 2023

New image: ["quay.io/netobserv/netobserv-ebpf-agent:5ee5fa1"]. It will expire after two weeks.

@msherif1234 msherif1234 changed the title WIP: change aggregation flow map to hashmap instead perCPU hashmap Change aggregation flow map to hashmap instead perCPU hashmap May 9, 2023
@nathan-weinberg
Copy link

@github-actions github-actions bot removed the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label May 10, 2023
@msherif1234
Copy link
Contributor Author

/ok-to-test

@openshift-ci openshift-ci bot added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label May 10, 2023
@github-actions
Copy link

New image: ["quay.io/netobserv/netobserv-ebpf-agent:b82acd4"]. It will expire after two weeks.

@nathan-weinberg
Copy link

@nathan-weinberg
Copy link

nathan-weinberg commented May 11, 2023

@nathan-weinberg
Copy link

@msherif1234
Copy link
Contributor Author

msherif1234 commented May 11, 2023

image

image

pkg/flow/tracer_map.go Outdated Show resolved Hide resolved
@jotak jotak added no-doc This PR doesn't require documentation change on the NetObserv operator no-qe This PR doesn't necessitate QE approval labels May 25, 2023
Signed-off-by: msherif1234 <mmahmoud@redhat.com>
@github-actions github-actions bot removed the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label May 25, 2023
@msherif1234 msherif1234 requested a review from jotak May 25, 2023 16:17
Copy link
Member

@jotak jotak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @msherif1234 !
/lgtm

@msherif1234
Copy link
Contributor Author

/approve

@openshift-ci
Copy link

openshift-ci bot commented May 31, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: msherif1234

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-robot openshift-merge-robot merged commit b6e2b87 into netobserv:main May 31, 2023
3 checks passed
@msherif1234 msherif1234 changed the title Change aggregation flow map to hashmap instead perCPU hashmap NETOBSERV-983: Change aggregation flow map to hashmap instead perCPU hashmap Jun 6, 2023
msherif1234 added a commit to msherif1234/netobserv-ebpf-agent that referenced this pull request Aug 31, 2023
msherif1234 added a commit to msherif1234/netobserv-ebpf-agent that referenced this pull request Aug 31, 2023
msherif1234 added a commit to msherif1234/netobserv-ebpf-agent that referenced this pull request Aug 31, 2023
msherif1234 added a commit to msherif1234/netobserv-ebpf-agent that referenced this pull request Aug 31, 2023
msherif1234 added a commit to msherif1234/netobserv-ebpf-agent that referenced this pull request Aug 31, 2023
msherif1234 added a commit to msherif1234/netobserv-ebpf-agent that referenced this pull request Aug 31, 2023
msherif1234 added a commit to msherif1234/netobserv-ebpf-agent that referenced this pull request Aug 31, 2023
msherif1234 added a commit to msherif1234/netobserv-ebpf-agent that referenced this pull request Sep 5, 2023
msherif1234 added a commit to msherif1234/netobserv-ebpf-agent that referenced this pull request Sep 6, 2023
…netobserv#118)"

This reverts commit b6e2b87.

fix

Signed-off-by: msherif1234 <mmahmoud@redhat.com>
openshift-merge-robot pushed a commit that referenced this pull request Sep 8, 2023
…#118)" (#172)

This reverts commit b6e2b87.

fix

Signed-off-by: msherif1234 <mmahmoud@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved lgtm no-doc This PR doesn't require documentation change on the NetObserv operator no-qe This PR doesn't necessitate QE approval
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants