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

Enhance bulk counter poll HLD and implementation for better accuracy and performance #1864

Merged

Conversation

stephenxs
Copy link
Collaborator

@stephenxs stephenxs commented Dec 10, 2024

Make counter-polling interval more accurate by

  1. setting bulk chunk size for a counter or per counter
  2. collect timestamp in sairedis instead of in the Lua plugin

Implementation PRs

Module PR title state
sonic-swss-common Add field for bulk chunk size in flex counter GitHub issue/pull request detail
sonic-sairedis Define bulk chunk size and bulk chunk size per counter ID GitHub issue/pull request detail
sonic-sairedis Optimize counter polling interval by making it more accurate GitHub issue/pull request detail
sonic-swss Optimize counter polling interval by making it more accurate GitHub issue/pull request detail
sonic-buildimage Support yang model for bulk size per counter GitHub issue/pull request detail

Signed-off-by: Stephen Sun stephens@nvidia.com

Signed-off-by: Stephen Sun <stephens@nvidia.com>
Signed-off-by: Stephen Sun <stephens@nvidia.com>
@stephenxs stephenxs changed the title Bulk counter poll chunk size Make the counter polling interval accurate by setting Bulk counter poll chunk size Dec 10, 2024
@stephenxs stephenxs changed the title Make the counter polling interval accurate by setting Bulk counter poll chunk size Make the counter polling interval accurate by setting bulk counter poll chunk size per group or per counter Dec 10, 2024
Signed-off-by: Stephen Sun <stephens@nvidia.com>
@stephenxs stephenxs marked this pull request as ready for review December 11, 2024 07:58
Signed-off-by: Stephen Sun <stephens@nvidia.com>
@stephenxs stephenxs requested a review from kcudnik December 14, 2024 00:44
Signed-off-by: Stephen Sun <stephens@nvidia.com>
@mssonicbld
Copy link
Collaborator

/azp run

Copy link

No pipelines are associated with this pull request.

@liat-grozovik liat-grozovik changed the title Make the counter polling interval accurate by setting bulk counter poll chunk size per group or per counter Enhance bulk counter poll HLD and implementation for better accuracy and performance Feb 2, 2025
@liat-grozovik liat-grozovik merged commit adf1b32 into sonic-net:master Feb 2, 2025
1 check passed
@stephenxs stephenxs deleted the bulk-counter-poll-chunk-size branch February 2, 2025 10:09
qiluo-msft pushed a commit to sonic-net/sonic-buildimage that referenced this pull request Feb 13, 2025
Why I did it
Support yang model for bulk size per counter

HLD: sonic-net/SONiC#1864
mssonicbld added a commit to mssonicbld/sonic-buildimage that referenced this pull request Feb 19, 2025
<!--
     Please make sure you've read and understood our contributing guidelines:
     https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

     ** Make sure all your commits include a signature generated with `git commit -s` **

     If this is a bug fix, make sure your description includes "fixes #xxxx", or
     "closes #xxxx" or "resolves #xxxx"

     Please provide the following information:
-->

#### Why I did it

Support yang model for bulk size per counter

HLD: sonic-net/SONiC#1864

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it

#### How to verify it

<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205
- [ ] 202211
- [ ] 202305

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

<!--
 Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
mssonicbld added a commit to sonic-net/sonic-buildimage that referenced this pull request Feb 20, 2025
<!--
 Please make sure you've read and understood our contributing guidelines:
 https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

 failure_prs.log skip_prs.log Make sure all your commits include a signature generated with `git commit -s` **

 If this is a bug fix, make sure your description includes "fixes #xxxx", or
 "closes #xxxx" or "resolves #xxxx"

 Please provide the following information:
-->

#### Why I did it

Support yang model for bulk size per counter

HLD: sonic-net/SONiC#1864

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it

#### How to verify it

<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205
- [ ] 202211
- [ ] 202305

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

<!--
 Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
prabhataravind pushed a commit to prabhataravind/sonic-buildimage that referenced this pull request Mar 5, 2025
Why I did it
Support yang model for bulk size per counter

HLD: sonic-net/SONiC#1864
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants