-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
feat(inputs.p4runtime): Implementation of P4Runtime input plugin #12473
feat(inputs.p4runtime): Implementation of P4Runtime input plugin #12473
Conversation
Thanks so much for the pull request! |
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.
Hi,
Thank you for the PR! I have done an initial first pass through this. While I have seen your issue, my high-level question is, what is P4Runtime used for? What devices, systems, etc. use this? Trying to understand what the target user is and what we would need to support this.
Thanks!
Added brief info about P4 and P4Runtime at the beginning of README.md |
I don't know what's going on with run-readme-linter job, but for this readme result is: |
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.
Thanks for the updates! Think I am good except for the coutner_index
as a tag. Maybe if I saw more example data that you are parsing, but as of now having an 'index' as a tag is a red flag.
Thanks again!
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.
Thanks!
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.
Very nice code @jokuniew! I do have some smaller comments though. Can you please take a look!?
Co-Authored-By: Jakub Sikorski <jakub.sikorski@intel.com>
* rename address -> endpoint * rename counter_names -> counter_names_include * remove device_id string to int parsing * few README fixes, lists & more explanation Co-Authored-By: Jakub Sikorski <jakub.sikorski@intel.com>
* remove line with CounterNamesInclude in init() * change testutils methods from Equal to Empty etc. * move Add to wg inside loop * unwrap method in tests Co-Authored-By: Jakub Sikorski <jakub.sikorski@intel.com>
d68103d
to
1306ca8
Compare
Download PR build artifacts for linux_amd64.tar.gz, darwin_amd64.tar.gz, and windows_amd64.zip. 📦 Click here to get additional PR build artifactsArtifact URLs |
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.
Looks good to me. Thanks for the fast and nice update @jokuniew!
Co-Authored-By: Jakub Sikorski jakub.sikorski@intel.com
Required for all PRs
resolves #12470
P4Runtime is a gRPC server whose API is used to interact with a control plane specification for controlling the data plane elements of a device defined or described by a P4 program.
P4Runtime Specification: https://p4.org/p4-spec/docs/p4runtime-spec-working-draft-html-version.html
P4 programmable pipelines provide the flexibility of adding custom counters that can help observe the pipeline's operation. We provide the means to evaluate the effectiveness of those pipelines via exposed counters. That is the motivation why we would like to have a Telegraf input plugin that exposes P4Runtime Counters metrics.