vagrant-timer vagrant plugin allows you to capture diagnostic logging
about the duration that various vagrant actions take, and save them to a file
for later analysis.
Each line of the log file is a JSON object with the following keys:
- The name of the base vagrant box being run
<dt>action_name</dt> <dd> The hook being executed. Documented <a href="https://www.vagrantup.com/docs/plugins/action-hooks.html">by Vagrant</a> </dd> <dt>initialized_at</dt> <dd>ISO 8601 timestame recording the time that the hook was initialized</dd> <dt>started_at</dt> <dd>ISO 8601 timestame recording the time that the hook was called</dd> <dt>ended_at</dt> <dd>ISO 8601 timestame recording the time that the hook call ended</dd> <dt>init_duration</dt> <dd>Duration in seconds from the time the hook was initialized to when it was called</dd> <dt>call_duration</dt> <dd>Duration in seconds from the start of the hook call to the end of the hook call</dd>
vagrant plugin install vagrant-timer
Set the environment variable
VAGRANT_TIMER_LOG to a filename to record the
durations of all executed vagrant actions. The log messages will be appended
to the specified file. If the variable is unset, no messages will be logged.
The log file name may include formatting variables understood by
These will be interpolated with the start time of the event. For example, if
VAGRANT_TIMER_LOG = .vagrant-logs/%Y-%m-%d.log, then an event that happens on
July 21st, 2016 will end up in the log file
After checking out the repo, run
bin/setup to install dependencies. You can
bin/console for an interactive prompt that will allow you to
To run this plugin locally, use
bundle exec vagrant <some command>. This will use the
Vagrantfile in the current repository. To install the plugin in your
local vagrant environment without publishing to rubygems.org,
do the following:
$ rake build $ bundle cache --all $ cp pkg/*.gem vendor/cache $ mv vendor/cache vendor/gems $ gem generate_index -d vendor $ vagrant plugin install vagrant-timer --plugin-source=file://$(pwd)/vendor
To release a new version, update the version number in
version.rb, and then
bundle exec rake release, which will create a git tag for the version,
push git commits and tags, and push the
.gem file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/edx/vagrant-timer.