blob: 041f5825df59bb77d55086a8c3731192140b3442 [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
20 type: array[struct[array[object_path],enum[self.OperationType],string,string,enum[self.CollectionTimescope],uint64]]
21 description: >
22 Array of structures that contains array of sensor paths that are
23 monitored by Telemetry service, operation type, metric Id, metadata,
24 collection timescope and collection duration. Metric Id and metadata are
25 used to store user details, e.g. metadata can be used to map sensor name
26 to DBus path.
27 - name: Readings
28 type: struct[uint64,array[struct[string,string,double,uint64]]]
29 description: >
30 Structure that contains timestamp of readings update in milliseconds and
31 array of metric Id, metadata, reading value and timestamp of single
32 reading update in milliseconds. Metric Id and metadata are equal to its
33 counterparts in ReadingParameters property.
34 flags:
35 - readonly
36 - name: EmitsReadingsUpdate
37 type: boolean
38 description: >
39 On Readings update PropertiesChanged signal is emitted. It allows to
40 decrease generation of load on DBus when Readings property is updated.
41 Redfish Event Service requires this option to be equal to true.
42 flags:
43 - const
44 - name: LogToMetricReportsCollection
45 type: boolean
46 description: >
47 Presence of Report in Metric Report Collection in Redfish Telemetry
48 Service.
49 flags:
50 - const
51 - name: ReportingType
52 type: enum[self.ReportingType]
53 description: Defines how readings are updated.
54 - name: ReportUpdates
55 type: enum[self.ReportUpdates]
56 description: Defines how Readings array is filled.
57 - name: AppendLimit
58 type: size
59 description: Defines the maximum number of entries in 'Readings' property.
60 flags:
61 - readonly
62 - name: Interval
63 type: uint64
64 description: >
65 Defines period of time in milliseconds when readings are updated.
66 - name: Enabled
67 type: boolean
68 description: >
69 Indicates if readings in report will be updated. This may be set to
70 false by the service if ReportUpdates property is 'AppendStopsWhenFull'
71 and readings limit specified by AppendLimit is reached.
Krzysztof Grobelny53647642020-06-25 11:45:38 +020072
73enumerations:
Patrick Williams8da396c2022-03-14 14:21:02 -050074 - name: OperationType
75 description: Type of action that is executed on readings.
76 values:
77 - name: Single
78 description: Store the latest reading.
79 - name: Max
80 description: Store maximal reading during defined time period.
81 - name: Min
82 description: Store minimal reading during defined time period.
83 - name: Avg
84 description: Calculate average of readings during defined time period.
85 - name: Sum
86 description: Calculate sum of readings over defined time period.
87 - name: ReportingType
88 description: >
89 The type that defines when Readings are updated.
90 values:
91 - name: OnChange
92 description: >
93 On sensor reading change.
94 - name: OnRequest
95 description: >
96 On Update method call.
97 - name: Periodic
98 description: >
99 After period of time defined by Interval property.
100 - name: ReportUpdates
101 description: >
102 The type that defines how Readings are updated.
103 values:
104 - name: Overwrite
105 description: >
106 Last sensor reading is written to Readings overwriting the previous
107 value. AppendLimit set by user is ignored. Readings size is equal to
108 count of all sensors across all metrics.
109 - name: AppendWrapsWhenFull
110 description: >
111 Append sensor reading to Readings up to limit specify in AppendLimit
112 then start from the beginning.
113 - name: AppendStopsWhenFull
114 description: >
115 Append sensor reading to Readings up to limit specify in AppendLimit
116 then stop till report update.
117 - name: NewReport
118 description: >
119 A new report is created, whose name is the current metric report name
120 concatenated with the timestamp.
121 - name: CollectionTimescope
122 description: >
123 The time scope of the related metric values.
124 values:
125 - name: Point
126 description: >
127 The corresponding metric apply to a point in time. The reading
128 timestamp in Readings property specifies point in time.
129 - name: Interval
130 description: >
131 The corresponding metric apply to a time interval. The reading
132 timestamp in Readings property specifies the end of the time interval
133 and the collection duration of ReadingParameters specify its duration.
134 - name: StartupInterval
135 description: >
136 The corresponding metric apply to a time interval that began on
137 report creation. The reading timestamp in Readings property specifies
138 the end of the time interval. Collection duration of
139 ReadingParameters specifies the duration between the startup of
140 resource and timestamp.