Skip to content

Conversation

@portante
Copy link
Member

@portante portante commented Sep 30, 2020

Delivery mechanism for Mustafa's & Keshav's commits for "persistent tools" support. We provide support for Prometheus based metric collection from node_exporter and dcgm tools.

Persistent tools are those tools started before any iteration runs, and end after all iterations have completed.

This work incorporates the changes from #1787 as well.

@portante portante added enhancement Agent tools Of and related to the operation and behavior of various tools (iostat, sar, etc.) labels Sep 30, 2020
@portante portante added this to the v0.70 milestone Sep 30, 2020
@portante portante self-assigned this Sep 30, 2020
@portante
Copy link
Member Author

We have 39 commits in this PR, will rebase down to 2.

@portante portante marked this pull request as ready for review September 30, 2020 04:13
@portante
Copy link
Member Author

@Maxusmusti, this commit has been rebased and squashed so that all of your work is in the first commit, including the persistent tools work, and @keshavm02's work is in the second commit. I believe this is ready to be merged into master.

@Maxusmusti
Copy link
Member

Looks like everything is in there. I will run this branch through my personal testing gauntlet in the morning one last time to make sure it's all still good, then I'll stamp with a seal of approval.

npalaska
npalaska previously approved these changes Sep 30, 2020
Copy link
Member

@npalaska npalaska left a comment

Choose a reason for hiding this comment

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

Looks fine to me

Maxusmusti
Maxusmusti previously approved these changes Sep 30, 2020
Copy link
Member

@Maxusmusti Maxusmusti left a comment

Choose a reason for hiding this comment

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

All testing checked out (aside from the unrelated sysinfo-dump issues)

Copy link
Member

@ndokos ndokos left a comment

Choose a reason for hiding this comment

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

Partial review: still need to do the big three at the end.

dbutenhof
dbutenhof previously approved these changes Sep 30, 2020
@Maxusmusti
Copy link
Member

I'll make a new PR tomorrow morning post-scrum for just addressing these code review changes, then get those thrown in here so we can get this merged eod tomorrow (or Friday if people would like more time to add additional review comments, whatever works)

@portante
Copy link
Member Author

portante commented Oct 1, 2020

See also #1835.

@portante
Copy link
Member Author

portante commented Oct 1, 2020

Merge commits from PR #1835.

Maxusmusti and others added 2 commits October 1, 2020 16:21
This work adds the notion of a "collector" to the Tool Data Sink, and
"persistent tools" which run continuously without cycling through the
"start", "stop", and "send" phases.  The collector is responsible for
continuously pulling data from those tools which are now started during
the new "init" phase, and stopped during the new "end" phase.

The first actual implementation of this kind of collector is for the
Prometheus data collection environment, where a `node-exporter`
"persistent tool" is run providing an end-point for a prometheus server
"collector" to pull data from it and store it locally off the run
directory (`${benchmark_run_dir}`,
e.g. `${benchmark_run_dir}/collector/prometheus`).

This work adds the `tool-scripts/meta.json` file which is used to
describe which tools are persistent and which are transient (default).
Co-authored-by: maxusmusti <meyceoz@redhat.com>
Copy link
Contributor

@zulcss zulcss left a comment

Choose a reason for hiding this comment

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

see comments


self.logger.debug("PROM TERMINATED")

args = [
Copy link
Contributor

Choose a reason for hiding this comment

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

Should probably catch an exception here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Agent enhancement tools Of and related to the operation and behavior of various tools (iostat, sar, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Identify tool characteristics via persistent metadata rather than embedded code

8 participants