A Chef cookbook to display profiling information at the end of the run.
Based on chef-handler-profiler by Joe Miller.
Poise Profiler Timing:
Time Resource
------------ -------------
1.018142 execute[sleep 1]
1.001729 ruby_block[test]
0.006395 file[/test]
Time Class
------------ -------------
1.018142 Chef::Resource::Execute
1.001729 Chef::Resource::RubyBlock
0.006395 Chef::Resource::File
Profiler JSON: {"resources":{"ruby_block[test]":1.001729177,"file[/test]":0.006395018,"execute[sleep 1]":1.018141868},"classes":{"Chef::Resource::RubyBlock":1.001729177,"Chef::Resource::File":0.006395018,"Chef::Resource::Execute":1.018141868},"test_resources":{}}
Add recipe[poise-profiler]
to your run list or add poise-profiler
as a
dependency in your metadata.rb
.
As shown above, JSON output is available for use with graphing or other trend
analysis. To enable this either set the environment variable $CI
or the node
attribute node['CI']
.
Development sponsored by Bloomberg.
The Poise test server infrastructure is sponsored by Rackspace.
Copyright 2016, Noah Kantrowitz
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.