blob: 552200d891627090316a0f1b385a6584f6602cec [file] [log] [blame]
Krzysztof Grobelny53647642020-06-25 11:45:38 +02001description: >
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:
Patrick Williams8da396c2022-03-14 14:21:02 -05007 - 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.
Krzysztof Grobelny53647642020-06-25 11:45:38 +020012
13properties:
Patrick Williams8da396c2022-03-14 14:21:02 -050014 - name: Persistency
15 type: boolean
16 description: >
17 Defines if the report configuration is stored in non volatile memory.
18 Configuration contains all Report properties excluding Readings.
19 - name: ReadingParameters
Michal Orzel4f9c0912022-08-01 10:20:46 +020020 type: array[struct[array[struct[object_path,string]],enum[self.OperationType],string,enum[self.CollectionTimescope],uint64]]
Patrick Williams8da396c2022-03-14 14:21:02 -050021 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060022 Collection of metric parameters. Single entry consists of: array of
23 [sensor path, metadata] tuples, operation type, metric ID, collection
24 timescope and collection duration. Sensor paths point to sensors
25 providing readings. Metadata contains client information; in case of
26 Redfish it shall be metric's URI. Operation type provides knowledge of
27 action executed on readings. Metric ID contains name that can be
28 mapped to metadata (like Redfish Metric ID). Collection timescope
29 specifies type of time scope applied to specific metric. Collection
30 duration stores timestamp related with timescope type in milliseconds.
Patrick Williams8da396c2022-03-14 14:21:02 -050031 - name: Readings
32 type: struct[uint64,array[struct[string,string,double,uint64]]]
33 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +020034 Structure that contains timestamp of readings update in milliseconds
35 and array of metric Id, metadata, reading value and timestamp of
36 single reading update in milliseconds. Metric Id and metadata are
37 equal to its counterparts in ReadingParameters property.
Patrick Williams8da396c2022-03-14 14:21:02 -050038 flags:
39 - readonly
Patrick Williams8da396c2022-03-14 14:21:02 -050040 - name: ReportingType
41 type: enum[self.ReportingType]
42 description: Defines how readings are updated.
43 - name: ReportUpdates
44 type: enum[self.ReportUpdates]
45 description: Defines how Readings array is filled.
46 - name: AppendLimit
47 type: size
48 description: Defines the maximum number of entries in 'Readings' property.
49 flags:
50 - readonly
51 - name: Interval
52 type: uint64
53 description: >
54 Defines period of time in milliseconds when readings are updated.
55 - name: Enabled
56 type: boolean
57 description: >
58 Indicates if readings in report will be updated. This may be set to
Michal Orzel4f9c0912022-08-01 10:20:46 +020059 false by the service if ReportUpdates property is
60 'AppendStopsWhenFull' and readings limit specified by AppendLimit is
61 reached.
62 - name: ErrorMesages
63 type: array[struct[enum[self.ErrorType],string]]
64 description: >
65 Stores errors related with incorrect or conflicting property values.
66 Error messages are stored in pairs containing error type and affected
67 property.
68 flags:
69 - readonly
70 - name: Name
71 type: string
72 description: >
73 Defines the name of reading report to be exposed over D-Bus.
74 flags:
75 - const
76 - name: ReportActions
77 type: array[enum[self.ReportActions]]
78 description: >
79 Contains set of flags indicating additional actions that can be
80 triggered after readings' update.
81 - name: Triggers
82 type: array[object_path]
83 description: >
84 Array of paths to Trigger objects associated with this report.
85 flags:
86 - readonly
Krzysztof Grobelny53647642020-06-25 11:45:38 +020087
88enumerations:
Patrick Williams8da396c2022-03-14 14:21:02 -050089 - name: OperationType
90 description: Type of action that is executed on readings.
91 values:
Michal Orzel4f9c0912022-08-01 10:20:46 +020092 - name: Maximum
93 description: >
94 Store maximal reading during defined time period.
95 - name: Minimum
96 description: >
97 Store minimal reading during defined time period.
98 - name: Average
99 description: >
100 Calculate average of readings during defined time period.
101 - name: Summation
102 description: >
103 Calculate sum of readings over defined time period.
Patrick Williams8da396c2022-03-14 14:21:02 -0500104 - name: ReportingType
105 description: >
106 The type that defines when Readings are updated.
107 values:
108 - name: OnChange
109 description: >
110 On sensor reading change.
111 - name: OnRequest
112 description: >
113 On Update method call.
114 - name: Periodic
115 description: >
116 After period of time defined by Interval property.
117 - name: ReportUpdates
118 description: >
119 The type that defines how Readings are updated.
120 values:
121 - name: Overwrite
122 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +0200123 Last sensor reading is written to Readings overwriting the
124 previous value. AppendLimit set by user is ignored. Readings
125 size is equal to count of all sensors across all metrics.
Patrick Williams8da396c2022-03-14 14:21:02 -0500126 - name: AppendWrapsWhenFull
127 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +0200128 Append sensor reading to Readings up to limit specify in
129 AppendLimit then start from the beginning.
Patrick Williams8da396c2022-03-14 14:21:02 -0500130 - name: AppendStopsWhenFull
131 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +0200132 Append sensor reading to Readings up to limit specify in
133 AppendLimit then stop till report update.
Patrick Williams8da396c2022-03-14 14:21:02 -0500134 - name: CollectionTimescope
135 description: >
136 The time scope of the related metric values.
137 values:
138 - name: Point
139 description: >
140 The corresponding metric apply to a point in time. The reading
141 timestamp in Readings property specifies point in time.
142 - name: Interval
143 description: >
144 The corresponding metric apply to a time interval. The reading
Michal Orzel4f9c0912022-08-01 10:20:46 +0200145 timestamp in Readings property specifies the end of the time
146 interval and the collection duration of ReadingParameters
147 specify its duration.
Patrick Williams8da396c2022-03-14 14:21:02 -0500148 - name: StartupInterval
149 description: >
150 The corresponding metric apply to a time interval that began on
Michal Orzel4f9c0912022-08-01 10:20:46 +0200151 report creation. The reading timestamp in Readings property
152 specifies the end of the time interval. Collection duration of
Patrick Williams8da396c2022-03-14 14:21:02 -0500153 ReadingParameters specifies the duration between the startup of
154 resource and timestamp.
Michal Orzel4f9c0912022-08-01 10:20:46 +0200155 - name: ErrorType
156 description: >
157 Enumerates error types that might occur during properties'
158 configuration.
159 values:
160 - name: PropertyConflict
161 description: >
162 Appears in situation when two properties, which are dependent
163 from each other, have conflicting values. For example, when
164 ReportingType property has value "Periodic", but Interval is set
165 to 0, such conflict will occur.
166 - name: ReportActions
167 description: >
168 Enumerates types of actions, that can be triggered when Readings
169 property value is updated.
170 values:
171 - name: EmitsReadingsUpdate
172 description: >
173 On Readings update PropertiesChanged signal is emitted. It
174 allows to decrease generation of load on DBus when Readings
175 property is updated. Redfish Event Service requires this option
176 to be equal to enabled.
177 - name: LogToMetricReportsCollection
178 description: >
179 On Readings update report is stored to Metric Report Collection
180 in Redfish Telemetry Service.