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

Adding a profile summary task #13

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

timidri
Copy link

@timidri timidri commented Oct 21, 2019

Added a task to easily show the summary of the profiling log with Bolt or PE.

For now, the task only supports human-readable output.

The task accepts 1 optional parameter called logs which is a space-separated string listing log files to be analyzed. The default value is /var/log/puppetlabs/puppetserver/puppetserver.log.

Note: for the task to work, it needs to be put in the Puppetfile as follows (replacing hyphens in the name by underscores):

mod 'puppet_profile_parser',
    git: 'https://github.com/timidri/puppet-profile-parser.git',
    branch: 'add-profile-task'

image

image

@timidri timidri changed the title Addding profile summary task Adding profile summary task Oct 21, 2019
@timidri timidri changed the title Adding profile summary task Adding a profile summary task Oct 21, 2019
tasks/show_summary.sh Outdated Show resolved Hide resolved
@reidmv
Copy link

reidmv commented Oct 21, 2019

We may want a separate Puppet module to house tasks like this. This repo isn't a valid Puppet module by itself, I don't think.

@timidri
Copy link
Author

timidri commented Oct 21, 2019

We may want a separate Puppet module to house tasks like this. This repo isn't a valid Puppet module by itself, I don't think.

@reidmv I wanted an easy approach without dependencies. It works even though the repo isn't a valid module - but we can make it a valid module anytime. Would you still prefer a separate module depending on this non-legal module?

@reidmv
Copy link

reidmv commented Oct 21, 2019

Up to @Sharpie. As you said, "we can make it a valid module anytime". I'm perfectly happy letting task/plan content sit here as its developed and not worry about it unless or until it becomes so polished and compelling that we want to make it available on the Forge. Can reconsider then.

@timidri
Copy link
Author

timidri commented Oct 23, 2019

@Sharpie any thoughts?

@Sharpie
Copy link
Owner

Sharpie commented Oct 23, 2019

Now that tasks are widely available, it does seem like a good idea to re-factor this script into a module.

One thing that does give me pause is that the script can produce a lot of output if run against a large infrastructure where lots of profiling activity is happening. My gut feel is that Orchestrator and Bolt will work best when script output size is "reasonable" and this could push over into "ridiculous".

The solution there may be to caution against large output, add a throttle that prevents more than N profiles from being returned, and later add the ability to select Zipkin output and ship it somewhere that can handle bulk data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants