« Previous -
Version 2/15
(diff) -
Next » -
Current version
Paul Berry, 12/28/2010 08:46 pm
Documented historical_value.
Report Format 2¶
This is the format of reports that is output by Puppet version 2.6.5.
The Puppet::Transaction::Report contains the following attributes:
| name | type | description |
|---|---|---|
| host | string | the host that generated this report. |
| time | datetime | when the run completed. |
| logs | array | 0 or more Puppet::Util::Log objects. |
| metrics | hash | maps from string (metric category) to Puppet::Util::Metric. |
| resource_statuses | hash | maps from resource name to Puppet::Resource::Status |
| external_times | hash | this is always a hash from :config_retrieval to a float |
| configuration_version | string or integer | The "configuration version" of the puppet run. This is a string if the user has specified their own versioning scheme, otherwise an integer representing seconds since the epoch. |
| report_format | integer | 2 |
| puppet_version | string | The version of the Puppet agent. |
| kind | string | "inspect" if this report came from a "puppet inspect" run, "apply" if it came from a "puppet apply" or "puppet agent" run. |
A Puppet::Util::Log object contains the following attributes:
| name | type | description |
|---|---|---|
| file | string | the pathname of the manifest file which triggered the log message. |
| line | integer | the line number in the manifest file which triggered the log message. |
| level | symbol | severity of the message. Possible values for level are :debug, :info, :notice, :warning, :err, :alert, :emerg, :crit |
| message | string | the message itself. |
| source | string | the origin of the log message. This could be a resource, a property of a resource, or the string "Puppet". |
| tags | array | each array element is a string. |
| time | datetime | when the message was sent. |
| version | string or integer | If the source is not "Puppet", this is the "configuration version" of the puppet run. This is a string if the user has specified their own versioning scheme, otherwise an integer representing seconds since the epoch. If the source is "Puppet", this is the Puppet version of the agent. |
The “file” and “line” attributes are not always present.
A Puppet::Util::Metric object represents all the metrics in a single category. It contains the following attributes:
| name | type | description |
|---|---|---|
| name | string | name of the metric category. This is the same as the key associated with this metric in the metrics hash of the Puppet::Transaction::Report. |
| label | string | This is the "titleized" version of the name, which means underscores are replaced with spaces and the first word is capitalized. |
| values | array | All the metric values within this category. Each element is of the form [name, titleized_name, value], where name is the name of the particular metric as a string or symbol, titleized_name is the "titleized" string of the name, and value is the quantity (an integer or a float). |
The set of particular metrics and categories which appear in a report is a fixed set. In a successful report, the categories and metrics are:
- In the “time” category, there is a metric for every resource type for which there is at least one resource in the catalog, plus an additional metric, called :config_retrieval. Each value in the “time” category is a float.
- In the “resources” category, the metrics are :failed, :out_of_sync, :changed, and :total. Each value in the “resources” category is an integer.
- In the “events” category, there are up to five metrics: “success”, “failure”, “audit”, “noop”, and :total. :total is always present; the others are only present when their values are non-zero. Each value in the “events” category is an integer.
- In the “changes” category, there is only one metric, called :total. Its value is an integer.
Failed reports contain no metrics.
A Puppet::Resource::Status object represents the status of a single resource. It contains the following attributes:
| name | type | description |
|---|---|---|
| resource | string | the resource name, in the form Type[title]. This is always the same as the key corresponding to this Puppet::Resource::Status object in the resource_statuses hash. |
| file | string | the pathname of the manifest file which declared the resource |
| line | integer | the line number in the manifest file which declared the resource |
| evaluation_time | float | the amount of time, in seconds, taken to evaluate the resource |
| change_count | integer | the number of properties which changed |
| out_of_sync_count | integer | the number of properties which were out of sync |
| source_description | string | the path of the resource |
| tags | array | the strings with which the resource is tagged |
| time | datetime | the time at which the resource was evaluated |
| version | string or integer | the "configuration version" of the puppet run |
| events | array | the Puppet::Transaction::Event objects for the resource |
| out_of_sync | boolean | True if out_of_sync_count > 0, otherwise absent |
| changed | boolean | True if change_count > 0, otherwise absent |
A Puppet::Transaction::Event object represents a single event for a single resource. It contains the following attributes:
| name | type | description |
|---|---|---|
| property | string | the property for which the event occurred |
| previous_value | string, array, or hash | the value of the property before the change (if any) was applied. |
| desired_value | string, array, or hash | the value specified in the manifest. |
| historical_value | string, array, or hash | the audited value from a previous run of Puppet, if known. Otherwise nil. |
| file | string | the pathname of the manifest file which declared the resource |
| line | integer | the line number in the manifest file which declared the resource |
| default_log_level | symbol | the level at which messages for this resource are logged |
| message | string | the log message generated by this event |
| name | symbol | the name of the event |
| source_description | string | the path to the property |
| status | string | one of the following strings: "success", "failure", "noop", "audit", depending on the type of the event |
| time | datetime | the time at which the property was evaluated |
| version | string or integer | the "configuration version" of the puppet run |