blob: e074da6e0ba86ab25535c549200e769ac3cb2f28 [file] [log] [blame]
description: >
Implement this interface to provide report inspection features. An
implementation service should additionally implement
xyz.openbmc_project.Object.Delete for deletion of individual report objects.
methods:
- name: Update
description: >
The Update method is defined for the on demand metric report update.
It triggers update of the Readings property. If ReportingType is not
set to OnRequest then method does nothing.
properties:
- name: Persistency
type: boolean
description: >
Defines if the report configuration is stored in non volatile memory.
Configuration contains all Report properties excluding Readings.
- name: ReadingParameters
type: array[struct[array[struct[object_path,string]],enum[self.OperationType],string,enum[self.CollectionTimescope],uint64]]
description: >
Collection of metric parameters. Single entry consists of:
array of [sensor path, metadata] tuples, operation type, metric ID,
collection timescope and collection duration. Sensor paths point to
sensors providing readings. Metadata contains client information; in
case of Redfish it shall be metric's URI. Operation type provides
knowledge of action executed on readings. Metric ID contains name that
can be mapped to metadata (like Redfish Metric ID). Collection
timescope specifies type of time scope applied to specific metric.
Collection duration stores timestamp related with timescope type in
milliseconds.
- name: Readings
type: struct[uint64,array[struct[string,string,double,uint64]]]
description: >
Structure that contains timestamp of readings update in milliseconds
and array of metric Id, metadata, reading value and timestamp of
single reading update in milliseconds. Metric Id and metadata are
equal to its counterparts in ReadingParameters property.
flags:
- readonly
- name: ReportingType
type: enum[self.ReportingType]
description: Defines how readings are updated.
- name: ReportUpdates
type: enum[self.ReportUpdates]
description: Defines how Readings array is filled.
- name: AppendLimit
type: size
description: Defines the maximum number of entries in 'Readings' property.
flags:
- readonly
- name: Interval
type: uint64
description: >
Defines period of time in milliseconds when readings are updated.
- name: Enabled
type: boolean
description: >
Indicates if readings in report will be updated. This may be set to
false by the service if ReportUpdates property is
'AppendStopsWhenFull' and readings limit specified by AppendLimit is
reached.
- name: ErrorMesages
type: array[struct[enum[self.ErrorType],string]]
description: >
Stores errors related with incorrect or conflicting property values.
Error messages are stored in pairs containing error type and affected
property.
flags:
- readonly
- name: Name
type: string
description: >
Defines the name of reading report to be exposed over D-Bus.
flags:
- const
- name: ReportActions
type: array[enum[self.ReportActions]]
description: >
Contains set of flags indicating additional actions that can be
triggered after readings' update.
- name: Triggers
type: array[object_path]
description: >
Array of paths to Trigger objects associated with this report.
flags:
- readonly
enumerations:
- name: OperationType
description: Type of action that is executed on readings.
values:
- name: Maximum
description: >
Store maximal reading during defined time period.
- name: Minimum
description: >
Store minimal reading during defined time period.
- name: Average
description: >
Calculate average of readings during defined time period.
- name: Summation
description: >
Calculate sum of readings over defined time period.
- name: ReportingType
description: >
The type that defines when Readings are updated.
values:
- name: OnChange
description: >
On sensor reading change.
- name: OnRequest
description: >
On Update method call.
- name: Periodic
description: >
After period of time defined by Interval property.
- name: ReportUpdates
description: >
The type that defines how Readings are updated.
values:
- name: Overwrite
description: >
Last sensor reading is written to Readings overwriting the
previous value. AppendLimit set by user is ignored. Readings
size is equal to count of all sensors across all metrics.
- name: AppendWrapsWhenFull
description: >
Append sensor reading to Readings up to limit specify in
AppendLimit then start from the beginning.
- name: AppendStopsWhenFull
description: >
Append sensor reading to Readings up to limit specify in
AppendLimit then stop till report update.
- name: CollectionTimescope
description: >
The time scope of the related metric values.
values:
- name: Point
description: >
The corresponding metric apply to a point in time. The reading
timestamp in Readings property specifies point in time.
- name: Interval
description: >
The corresponding metric apply to a time interval. The reading
timestamp in Readings property specifies the end of the time
interval and the collection duration of ReadingParameters
specify its duration.
- name: StartupInterval
description: >
The corresponding metric apply to a time interval that began on
report creation. The reading timestamp in Readings property
specifies the end of the time interval. Collection duration of
ReadingParameters specifies the duration between the startup of
resource and timestamp.
- name: ErrorType
description: >
Enumerates error types that might occur during properties'
configuration.
values:
- name: PropertyConflict
description: >
Appears in situation when two properties, which are dependent
from each other, have conflicting values. For example, when
ReportingType property has value "Periodic", but Interval is set
to 0, such conflict will occur.
- name: ReportActions
description: >
Enumerates types of actions, that can be triggered when Readings
property value is updated.
values:
- name: EmitsReadingsUpdate
description: >
On Readings update PropertiesChanged signal is emitted. It
allows to decrease generation of load on DBus when Readings
property is updated. Redfish Event Service requires this option
to be equal to enabled.
- name: LogToMetricReportsCollection
description: >
On Readings update report is stored to Metric Report Collection
in Redfish Telemetry Service.