

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Référence du schéma `Event` de l’API de télémétrie Lambda
<a name="telemetry-schema-reference"></a>

Utilisez le point de terminaison de l’API de télémétrie Lambda pour abonner des extensions aux flux de télémétrie. Vous pouvez extraire le point de terminaison d’API de télémétrie à partir de la variable d’environnement `AWS_LAMBDA_RUNTIME_API`. Pour envoyer une demande d’API, ajoutez la version de l’API (`2022-07-01/`) et `telemetry/`. Par exemple :

```
http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/
```

Pour la définition de la spécification OpenAPI (OAS) de la version des réponses d’abonnement `2025-01-29`, voir ce qui suit :
+ **HTTP** — [telemetry-api-http-schema.zip](samples/events_http_schema_v2025_01_29.zip)
+ **[TCP — .zip telemetry-api-tcp-schema](samples/events_tcp_schema_v2025_01_29.zip)**

Le tableau suivant est un résumé de tous les types d’objets `Event` que l’API de télémétrie prend en charge.


| Catégorie | Type d’événement | Description | Schéma d’enregistrement des événements | 
| --- | --- | --- | --- | 
|  Événement de plateforme  |  `platform.initStart`  |  L’initialisation de la fonction a commencé.  |  Schéma [`platform.initStart`](#platform-initStart)  | 
|  Événement de plateforme  |  `platform.initRuntimeDone`  |  L’initialisation de la fonction est terminée.  |  Schéma [`platform.initRuntimeDone`](#platform-initRuntimeDone)  | 
|  Événement de plateforme  |  `platform.initReport`  |  Un rapport d’initialisation de la fonction.  |  Schéma [`platform.initReport`](#platform-initReport)  | 
|  Événement de plateforme  |  `platform.start`  |  L’invocation de la fonction a commencé.  |  Schéma [`platform.start`](#platform-start)  | 
|  Événement de plateforme  |  `platform.runtimeDone`  |  L’environnement d’exécution a fini de traiter un événement avec succès ou échec.  |  Schéma [`platform.runtimeDone`](#platform-runtimeDone)  | 
|  Événement de plateforme  |  `platform.report`  |  Un rapport sur l’invocation de la fonction.  |  Schéma [`platform.report`](#platform-report)  | 
|  Événement de plateforme  |  `platform.restoreStart`  |  La restauration de l’exécution a commencé.  |  Schéma [`platform.restoreStart`](#platform-restoreStart)  | 
|  Événement de plateforme  |  `platform.restoreRuntimeDone`  |  La restauration de l’exécution est terminée.  |  Schéma [`platform.restoreRuntimeDone`](#platform-restoreRuntimeDone)  | 
|  Événement de plateforme  |  `platform.restoreReport`  |  Le rapport de restauration de d’exécution.  |  Schéma [`platform.restoreReport`](#platform-restoreReport)  | 
|  Événement de plateforme  |  `platform.telemetrySubscription`  |  L’extension s’est abonnée à l’API de télémétrie.  |  Schéma [`platform.telemetrySubscription`](#platform-telemetrySubscription)  | 
|  Événement de plateforme  |  `platform.logsDropped`  |  Les entrées de journal abandonnées par Lambda.  |  Schéma [`platform.logsDropped`](#platform-logsDropped)  | 
|  Journaux de fonctions  |  `function`  |  Une ligne de journal du code de la fonction.  |  Schéma [`function`](#telemetry-api-function)  | 
|  Journaux d’extension  |  `extension`  |  Une ligne de journal du code de l’extension.  |  Schéma [`extension`](#telemetry-api-extension)  | 

**Contents**
+ [Types d’objets `Event` de l’API de télémétrie](#telemetry-api-events)
  + [`platform.initStart`](#platform-initStart)
  + [`platform.initRuntimeDone`](#platform-initRuntimeDone)
  + [`platform.initReport`](#platform-initReport)
  + [`platform.start`](#platform-start)
  + [`platform.runtimeDone`](#platform-runtimeDone)
  + [`platform.report`](#platform-report)
  + [`platform.restoreStart`](#platform-restoreStart)
  + [`platform.restoreRuntimeDone`](#platform-restoreRuntimeDone)
  + [`platform.restoreReport`](#platform-restoreReport)
  + [`platform.extension`](#platform-extension)
  + [`platform.telemetrySubscription`](#platform-telemetrySubscription)
  + [`platform.logsDropped`](#platform-logsDropped)
  + [`function`](#telemetry-api-function)
  + [`extension`](#telemetry-api-extension)
+ [Types d’objets partagés](#telemetry-api-objects)
  + [`InitPhase`](#InitPhase)
  + [`InitReportMetrics`](#InitReportMetrics)
  + [`InitType`](#InitType)
  + [`ReportMetrics`](#ReportMetrics)
  + [`RestoreReportMetrics`](#RestoreReportMetrics)
  + [`RuntimeDoneMetrics`](#RuntimeDoneMetrics)
  + [`Span`](#Span)
  + [`Status`](#Status)
  + [`TraceContext`](#TraceContext)
  + [`TracingType`](#TracingType)

## Types d’objets `Event` de l’API de télémétrie
<a name="telemetry-api-events"></a>

Cette section détaille les types d’objets `Event` que l’API de télémétrie Lambda prend en charge. Dans les descriptions d’événements, un point d’interrogation (`?`) indique que l’attribut peut ne pas être présent dans l’objet.

### `platform.initStart`
<a name="platform-initStart"></a>

Un événement `platform.initStart` indique que la phase d’initialisation de la fonction a commencé. Un objet `Event` `platform.initStart` a la forme suivante :

```
Event: Object
- time: String
- type: String = platform.initStart
- record: PlatformInitStart
```

L’objet `PlatformInitStart` possède les attributs suivants :
+ **functionName** – `String`
+ **functionVersion** – `String`
+ **InitializationType** – Objet ``InitType``
+ **instanceId?** – `String`
+ **instanceMaxMemory?** – `Integer`
+ **phase** – Objet ``InitPhase``
+ **runtimeVersion?** – `String`
+ **runtimeVersionArn?** – `String`

Voici un exemple de `Event` de type `platform.initStart` :

```
{
    "time": "2022-10-12T00:00:15.064Z",
    "type": "platform.initStart",
    "record": {
        "initializationType": "on-demand",
        "phase": "init",
        "runtimeVersion": "nodejs-14.v3",
        "runtimeVersionArn": "arn",
        "functionName": "myFunction",
        "functionVersion": "$LATEST",
        "instanceId": "82561ce0-53dd-47d1-90e0-c8f5e063e62e",
        "instanceMaxMemory": 256
    }
}
```

### `platform.initRuntimeDone`
<a name="platform-initRuntimeDone"></a>

Un événement `platform.initRuntimeDone` indique que la phase d’initialisation de la fonction est terminée. Un objet `Event` `platform.initRuntimeDone` a la forme suivante :

```
Event: Object
- time: String
- type: String = platform.initRuntimeDone
- record: PlatformInitRuntimeDone
```

L’objet `PlatformInitRuntimeDone` possède les attributs suivants :
+ **InitializationType** – Objet ``InitType``
+ **phase** – Objet ``InitPhase``
+ **status** – Objet ``Status``
+ **spans?** – Liste d’objets ``Span``

Voici un exemple de `Event` de type `platform.initRuntimeDone` :

```
{
    "time": "2022-10-12T00:01:15.000Z",
    "type": "platform.initRuntimeDone",
    "record": {
        "initializationType": "on-demand"
        "status": "success",
        "spans": [
            {
                "name": "someTimeSpan",
                "start": "2022-06-02T12:02:33.913Z",
                "durationMs": 70.5
            }
        ]
    }
}
```

### `platform.initReport`
<a name="platform-initReport"></a>

Un événement `platform.initReport` contient un rapport global de la phase d’initialisation de la fonction. Un objet `Event` `platform.initReport` a la forme suivante :

```
Event: Object
- time: String
- type: String = platform.initReport
- record: PlatformInitReport
```

L’objet `PlatformInitReport` possède les attributs suivants :
+ **errorType?** – chaîne
+ **InitializationType** – Objet ``InitType``
+ **phase** – Objet ``InitPhase``
+ **metrics** – Objet ``InitReportMetrics``
+ **spans?** – Liste d’objets ``Span``
+ **status** – Objet ``Status``

Voici un exemple de `Event` de type `platform.initReport` :

```
{
    "time": "2022-10-12T00:01:15.000Z",
    "type": "platform.initReport",
    "record": {
        "initializationType": "on-demand",
        "status": "success",
        "phase": "init",
        "metrics": {
            "durationMs": 125.33
        },
        "spans": [
            {
                "name": "someTimeSpan",
                "start": "2022-06-02T12:02:33.913Z",
                "durationMs": 90.1
            }
        ]
    }
}
```

### `platform.start`
<a name="platform-start"></a>

Un événement `platform.start` indique que la phase d’invocation de la fonction a commencé. Un objet `Event` `platform.start` a la forme suivante :

```
Event: Object
- time: String
- type: String = platform.start
- record: PlatformStart
```

L’objet `PlatformStart` possède les attributs suivants :
+ **requestId** – `String`
+ **version?** – `String`
+ **tracing?** – ``TraceContext``

Voici un exemple de `Event` de type `platform.start` :

```
{
    "time": "2022-10-12T00:00:15.064Z",
    "type": "platform.start",
    "record": {
        "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa",
        "version": "$LATEST",
        "tracing": {
            "spanId": "54565fb41ac79632",
            "type": "X-Amzn-Trace-Id",
            "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1"
        }
    }
}
```

### `platform.runtimeDone`
<a name="platform-runtimeDone"></a>

Un événement `platform.runtimeDone` indique que la phase d’invocation de la fonction est terminée. Un objet `Event` `platform.runtimeDone` a la forme suivante :

**Instances gérées Lambda**  
L'`platform.runtimeDone`événement n'est pas pris en charge pour les instances gérées Lambda. Les extensions exécutées sur les instances gérées ne recevront pas cet événement car les extensions ne peuvent pas s'abonner à l'`INVOKE`événement sur les instances gérées. En raison du modèle d'exécution simultanée dans lequel plusieurs invocations peuvent être traitées simultanément, les extensions ne peuvent pas effectuer de traitement post-appel pour des invocations individuelles comme elles le font traditionnellement sur les fonctions Lambda (par défaut).  
Pour les instances gérées, les `responseLatency` intervalles `responseDuration` et qui y sont normalement inclus `platform.runtimeDone` sont plutôt disponibles lors de l'`platform.report`événement. Consultez [`platform.report`](#platform-report) pour plus de détails.

```
Event: Object
- time: String
- type: String = platform.runtimeDone
- record: PlatformRuntimeDone
```

L’objet `PlatformRuntimeDone` possède les attributs suivants :
+ **errorType?** – `String`
+ **metrics?** – Objet ``RuntimeDoneMetrics``
+ **requestId** – `String`
+ **status** – Objet ``Status``
+ **spans?** – Liste d’objets ``Span``
+ **tracing?** – Objet ``TraceContext``

Voici un exemple de `Event` de type `platform.runtimeDone` :

```
{
    "time": "2022-10-12T00:01:15.000Z",
    "type": "platform.runtimeDone",
    "record": {
        "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa",
        "status": "success",
        "tracing": {
            "spanId": "54565fb41ac79632",
            "type": "X-Amzn-Trace-Id",
            "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1"
        },
        "spans": [
            {
                "name": "someTimeSpan",
                "start": "2022-08-02T12:01:23:521Z",
                "durationMs": 80.0
            }
        ],
        "metrics": {
            "durationMs": 140.0,
            "producedBytes": 16
        }
    }
}
```

### `platform.report`
<a name="platform-report"></a>

Un événement `platform.report` contient un rapport global de la phase d’invocation de la fonction. Un objet `Event` `platform.report` a la forme suivante :

**Instances gérées Lambda**  
L'`platform.report`événement pour les instances gérées Lambda a des métriques et des durées différentes par rapport aux fonctions Lambda (par défaut). Pour les instances gérées :  
**Portée** : contient `responseLatency` et `responseDuration` au lieu de. `extensionOverhead` L'`extensionOverhead`intervalle n'est pas disponible car les extensions ne peuvent pas s'abonner à l'`INVOKE`événement sur les instances gérées en raison du modèle d'exécution simultanée.
**Métriques** : inclut uniquement`durationMs`. Les mesures suivantes ne sont pas incluses : `billedDurationMs``initDurationMs`,`maxMemoryUsedMB`, et`memorySizeMB`. Ces métriques par appel ne sont pas applicables dans l'environnement d'exécution simultanée. Pour les mesures d'utilisation des ressources, utilisez [Surveillance des instances gérées par Lambda](lambda-managed-instances-monitoring.md) [Lambda Insights](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-insights.html).

```
Event: Object
- time: String
- type: String = platform.report
- record: PlatformReport
```

L’objet `PlatformReport` possède les attributs suivants :
+ **metrics** – Objet ``ReportMetrics``
+ **requestId** – `String`
+ **spans?** – Liste d’objets ``Span``
+ **status** – Objet ``Status``
+ **tracing?** – Objet ``TraceContext``

Voici un exemple de `Event` de type `platform.report` :

```
{
    "time": "2022-10-12T00:01:15.000Z",
    "type": "platform.report",
    "record": {
        "metrics": {
            "billedDurationMs": 694,
            "durationMs": 693.92,
            "initDurationMs": 397.68,
            "maxMemoryUsedMB": 84,
            "memorySizeMB": 128
        },
        "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa",
    }
}
```

### `platform.restoreStart`
<a name="platform-restoreStart"></a>

Un événement `platform.restoreStart` indique qu’un événement de restauration d’environnement de fonction a commencé. Dans un événement de restauration d’environnement, Lambda crée l’environnement à partir d’un instantané mis en cache plutôt que de l’initialiser à partir de zéro. Pour de plus amples informations, veuillez consulter [Lambda SnapStart](snapstart.md). Un objet `Event` `platform.restoreStart` a la forme suivante :

```
Event: Object
- time: String
- type: String = platform.restoreStart
- record: PlatformRestoreStart
```

L’objet `PlatformRestoreStart` possède les attributs suivants :
+ **functionName** – `String`
+ **functionVersion** – `String`
+ **instanceId?** – `String`
+ **instanceMaxMemory?** – `String`
+ **runtimeVersion?** – `String`
+ **runtimeVersionArn?** – `String`

Voici un exemple de `Event` de type `platform.restoreStart` :

```
{
    "time": "2022-10-12T00:00:15.064Z",
    "type": "platform.restoreStart",
    "record": {
        "runtimeVersion": "nodejs-14.v3",
        "runtimeVersionArn": "arn",
        "functionName": "myFunction",
        "functionVersion": "$LATEST",
        "instanceId": "82561ce0-53dd-47d1-90e0-c8f5e063e62e",
        "instanceMaxMemory": 256
    }
}
```

### `platform.restoreRuntimeDone`
<a name="platform-restoreRuntimeDone"></a>

Un événement `platform.restoreRuntimeDone` indique qu’un événement de restauration d’environnement de fonction s’est terminé. Dans un événement de restauration d’environnement, Lambda crée l’environnement à partir d’un instantané mis en cache plutôt que de l’initialiser à partir de zéro. Pour de plus amples informations, veuillez consulter [Lambda SnapStart](snapstart.md). Un objet `Event` `platform.restoreRuntimeDone` a la forme suivante :

```
Event: Object
- time: String
- type: String = platform.restoreRuntimeDone
- record: PlatformRestoreRuntimeDone
```

L’objet `PlatformRestoreRuntimeDone` possède les attributs suivants :
+ **errorType?** – `String`
+ **spans?** – Liste d’objets ``Span``
+ **status** – Objet ``Status``

Voici un exemple de `Event` de type `platform.restoreRuntimeDone` :

```
{
    "time": "2022-10-12T00:00:15.064Z",
    "type": "platform.restoreRuntimeDone",
    "record": {
        "status": "success",
        "spans": [
            {
                "name": "someTimeSpan",
                "start": "2022-08-02T12:01:23:521Z",
                "durationMs": 80.0
            }
        ]
    }
}
```

### `platform.restoreReport`
<a name="platform-restoreReport"></a>

Un événement `platform.restoreReport` contient un rapport global d’un événement de restauration de fonction. Un objet `Event` `platform.restoreReport` a la forme suivante :

```
Event: Object
- time: String
- type: String = platform.restoreReport
- record: PlatformRestoreReport
```

L’objet `PlatformRestoreReport` possède les attributs suivants :
+ **errorType?** – chaîne
+ **metrics?** – Objet ``RestoreReportMetrics``
+ **spans?** – Liste d’objets ``Span``
+ **status** – Objet ``Status``

Voici un exemple de `Event` de type `platform.restoreReport` :

```
{
    "time": "2022-10-12T00:00:15.064Z",
    "type": "platform.restoreReport",
    "record": {
        "status": "success",
        "metrics": {
            "durationMs": 15.19
        },
        "spans": [
            {
                "name": "someTimeSpan",
                "start": "2022-08-02T12:01:23:521Z",
                "durationMs": 30.0
            }
        ]
    }
}
```

### `platform.extension`
<a name="platform-extension"></a>

Un événement `extension` contient des journaux provenant du code d’extension. Un objet `Event` `extension` a la forme suivante :

```
Event: Object
- time: String
- type: String = extension
- record: {}
```

L’objet `PlatformExtension` possède les attributs suivants :
+ **events** – Liste de `String`
+ **nom** – `String`
+ **state** – `String`

Voici un exemple de `Event` de type `platform.extension` :

```
{
    "time": "2022-10-12T00:02:15.000Z",
    "type": "platform.extension",
    "record": {
        "events": [ "INVOKE", "SHUTDOWN" ],
        "name": "my-telemetry-extension",
        "state": "Ready"
    }
}
```

### `platform.telemetrySubscription`
<a name="platform-telemetrySubscription"></a>

Un événement `platform.telemetrySubscription` contient des informations sur un abonnement d’extension. Un objet `Event` `platform.telemetrySubscription` a la forme suivante :

```
Event: Object
- time: String
- type: String = platform.telemetrySubscription
- record: PlatformTelemetrySubscription
```

L’objet `PlatformTelemetrySubscription` possède les attributs suivants :
+ **nom** – `String`
+ **state** – `String`
+ **types** – Liste de `String`

Voici un exemple de `Event` de type `platform.telemetrySubscription` :

```
{
    "time": "2022-10-12T00:02:35.000Z",
    "type": "platform.telemetrySubscription",
    "record": {
        "name": "my-telemetry-extension",
        "state": "Subscribed",
        "types": [ "platform", "function" ]
    }
}
```

### `platform.logsDropped`
<a name="platform-logsDropped"></a>

Un événement `platform.logsDropped` contient des informations sur les événements abandonnés. Lambda génère un événement `platform.logsDropped` lorsqu’une fonction génère des journaux à un rythme trop élevé pour que Lambda puisse les traiter. Lorsque Lambda ne parvient pas à envoyer des journaux vers CloudWatch ou vers l'extension abonnée à l'API de télémétrie au rythme où la fonction les produit, il supprime les journaux pour empêcher l'exécution de la fonction de ralentir. Un objet `Event` `platform.logsDropped` a la forme suivante :

```
Event: Object
- time: String
- type: String = platform.logsDropped
- record: PlatformLogsDropped
```

L’objet `PlatformLogsDropped` possède les attributs suivants :
+ **droppedBytes** – `Integer`
+ **droppedRecords** – `Integer`
+ **reason** – `String`

Voici un exemple de `Event` de type `platform.logsDropped` :

```
{
    "time": "2022-10-12T00:02:35.000Z",
    "type": "platform.logsDropped",
    "record": {
        "droppedBytes": 12345,
        "droppedRecords": 123,
        "reason": "Some logs were dropped because the downstream consumer is slower than the logs production rate"
    }
}
```

### `function`
<a name="telemetry-api-function"></a>

Un événement `function` contient des journaux provenant du code de fonction. Un objet `Event` `function` a la forme suivante :

```
Event: Object
- time: String
- type: String = function
- record: {}
```

Le format du champ `record` varie selon que les journaux de votre fonction sont formatés en texte brut ou au format JSON. Pour en savoir plus sur les options de configuration du format de journal, consultez [Configuration des formats de journal JSON et en texte brut](monitoring-cloudwatchlogs-logformat.md)

Voici un exemple `Event` de type `function` où le format du journal est en texte brut :

```
{
    "time": "2022-10-12T00:03:50.000Z",
    "type": "function",
    "record": "[INFO] Hello world, I am a function!"
}
```

Voici un exemple `Event` de type `function` où le journal est au format JSON :

```
{
    "time": "2022-10-12T00:03:50.000Z",
    "type": "function",
    "record": {
        "timestamp": "2022-10-12T00:03:50.000Z",
        "level": "INFO",
        "requestId": "79b4f56e-95b1-4643-9700-2807f4e68189",
        "message": "Hello world, I am a function!"
    }
}
```

**Note**  
Si la version du schéma que vous utilisez est plus ancienne que la version `2022-12-13`, `"record"` est toujours affiché sous forme de chaîne, même lorsque le format de journalisation de votre fonction est configuré au format JSON. Pour les instances gérées Lambda, vous devez utiliser la version du schéma. `2025-01-29`

### `extension`
<a name="telemetry-api-extension"></a>

Un événement `extension` contient des journaux provenant du code d’extension. Un objet `Event` `extension` a la forme suivante :

```
Event: Object
- time: String
- type: String = extension
- record: {}
```

Le format du champ `record` varie selon que les journaux de votre fonction sont formatés en texte brut ou au format JSON. Pour en savoir plus sur les options de configuration du format de journal, consultez [Configuration des formats de journal JSON et en texte brut](monitoring-cloudwatchlogs-logformat.md)

Voici un exemple `Event` de type `extension` où le format du journal est en texte brut :

```
{
    "time": "2022-10-12T00:03:50.000Z",
    "type": "extension",
    "record": "[INFO] Hello world, I am an extension!"
}
```

Voici un exemple `Event` de type `extension` où le journal est au format JSON :

```
{
    "time": "2022-10-12T00:03:50.000Z",
    "type": "extension",
    "record": {
       "timestamp": "2022-10-12T00:03:50.000Z",
       "level": "INFO",
       "requestId": "79b4f56e-95b1-4643-9700-2807f4e68189",
       "message": "Hello world, I am an extension!"
    }    
}
```

**Note**  
Si la version du schéma que vous utilisez est plus ancienne que la version `2022-12-13`, `"record"` est toujours affiché sous forme de chaîne, même lorsque le format de journalisation de votre fonction est configuré au format JSON. Pour les instances gérées Lambda, vous devez utiliser la version du schéma. `2025-01-29`

## Types d’objets partagés
<a name="telemetry-api-objects"></a>

Cette section détaille les types d’objets partagés que l’API de télémétrie Lambda prend en charge.

### `InitPhase`
<a name="InitPhase"></a>

Une enum de chaînes de caractères qui décrit la phase où l’étape d’initialisation se produit. Dans la plupart des cas, Lambda exécute le code d’initialisation de la fonction pendant la phase `init`. Toutefois, dans certains cas d’erreur, Lambda peut réexécuter le code d’initialisation de la fonction pendant la phase `invoke`. (Cela s’appelle une *init supprimée*.)
+ **Type** – `String`
+ **Valeurs valides** : `init`\$1`invoke`\$1`snap-start`

### `InitReportMetrics`
<a name="InitReportMetrics"></a>

Un objet qui contient des métriques sur une phase d’initialisation.
+ **Type** – `Object`

Un objet `InitReportMetrics` a la forme suivante :

```
InitReportMetrics: Object
- durationMs: Double
```

Voici un exemple d’objet `InitReportMetrics` :

```
{
    "durationMs": 247.88
}
```

### `InitType`
<a name="InitType"></a>

Une enum de chaînes de caractères qui décrit comment Lambda a initialisé l’environnement.
+ **Type** – `String`
+ **Valeurs valides** – `on-demand`\$1`provisioned-concurrency`

### `ReportMetrics`
<a name="ReportMetrics"></a>

Un objet qui contient des métriques sur une phase terminée.
+ **Type** – `Object`

Un objet `ReportMetrics` a la forme suivante :

```
ReportMetrics: Object
- billedDurationMs: Integer
- durationMs: Double
- initDurationMs?: Double
- maxMemoryUsedMB: Integer
- memorySizeMB: Integer
- restoreDurationMs?: Double
```

Voici un exemple d’objet `ReportMetrics` :

```
{
    "billedDurationMs": 694,
    "durationMs": 693.92,
    "initDurationMs": 397.68,
    "maxMemoryUsedMB": 84,
    "memorySizeMB": 128
}
```

### `RestoreReportMetrics`
<a name="RestoreReportMetrics"></a>

Un objet qui contient des métriques sur une phase de restauration terminée.
+ **Type** – `Object`

Un objet `RestoreReportMetrics` a la forme suivante :

```
RestoreReportMetrics: Object
- durationMs: Double
```

Voici un exemple d’objet `RestoreReportMetrics` :

```
{
    "durationMs": 15.19
}
```

### `RuntimeDoneMetrics`
<a name="RuntimeDoneMetrics"></a>

Un objet qui contient des métriques sur une phase d’invocation.
+ **Type** – `Object`

Un objet `RuntimeDoneMetrics` a la forme suivante :

```
RuntimeDoneMetrics: Object
- durationMs: Double
- producedBytes?: Integer
```

Voici un exemple d’objet `RuntimeDoneMetrics` :

```
{
    "durationMs": 200.0,
    "producedBytes": 15
}
```

### `Span`
<a name="Span"></a>

Un objet qui contient des détails sur un span. Un span représente une unité de travail ou une opération dans une trace. Pour plus d'informations sur les spans, consultez [Span](https://opentelemetry.io/docs/reference/specification/trace/api/#span) sur la page de l'**API de suivi** du site Web de OpenTelemetry Docs.

Lambda prend en charge les span suivants pour l’événement `platform.RuntimeDone` :
+ Le span `responseLatency` décrit le temps qu’il a fallu à votre fonction Lambda pour commencer à envoyer la réponse.
+ Le span `responseDuration` décrit le temps qu’il a fallu à votre fonction Lambda pour finir d’envoyer la réponse entière.
+ Le span `runtimeOverhead` décrit le temps qu’il a fallu à l’environnement d’exécution Lambda pour signaler qu’il était prêt à traiter la prochaine invocation de fonction. C’est le temps qu’il a fallu à l’environnement d’exécution pour appeler l’API d’[invocation suivante](runtimes-api.md#runtimes-api-next) pour obtenir le prochain événement après avoir renvoyé la réponse de votre fonction.

Voici un exemple d’objet span `responseLatency` :

```
{
        "name": "responseLatency", 
        "start": "2022-08-02T12:01:23.521Z",
        "durationMs": 23.02
      }
```

### `Status`
<a name="Status"></a>

Un objet qui décrit le statut d’une phase d’initialisation ou d’invocation. Si le statut est `failure` ou `error`, l’objet `Status` contient également un champ `errorType` décrivant l’erreur.
+ **Type** – `Object`
+ **Valeurs de status valides** : `success`\$1`failure`\$1`error`\$1`timeout`

### `TraceContext`
<a name="TraceContext"></a>

Un objet qui décrit les propriétés d’une trace.
+ **Type** – `Object`

Un objet `TraceContext` a la forme suivante :

```
TraceContext: Object
- spanId?: String
- type: TracingType enum
- value: String
```

Voici un exemple d’objet `TraceContext` :

```
{
    "spanId": "073a49012f3c312e",
    "type": "X-Amzn-Trace-Id",
    "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1"
}
```

### `TracingType`
<a name="TracingType"></a>

Un enum de chaînes de caractères qui décrit le type de trace dans un objet ``TraceContext``.
+ **Type** – `String`
+ **Valeurs valides** – `X-Amzn-Trace-Id`