blob: 78a1fd7539e7fc499caafa17b527389f7a23d8a3 [file] [log] [blame]
Krzysztof Grobelny53647642020-06-25 11:45:38 +02001description: >
2 Implement to provide reports management. Contain information about report
3 limitations and allows to add report.
4
5methods:
Patrick Williams8da396c2022-03-14 14:21:02 -05006 - name: AddReport
7 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +02008 Create new object that represents Report with
Patrick Williams8da396c2022-03-14 14:21:02 -05009 xyz.openbmc_project.Telemetry.Report interface stored in path
Michal Orzel4f9c0912022-08-01 10:20:46 +020010 /xyz/openbmc_project/Telemetry/Reports/{properties[Id]} where
11 properties[Id] is passed into this method as a parameter.
Patrick Williams8da396c2022-03-14 14:21:02 -050012 parameters:
Michal Orzel4f9c0912022-08-01 10:20:46 +020013 - name: properties
14 type: array[dict[string,variant[boolean,uint32,uint64,string,enum[xyz.openbmc_project.Telemetry.Report.ReportingType],enum[xyz.openbmc_project.Telemetry.Report.ReportUpdates],array[enum[xyz.openbmc_project.Telemetry.Report.ReportActions]],array[struct[array[struct[object_path,string]],enum[xyz.openbmc_project.Telemetry.Report.OperationType],string,enum[xyz.openbmc_project.Telemetry.Report.CollectionTimescope],uint64]]]]]
Patrick Williams8da396c2022-03-14 14:21:02 -050015 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +020016 Map of properties defining added report object. Key is the
17 string identifier of property. Value is a variant, whose
18 underlying type is dependent from the key. Possible key values
19 are: Id, Name, ReportingType, ReportActions, Interval,
20 AppendLimit, ReportUpdates, MetricParams, Enabled. All keys are
21 optional, therefore it is acceptable to pass an empty map here.
22
23 Id (string) - unique identifier of created Report object to be
24 exposed over D-Bus. Acceptable formats are: "{Id}",
25 "{Prefix}/{SubId}", "{Prefix}/". If the last variant is used,
26 service will generate unique SubId value by itself.
27
28 Name (string) - user friendly name of created Report object.
29
30 ReportingType (enum[
31 xyz.openbmc_project.Telemetry.Report.ReportingType]) - indicates
32 when readings should be updated. Possible values are listed in
33 Report interface documentation.
34
35 ReportActions (array[enum[
36 xyz.openbmc_project.Telemetry.Report.ReportActions]]) - possible
37 additional actions to trigger after readings' update, as
38 specified in Report interface documentation.
39
40 Interval (uint64) - period of time in milliseconds when Report
41 is updated with new readings. Minimal interval is defined in
42 MinInterval property.
43
44 AppendLimit (size) - maximum number of entries in 'Readings'
45 property.
46
47 ReportUpdates (enum[
48 xyz.openbmc_project.Telemetry.Report.ReportUpdates]) - indicates
49 how readings should be updated. Possible values are listed in
50 Report interface documentation.
51
52 MetricParams (array[struct[array[struct[object_path,string]],
53 enum[xyz.openbmc_project.Telemetry.Report.OperationType],string,
54 enum[xyz.openbmc_project.Telemetry.Report.CollectionTimescope],
55 uint64]]) - array of metric parameters, which are stored in a
56 way specified in description of ReadingParameters property from
57 Report interface documentation.
58
59 Enabled (boolean) - indicates if readings in report will be
60 updated.
Patrick Williams8da396c2022-03-14 14:21:02 -050061 returns:
62 - name: reportPath
63 type: object_path
64 description: >
Michal Orzel4f9c0912022-08-01 10:20:46 +020065 Path to new report ->
66 /xyz/openbmc_project/Telemetry/Reports/{parameters[Id]}.
Krzysztof Grobelny53647642020-06-25 11:45:38 +020067
68properties:
Patrick Williams8da396c2022-03-14 14:21:02 -050069 - name: MaxReports
70 type: size
71 description: >
72 Contains the max number of metric reports supported by the Telemetry.
73 This property is added to be compliant with the Redfish Telemetry
74 Service schema, that contains MaxReports property.
75 flags:
76 - const
77 - name: MinInterval
78 type: uint64
79 description: >
80 Minimal allowed time between readings property updates. It limits
Patrick Williamsa1347412022-12-06 10:56:22 -060081 Interval property in xyz.openbmc_project.Telemetry.Report and interval
82 parameter in AddReport method.
Patrick Williams8da396c2022-03-14 14:21:02 -050083 flags:
84 - const
Michal Orzel4f9c0912022-08-01 10:20:46 +020085 - name: SupportedOperationTypes
86 type: array[enum[xyz.openbmc_project.Telemetry.Report.OperationType]]
87 description: >
88 Contains subset of operation types currently supported by this
89 service.
90 flags:
91 - const