1description: > 2 Implement this interface to provide report inspection features. An 3 implementation service should additionally implement 4 xyz.openbmc_project.Object.Delete for deletion of individual report objects. 5 6methods: 7 - name: Update 8 description: > 9 The Update method is defined for the on demand metric report update. 10 It triggers update of the Readings property. If ReportingType is not 11 set to OnRequest then method does nothing. 12 - name: SetReadingProperties 13 description: > 14 Performs safe modification of ReportingType and Interval properties 15 from this interface with additional checking if provided pair of 16 arguments is allowed. 17 parameters: 18 - name: ReportingType 19 type: enum[self.ReportingType] 20 description: > 21 Indicates how readings should be updated. Possible values are 22 listed in details for corresponding enum. 23 - name: Interval 24 type: uint64 25 description: > 26 Period of time in milliseconds when readings are updated. 27 28properties: 29 - name: Persistency 30 type: boolean 31 description: > 32 Defines if the report configuration is stored in non volatile memory. 33 Configuration contains all Report properties excluding Readings. 34 - name: ReadingParameters 35 type: array[struct[array[struct[object_path,string]],enum[self.OperationType],string,enum[self.CollectionTimescope],uint64]] 36 description: > 37 Collection of metric parameters. Single entry consists of: array of 38 [sensor path, metadata] tuples, operation type, metric ID, collection 39 timescope and collection duration. Sensor paths point to sensors 40 providing readings. Metadata contains client information; in case of 41 Redfish it shall be metric's URI. Operation type provides knowledge of 42 action executed on readings. Metric ID contains name that can be 43 mapped to metadata (like Redfish Metric ID). Collection timescope 44 specifies type of time scope applied to specific metric. Collection 45 duration stores timestamp related with timescope type in milliseconds. 46 - name: Readings 47 type: struct[uint64,array[struct[string,string,double,uint64]]] 48 description: > 49 Structure that contains timestamp of readings update in milliseconds 50 and array of metric Id, metadata, reading value and timestamp of 51 single reading update in milliseconds. Metric Id and metadata are 52 equal to its counterparts in ReadingParameters property. 53 flags: 54 - readonly 55 - name: ReportingType 56 type: enum[self.ReportingType] 57 description: Defines how readings are updated. 58 flags: 59 - readonly 60 - name: ReportUpdates 61 type: enum[self.ReportUpdates] 62 description: Defines how Readings array is filled. 63 - name: AppendLimit 64 type: size 65 description: Defines the maximum number of entries in 'Readings' property. 66 flags: 67 - readonly 68 - name: Interval 69 type: uint64 70 description: > 71 Defines period of time in milliseconds when readings are updated. 72 flags: 73 - readonly 74 - name: Enabled 75 type: boolean 76 description: > 77 Indicates if readings in report will be updated. This may be set to 78 false by the service if ReportUpdates property is 79 'AppendStopsWhenFull' and readings limit specified by AppendLimit is 80 reached. 81 - name: Name 82 type: string 83 description: > 84 Defines the name of reading report to be exposed over D-Bus. 85 flags: 86 - const 87 - name: ReportActions 88 type: array[enum[self.ReportActions]] 89 description: > 90 Contains set of flags indicating additional actions that can be 91 triggered after readings' update. 92 - name: Triggers 93 type: array[object_path] 94 description: > 95 Array of paths to Trigger objects associated with this report. 96 flags: 97 - readonly 98 99enumerations: 100 - name: OperationType 101 description: Type of action that is executed on readings. 102 values: 103 - name: Maximum 104 description: > 105 Store maximal reading during defined time period. 106 - name: Minimum 107 description: > 108 Store minimal reading during defined time period. 109 - name: Average 110 description: > 111 Calculate average of readings during defined time period. 112 - name: Summation 113 description: > 114 Calculate sum of readings over defined time period. 115 - name: ReportingType 116 description: > 117 The type that defines when Readings are updated. 118 values: 119 - name: OnChange 120 description: > 121 On sensor reading change. 122 - name: OnRequest 123 description: > 124 On Update method call. 125 - name: Periodic 126 description: > 127 After period of time defined by Interval property. 128 - name: ReportUpdates 129 description: > 130 The type that defines how Readings are updated. 131 values: 132 - name: Overwrite 133 description: > 134 Last sensor reading is written to Readings overwriting the 135 previous value. AppendLimit set by user is ignored. Readings 136 size is equal to count of all sensors across all metrics. 137 - name: AppendWrapsWhenFull 138 description: > 139 Append sensor reading to Readings up to limit specify in 140 AppendLimit then start from the beginning. 141 - name: AppendStopsWhenFull 142 description: > 143 Append sensor reading to Readings up to limit specify in 144 AppendLimit then stop till report update. 145 - name: CollectionTimescope 146 description: > 147 The time scope of the related metric values. 148 values: 149 - name: Point 150 description: > 151 The corresponding metric apply to a point in time. The reading 152 timestamp in Readings property specifies point in time. 153 - name: Interval 154 description: > 155 The corresponding metric apply to a time interval. The reading 156 timestamp in Readings property specifies the end of the time 157 interval and the collection duration of ReadingParameters 158 specify its duration. 159 - name: StartupInterval 160 description: > 161 The corresponding metric apply to a time interval that began on 162 report creation. The reading timestamp in Readings property 163 specifies the end of the time interval. Collection duration of 164 ReadingParameters specifies the duration between the startup of 165 resource and timestamp. 166 - name: ErrorType 167 description: > 168 Enumerates error types that might occur during properties' 169 configuration. 170 values: 171 - name: PropertyConflict 172 description: > 173 Appears in situation when two properties, which are dependent 174 from each other, have conflicting values. For example, when 175 ReportingType property has value "Periodic", but Interval is set 176 to 0, such conflict will occur. 177 - name: ReportActions 178 description: > 179 Enumerates types of actions, that can be triggered when Readings 180 property value is updated. 181 values: 182 - name: EmitsReadingsUpdate 183 description: > 184 On Readings update PropertiesChanged signal is emitted. It 185 allows to decrease generation of load on DBus when Readings 186 property is updated. Redfish Event Service requires this option 187 to be equal to enabled. 188 - name: LogToMetricReportsCollection 189 description: > 190 On Readings update report is stored to Metric Report Collection 191 in Redfish Telemetry Service. 192