Krzysztof Grobelny | 5364764 | 2020-06-25 11:45:38 +0200 | [diff] [blame] | 1 | description: > |
| 2 | Implement to provide reports management. Contain information about report |
| 3 | limitations and allows to add report. |
| 4 | |
| 5 | methods: |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 6 | - name: AddReport |
| 7 | description: > |
Michal Orzel | 4f9c091 | 2022-08-01 10:20:46 +0200 | [diff] [blame] | 8 | Create new object that represents Report with |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 9 | xyz.openbmc_project.Telemetry.Report interface stored in path |
Michal Orzel | 4f9c091 | 2022-08-01 10:20:46 +0200 | [diff] [blame] | 10 | /xyz/openbmc_project/Telemetry/Reports/{properties[Id]} where |
| 11 | properties[Id] is passed into this method as a parameter. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 12 | parameters: |
Michal Orzel | 4f9c091 | 2022-08-01 10:20:46 +0200 | [diff] [blame] | 13 | - 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 Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 15 | description: > |
Michal Orzel | 4f9c091 | 2022-08-01 10:20:46 +0200 | [diff] [blame] | 16 | 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 Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 61 | returns: |
| 62 | - name: reportPath |
| 63 | type: object_path |
| 64 | description: > |
Michal Orzel | 4f9c091 | 2022-08-01 10:20:46 +0200 | [diff] [blame] | 65 | Path to new report -> |
| 66 | /xyz/openbmc_project/Telemetry/Reports/{parameters[Id]}. |
Krzysztof Grobelny | 5364764 | 2020-06-25 11:45:38 +0200 | [diff] [blame] | 67 | |
| 68 | properties: |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 69 | - 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 Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 81 | Interval property in xyz.openbmc_project.Telemetry.Report and interval |
| 82 | parameter in AddReport method. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 83 | flags: |
| 84 | - const |
Michal Orzel | 4f9c091 | 2022-08-01 10:20:46 +0200 | [diff] [blame] | 85 | - 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 |