xref: /openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/Telemetry/Report.interface.yaml (revision 9d46e5bb0fcad6c4a775dcef781c0ce4b9de1ff5)
1b1b4d261SWilliam A. Kennington IIIdescription: >
2b1b4d261SWilliam A. Kennington III    Implement this interface to provide report inspection features. An
3b1b4d261SWilliam A. Kennington III    implementation service should additionally implement
4b1b4d261SWilliam A. Kennington III    xyz.openbmc_project.Object.Delete for deletion of individual report objects.
5b1b4d261SWilliam A. Kennington III
6b1b4d261SWilliam A. Kennington IIImethods:
7b1b4d261SWilliam A. Kennington III    - name: Update
8b1b4d261SWilliam A. Kennington III      description: >
9b1b4d261SWilliam A. Kennington III          The Update method is defined for the on demand metric report update.
10b1b4d261SWilliam A. Kennington III          It triggers update of the Readings property. If ReportingType is not
11b1b4d261SWilliam A. Kennington III          set to OnRequest then method does nothing.
12*9d46e5bbSMichal Orzel    - name: SetReadingProperties
13*9d46e5bbSMichal Orzel      description: >
14*9d46e5bbSMichal Orzel          Performs safe modification of ReportingType and Interval properties
15*9d46e5bbSMichal Orzel          from this interface with additional checking if provided pair of
16*9d46e5bbSMichal Orzel          arguments is allowed.
17*9d46e5bbSMichal Orzel      parameters:
18*9d46e5bbSMichal Orzel          - name: ReportingType
19*9d46e5bbSMichal Orzel            type: enum[self.ReportingType]
20*9d46e5bbSMichal Orzel            description: >
21*9d46e5bbSMichal Orzel                Indicates how readings should be updated. Possible values are
22*9d46e5bbSMichal Orzel                listed in details for corresponding enum.
23*9d46e5bbSMichal Orzel          - name: Interval
24*9d46e5bbSMichal Orzel            type: uint64
25*9d46e5bbSMichal Orzel            description: >
26*9d46e5bbSMichal Orzel                Period of time in milliseconds when readings are updated.
27b1b4d261SWilliam A. Kennington III
28b1b4d261SWilliam A. Kennington IIIproperties:
29b1b4d261SWilliam A. Kennington III    - name: Persistency
30b1b4d261SWilliam A. Kennington III      type: boolean
31b1b4d261SWilliam A. Kennington III      description: >
32b1b4d261SWilliam A. Kennington III          Defines if the report configuration is stored in non volatile memory.
33b1b4d261SWilliam A. Kennington III          Configuration contains all Report properties excluding Readings.
34b1b4d261SWilliam A. Kennington III    - name: ReadingParameters
354f9c0914SMichal Orzel      type: array[struct[array[struct[object_path,string]],enum[self.OperationType],string,enum[self.CollectionTimescope],uint64]]
36b1b4d261SWilliam A. Kennington III      description: >
37a1347418SPatrick Williams          Collection of metric parameters. Single entry consists of: array of
38a1347418SPatrick Williams          [sensor path, metadata] tuples, operation type, metric ID, collection
39a1347418SPatrick Williams          timescope and collection duration. Sensor paths point to sensors
40a1347418SPatrick Williams          providing readings. Metadata contains client information; in case of
41a1347418SPatrick Williams          Redfish it shall be metric's URI. Operation type provides knowledge of
42a1347418SPatrick Williams          action executed on readings. Metric ID contains name that can be
43a1347418SPatrick Williams          mapped to metadata (like Redfish Metric ID). Collection timescope
44a1347418SPatrick Williams          specifies type of time scope applied to specific metric. Collection
45a1347418SPatrick Williams          duration stores timestamp related with timescope type in milliseconds.
46b1b4d261SWilliam A. Kennington III    - name: Readings
47b1b4d261SWilliam A. Kennington III      type: struct[uint64,array[struct[string,string,double,uint64]]]
48b1b4d261SWilliam A. Kennington III      description: >
494f9c0914SMichal Orzel          Structure that contains timestamp of readings update in milliseconds
504f9c0914SMichal Orzel          and array of metric Id, metadata, reading value and timestamp of
514f9c0914SMichal Orzel          single reading update in milliseconds. Metric Id and metadata are
524f9c0914SMichal Orzel          equal to its counterparts in ReadingParameters property.
53b1b4d261SWilliam A. Kennington III      flags:
54b1b4d261SWilliam A. Kennington III          - readonly
55b1b4d261SWilliam A. Kennington III    - name: ReportingType
56b1b4d261SWilliam A. Kennington III      type: enum[self.ReportingType]
57b1b4d261SWilliam A. Kennington III      description: Defines how readings are updated.
58*9d46e5bbSMichal Orzel      flags:
59*9d46e5bbSMichal Orzel          - readonly
60b1b4d261SWilliam A. Kennington III    - name: ReportUpdates
61b1b4d261SWilliam A. Kennington III      type: enum[self.ReportUpdates]
62b1b4d261SWilliam A. Kennington III      description: Defines how Readings array is filled.
63b1b4d261SWilliam A. Kennington III    - name: AppendLimit
64b1b4d261SWilliam A. Kennington III      type: size
6577369cbbSSzymon Dompke      description: Defines the maximum number of entries in 'Readings' property.
6677369cbbSSzymon Dompke      flags:
6777369cbbSSzymon Dompke          - readonly
68b1b4d261SWilliam A. Kennington III    - name: Interval
69b1b4d261SWilliam A. Kennington III      type: uint64
70b1b4d261SWilliam A. Kennington III      description: >
71b1b4d261SWilliam A. Kennington III          Defines period of time in milliseconds when readings are updated.
72*9d46e5bbSMichal Orzel      flags:
73*9d46e5bbSMichal Orzel          - readonly
7477369cbbSSzymon Dompke    - name: Enabled
7577369cbbSSzymon Dompke      type: boolean
7677369cbbSSzymon Dompke      description: >
7777369cbbSSzymon Dompke          Indicates if readings in report will be updated. This may be set to
784f9c0914SMichal Orzel          false by the service if ReportUpdates property is
794f9c0914SMichal Orzel          'AppendStopsWhenFull' and readings limit specified by AppendLimit is
804f9c0914SMichal Orzel          reached.
814f9c0914SMichal Orzel    - name: Name
824f9c0914SMichal Orzel      type: string
834f9c0914SMichal Orzel      description: >
844f9c0914SMichal Orzel          Defines the name of reading report to be exposed over D-Bus.
854f9c0914SMichal Orzel      flags:
864f9c0914SMichal Orzel          - const
874f9c0914SMichal Orzel    - name: ReportActions
884f9c0914SMichal Orzel      type: array[enum[self.ReportActions]]
894f9c0914SMichal Orzel      description: >
904f9c0914SMichal Orzel          Contains set of flags indicating additional actions that can be
914f9c0914SMichal Orzel          triggered after readings' update.
924f9c0914SMichal Orzel    - name: Triggers
934f9c0914SMichal Orzel      type: array[object_path]
944f9c0914SMichal Orzel      description: >
954f9c0914SMichal Orzel          Array of paths to Trigger objects associated with this report.
964f9c0914SMichal Orzel      flags:
974f9c0914SMichal Orzel          - readonly
98b1b4d261SWilliam A. Kennington III
99b1b4d261SWilliam A. Kennington IIIenumerations:
100b1b4d261SWilliam A. Kennington III    - name: OperationType
10177369cbbSSzymon Dompke      description: Type of action that is executed on readings.
102b1b4d261SWilliam A. Kennington III      values:
1034f9c0914SMichal Orzel          - name: Maximum
1044f9c0914SMichal Orzel            description: >
1054f9c0914SMichal Orzel                Store maximal reading during defined time period.
1064f9c0914SMichal Orzel          - name: Minimum
1074f9c0914SMichal Orzel            description: >
1084f9c0914SMichal Orzel                Store minimal reading during defined time period.
1094f9c0914SMichal Orzel          - name: Average
1104f9c0914SMichal Orzel            description: >
1114f9c0914SMichal Orzel                Calculate average of readings during defined time period.
1124f9c0914SMichal Orzel          - name: Summation
1134f9c0914SMichal Orzel            description: >
1144f9c0914SMichal Orzel                Calculate sum of readings over defined time period.
115b1b4d261SWilliam A. Kennington III    - name: ReportingType
116b1b4d261SWilliam A. Kennington III      description: >
117b1b4d261SWilliam A. Kennington III          The type that defines when Readings are updated.
118b1b4d261SWilliam A. Kennington III      values:
119b1b4d261SWilliam A. Kennington III          - name: OnChange
120b1b4d261SWilliam A. Kennington III            description: >
121b1b4d261SWilliam A. Kennington III                On sensor reading change.
122b1b4d261SWilliam A. Kennington III          - name: OnRequest
123b1b4d261SWilliam A. Kennington III            description: >
124b1b4d261SWilliam A. Kennington III                On Update method call.
125b1b4d261SWilliam A. Kennington III          - name: Periodic
126b1b4d261SWilliam A. Kennington III            description: >
12777369cbbSSzymon Dompke                After period of time defined by Interval property.
128b1b4d261SWilliam A. Kennington III    - name: ReportUpdates
129b1b4d261SWilliam A. Kennington III      description: >
130b1b4d261SWilliam A. Kennington III          The type that defines how Readings are updated.
131b1b4d261SWilliam A. Kennington III      values:
132b1b4d261SWilliam A. Kennington III          - name: Overwrite
133b1b4d261SWilliam A. Kennington III            description: >
1344f9c0914SMichal Orzel                Last sensor reading is written to Readings overwriting the
1354f9c0914SMichal Orzel                previous value. AppendLimit set by user is ignored. Readings
1364f9c0914SMichal Orzel                size is equal to count of all sensors across all metrics.
137b1b4d261SWilliam A. Kennington III          - name: AppendWrapsWhenFull
138b1b4d261SWilliam A. Kennington III            description: >
1394f9c0914SMichal Orzel                Append sensor reading to Readings up to limit specify in
1404f9c0914SMichal Orzel                AppendLimit then start from the beginning.
141b1b4d261SWilliam A. Kennington III          - name: AppendStopsWhenFull
142b1b4d261SWilliam A. Kennington III            description: >
1434f9c0914SMichal Orzel                Append sensor reading to Readings up to limit specify in
1444f9c0914SMichal Orzel                AppendLimit then stop till report update.
14577369cbbSSzymon Dompke    - name: CollectionTimescope
14677369cbbSSzymon Dompke      description: >
14777369cbbSSzymon Dompke          The time scope of the related metric values.
14877369cbbSSzymon Dompke      values:
14977369cbbSSzymon Dompke          - name: Point
15077369cbbSSzymon Dompke            description: >
15177369cbbSSzymon Dompke                The corresponding metric apply to a point in time. The reading
15277369cbbSSzymon Dompke                timestamp in Readings property specifies point in time.
15377369cbbSSzymon Dompke          - name: Interval
15477369cbbSSzymon Dompke            description: >
15577369cbbSSzymon Dompke                The corresponding metric apply to a time interval. The reading
1564f9c0914SMichal Orzel                timestamp in Readings property specifies the end of the time
1574f9c0914SMichal Orzel                interval and the collection duration of ReadingParameters
1584f9c0914SMichal Orzel                specify its duration.
15977369cbbSSzymon Dompke          - name: StartupInterval
16077369cbbSSzymon Dompke            description: >
16177369cbbSSzymon Dompke                The corresponding metric apply to a time interval that began on
1624f9c0914SMichal Orzel                report creation. The reading timestamp in Readings property
1634f9c0914SMichal Orzel                specifies the end of the time interval. Collection duration of
16477369cbbSSzymon Dompke                ReadingParameters specifies the duration between the startup of
16577369cbbSSzymon Dompke                resource and timestamp.
1664f9c0914SMichal Orzel    - name: ErrorType
1674f9c0914SMichal Orzel      description: >
1684f9c0914SMichal Orzel          Enumerates error types that might occur during properties'
1694f9c0914SMichal Orzel          configuration.
1704f9c0914SMichal Orzel      values:
1714f9c0914SMichal Orzel          - name: PropertyConflict
1724f9c0914SMichal Orzel            description: >
1734f9c0914SMichal Orzel                Appears in situation when two properties, which are dependent
1744f9c0914SMichal Orzel                from each other, have conflicting values. For example, when
1754f9c0914SMichal Orzel                ReportingType property has value "Periodic", but Interval is set
1764f9c0914SMichal Orzel                to 0, such conflict will occur.
1774f9c0914SMichal Orzel    - name: ReportActions
1784f9c0914SMichal Orzel      description: >
1794f9c0914SMichal Orzel          Enumerates types of actions, that can be triggered when Readings
1804f9c0914SMichal Orzel          property value is updated.
1814f9c0914SMichal Orzel      values:
1824f9c0914SMichal Orzel          - name: EmitsReadingsUpdate
1834f9c0914SMichal Orzel            description: >
1844f9c0914SMichal Orzel                On Readings update PropertiesChanged signal is emitted. It
1854f9c0914SMichal Orzel                allows to decrease generation of load on DBus when Readings
1864f9c0914SMichal Orzel                property is updated. Redfish Event Service requires this option
1874f9c0914SMichal Orzel                to be equal to enabled.
1884f9c0914SMichal Orzel          - name: LogToMetricReportsCollection
1894f9c0914SMichal Orzel            description: >
1904f9c0914SMichal Orzel                On Readings update report is stored to Metric Report Collection
1914f9c0914SMichal Orzel                in Redfish Telemetry Service.
192