How can I tell where puppet is spending its time?
I'm using puppet to manage servers that each have a number of installations of one or two similar applications. As we add copies of the installation, puppet is becoming slower and slower, so that it is now taking 10 -> 15 minutes. How can I find out what it is doing, and where it is spending its time?
So far, I have tried...
- Looking in /var/lib/puppet/reports/HOST/TIME.yaml. This has many entries relating to "evaluation_time". But most are less than .01 of a second, and when I add them all together they come to something like 1/3rd of the actual run time.
- Running puppet apply with --evaltrace. This, too, produces many "Evaluated in" reports. But they are only to 2 decimal places, so most of them are 0, and the total time is nowhere near the actual run time
What is happening to the time that is not showing up in "reports"?
How can I see the execution time grouped in such a way that I can see how to simplify/reduce our manifests to speed things up?