-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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: add intel_pmu plugin #9724
Conversation
Thanks so much for the pull request! |
16a9507
to
20e2307
Compare
Thanks so much for the pull request! |
3 similar comments
Thanks so much for the pull request! |
Thanks so much for the pull request! |
Thanks so much for the pull request! |
@bkotlowski are you having trouble signing the CLA? It is the form at the end of this page: https://www.influxdata.com/legal/cla/ |
730d65c
to
772b600
Compare
Thanks so much for the pull request! |
772b600
to
784b8bb
Compare
Thanks so much for the pull request! |
@sspaink bklotowski is covered by the Intel corporate CLA. Is there a way to disable the bot or have it check the corporate list? |
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.
There are a lot of go source code files. Many of them don't seem to be telegraf specific but would be useful for any go language program that uses pmu. Would it be more appropriate to put them in a separate library or include them in intel/iaevents instead of putting them directly in telegraf?
They form a basis for profiling applications to trace dynamic control flow and identify hotspots. | ||
|
||
### Configuration: | ||
```toml |
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.
Make sure to follow the config style guide (https://github.com/influxdata/telegraf/blob/master/docs/developers/SAMPLE_CONFIG.md#style) It looks like you have some config values here that aren't applicable to all users or are defaults that should be commented.
Sync with intel_pmu.go SampleConfig() if you make changes.
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.
In terms of defaults, I believe that all of them are commented out. If you mean "events" or "cores"/"sockets" fields, there is a quote in guidance: "If a parameter does not have a default or must frequently be changed then have it uncommented". So there are parameters that need to be frequently changed like a mentioned list of events or the list of cores/sockets. They do not have a specific default value, only we check if the parameters are absent in config, we consider it as a will to obtain all possible events/cores/sockets, but this is not a very common case.
Could you point out which exactly config values here aren't applicable to all users or don't meet the guidelines? 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.
@KubaTrojan If they change frequently keeping them uncommented seems fine. I'm not too familiar with Intel PMU, are the events in the config (e.g. INST_RETIRED.ANY
) universal? Or do they depend on the event_definitions
? If they don't apply to everyone then commenting out the events parameter might be a good idea.
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.
They change frequently and that's the most common use case for the plugin is to fill this with event names that need to be counted - so we'd keep that uncommented. But for sure we could explicitly state that fact in the comment above events field.
Added "Event names shall match names from event_definitions files" info.
!signed-cla |
f3f001a
to
a392126
Compare
Hi @reimda. Thanks for your comments! I'm an original author of this plugin, @bkotlowski has created this PR during my holidays, so now I will try to answer your remarks. |
7425463
to
2c9c006
Compare
2c9c006
to
5b83bd4
Compare
It seems that the CI failed because "powerdns" plugin's test has failed. Is it a known issue and could we rerun the CI? |
Looks like new artifacts were built from this PR. Get them here!Artifact URLs |
There haven't been more comments for some time. @reimda, do you want to provide more feedback? If not, could we process this PR to be merged? |
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.
Thank you for the contribution @bkotlowski, overall the code looks great and your test coverage is awesome. Although there is a considerable amount of code being added for this plugin, and some of the files look like they have logic that should probably be in the package github.com/intel/iaevents
(mainly the logic in: activators.go, config.go, reader.go, resolver.go). I would like to hear your thoughts on what could be moved to help reduce the size of the pull request.
They form a basis for profiling applications to trace dynamic control flow and identify hotspots. | ||
|
||
### Configuration: | ||
```toml |
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.
@KubaTrojan If they change frequently keeping them uncommented seems fine. I'm not too familiar with Intel PMU, are the events in the config (e.g. INST_RETIRED.ANY
) universal? Or do they depend on the event_definitions
? If they don't apply to everyone then commenting out the events parameter might be a good idea.
Lint Code Base fails on part of the LICENSE_OF_DEPENDENCIES.md file which is not in the scope of proposed changes. Fixed here: #10065 |
📦 Looks like new artifacts were built from this PR. Expand this list to get them here! 🐯Artifact URLs |
Co-authored-by: ktrojan <[email protected]>
Required for all PRs:
resolves #9687
Added an input plugin to exposes Intel PMU (Performance Monitoring Unit) metrics available through Linux Perf subsystem.