blob: ec0e3df6ee5357b2f1498fc5aeeea3088d642cd2 [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.
Michal Orzel4f9c0912022-08-01 10:20:46 +020062 - name: Name
63 type: string
64 description: >
65 Defines the name of reading report to be exposed over D-Bus.
66 flags:
67 - const
68 - name: ReportActions
69 type: array[enum[self.ReportActions]]
70 description: >
71 Contains set of flags indicating additional actions that can be
72 triggered after readings' update.
73 - name: Triggers
74 type: array[object_path]
75 description: >
76 Array of paths to Trigger objects associated with this report.
77 flags:
78 - readonly
Krzysztof Grobelny53647642020-06-25 11:45:38 +020079
80enumerations:
Patrick Williams8da396c2022-03-14 14:21:02 -050081 - name: OperationType
82 description: Type of action that is executed on readings.
83 values:
Michal Orzel4f9c0912022-08-01 10:20:46 +020084 - name: Maximum
85 description: >
86 Store maximal reading during defined time period.
87 - name: Minimum
88 description: >
89 Store minimal reading during defined time period.
90 - name: Average
91 description: >
92 Calculate average of readings during defined time period.
93 - name: Summation
94 description: >
95 Calculate sum of readings over defined time period.
Patrick Williams8da396c2022-03-14 14:21:02 -050096 - name: ReportingType
97 description: >
98 The type that defines when Readings are updated.
99 values:
100 - name: OnChange
101 description: >
102 On sensor reading change.
103 - name: OnRequest
104 description: >
105 On Update method call.
106 - name: Periodic
107 description: >
108 After period of time defined by Interval property.
109 - name: ReportUpdates
110 description: >
111 The type that defines how Readings are updated.
112 values:
113 - name: Overwrite
114 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +0200115 Last sensor reading is written to Readings overwriting the
116 previous value. AppendLimit set by user is ignored. Readings
117 size is equal to count of all sensors across all metrics.
Patrick Williams8da396c2022-03-14 14:21:02 -0500118 - name: AppendWrapsWhenFull
119 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +0200120 Append sensor reading to Readings up to limit specify in
121 AppendLimit then start from the beginning.
Patrick Williams8da396c2022-03-14 14:21:02 -0500122 - name: AppendStopsWhenFull
123 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +0200124 Append sensor reading to Readings up to limit specify in
125 AppendLimit then stop till report update.
Patrick Williams8da396c2022-03-14 14:21:02 -0500126 - name: CollectionTimescope
127 description: >
128 The time scope of the related metric values.
129 values:
130 - name: Point
131 description: >
132 The corresponding metric apply to a point in time. The reading
133 timestamp in Readings property specifies point in time.
134 - name: Interval
135 description: >
136 The corresponding metric apply to a time interval. The reading
Michal Orzel4f9c0912022-08-01 10:20:46 +0200137 timestamp in Readings property specifies the end of the time
138 interval and the collection duration of ReadingParameters
139 specify its duration.
Patrick Williams8da396c2022-03-14 14:21:02 -0500140 - name: StartupInterval
141 description: >
142 The corresponding metric apply to a time interval that began on
Michal Orzel4f9c0912022-08-01 10:20:46 +0200143 report creation. The reading timestamp in Readings property
144 specifies the end of the time interval. Collection duration of
Patrick Williams8da396c2022-03-14 14:21:02 -0500145 ReadingParameters specifies the duration between the startup of
146 resource and timestamp.
Michal Orzel4f9c0912022-08-01 10:20:46 +0200147 - name: ErrorType
148 description: >
149 Enumerates error types that might occur during properties'
150 configuration.
151 values:
152 - name: PropertyConflict
153 description: >
154 Appears in situation when two properties, which are dependent
155 from each other, have conflicting values. For example, when
156 ReportingType property has value "Periodic", but Interval is set
157 to 0, such conflict will occur.
158 - name: ReportActions
159 description: >
160 Enumerates types of actions, that can be triggered when Readings
161 property value is updated.
162 values:
163 - name: EmitsReadingsUpdate
164 description: >
165 On Readings update PropertiesChanged signal is emitted. It
166 allows to decrease generation of load on DBus when Readings
167 property is updated. Redfish Event Service requires this option
168 to be equal to enabled.
169 - name: LogToMetricReportsCollection
170 description: >
171 On Readings update report is stored to Metric Report Collection
172 in Redfish Telemetry Service.