| 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. |