## The Redfish® telemetry service

As per the DMTF
Redfish telemetry whitepaper,
the standard telemetry service allows clients to:

- *Obtain the characteristics and details of a metric (metadata).*
- *Specify metric reports that periodically report a set of metrics
(aggregation).*
- *Specify trigger thresholds against a metric that is monitored (monitoring).*


NOTE
As this service is dependent of the computer chipset (Intel, AMD, ARM...)
it may not be present in all types of servers.

When implemented, the telemetry entry point
 URI 
is `/redfish/v1/TelemetryService`.

Metric reports can be stored locally, sent remotely or both.

## Subscribing for metric reports

Metric reports can be sent remotely toward an event listener after an
[event subscription](/docs/concepts/redfishevents)
with `EventFormatType=MetricReport`.
The following example shows a metric report subscription toward an HPE iLO 6.

Generic subscription request

```text
POST /redfish/v1/EventService/Subscriptions/
```

Body request

```json
{
    "Destination": "https://myeventreciever/eventreceiver",
    "EventFormatType": "MetricReport",
    "MetricReportDefinitions": [
        "/redfish/v1/TelemetryService/MetricReportDefinitions/CPUUtil",
        "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU0Power",
        "/redfish/v1/TelemetryService/MetricReportDefinitions/CPU1Power"
    ],
    "HttpHeaders": {
        "Header1": "HeaderValue1"
    },
    "Context": "context string",
    "Oem": {
        "Hpe": {
            "DeliveryRetryIntervalInSeconds": 30,
            "RequestedMaxEventsToQueue": 20,
            "DeliveryRetryAttempts": 5,
            "RetireOldEventInMinutes": 10
        }
    }
}
```

Subscribed metric reports can be sent to the event listener periodically
only when `MetricReportDefinitionType` property of the metric report
definition URI is set to `Periodic`. In the cases of `OnRequest` or `OnChange`
streaming will be stopped. This is defined in the `MetricReportDefinitionType`
property of the metric report definition
 URI 
for each metric report that is eligible to subscription.

The following example sets the frequency of the `CPUUtil` metric report
of an HPE iLO 6 to 1 day (P1DT), starting on a specific day and GMT time.

Generic request

```json
PATCH /redfish/v1/TelemetryService/MetricReportDefinitions/CPUUtil/
```

Body request

```json
{
    "MetricReportDefinitionType": "Periodic",
    "Schedule": {
    "RecurrenceInterval": "P1DT",
    "InitialStartTime": "2023-06-01T01:00:00Z"
    }
}
```

Refer to this
[documentation section](/docs/redfishservices/ilos/supplementdocuments/ilotelemetryservice)
for examples and detail concerning the implementation of the
Redfish® Telemetry service in HPE iLO 5 and iLO 6.