

# Referencia del esquema `Event` de la API de telemetría de Lambda
<a name="telemetry-schema-reference"></a>

Utilice el punto de conexión de la API de telemetría de Lambda para suscribir extensiones a los flujos de telemetría. Puede recuperar el punto de conexión de la API de telemetría desde la variable de entorno `AWS_LAMBDA_RUNTIME_API`. Para enviar una solicitud de API, agregue la versión de la API (`2022-07-01/`) y `telemetry/`. Por ejemplo:

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

Para ver la definición de la especificación OpenAPI (OAS) de la versión de respuestas de suscripción `2025-01-29`, consulte lo siguiente:
+ **HTTP**: [telemetry-api-http-schema.zip](samples/events_http_schema_v2025_01_29.zip)
+ **TCP**: [telemetry-api-tcp-schema.zip](samples/events_tcp_schema_v2025_01_29.zip)

La siguiente tabla resume de todos los tipos de objetos de `Event` que admite la API de telemetría.


| Categoría | Tipo de evento | Descripción | Esquema de registro de eventos | 
| --- | --- | --- | --- | 
|  Evento de plataforma  |  `platform.initStart`  |  Se inició la inicialización de la función.  |  esquema [`platform.initStart`](#platform-initStart)  | 
|  Evento de plataforma  |  `platform.initRuntimeDone`  |  Se completó la inicialización de la función.  |  esquema [`platform.initRuntimeDone`](#platform-initRuntimeDone)  | 
|  Evento de plataforma  |  `platform.initReport`  |  Un informe de inicialización de la función.  |  esquema [`platform.initReport`](#platform-initReport)  | 
|  Evento de plataforma  |  `platform.start`  |  Se inició la invocación de la función.  |  esquema [`platform.start`](#platform-start)  | 
|  Evento de plataforma  |  `platform.runtimeDone`  |  El tiempo de ejecución terminó de procesar un evento con éxito o con falla.  |  esquema [`platform.runtimeDone`](#platform-runtimeDone)  | 
|  Evento de plataforma  |  `platform.report`  |  Un informe de la invocación de funciones.  |  esquema [`platform.report`](#platform-report)  | 
|  Evento de plataforma  |  `platform.restoreStart`  |  Se inició la restauración en tiempo de ejecución.  |  esquema [`platform.restoreStart`](#platform-restoreStart)  | 
|  Evento de plataforma  |  `platform.restoreRuntimeDone`  |  Se completó la restauración en tiempo de ejecución.  |  esquema [`platform.restoreRuntimeDone`](#platform-restoreRuntimeDone)  | 
|  Evento de plataforma  |  `platform.restoreReport`  |  Informe de restauración en tiempo de ejecución.  |  esquema [`platform.restoreReport`](#platform-restoreReport)  | 
|  Evento de plataforma  |  `platform.telemetrySubscription`  |  La extensión suscrita a la API de telemetría.  |  esquema [`platform.telemetrySubscription`](#platform-telemetrySubscription)  | 
|  Evento de plataforma  |  `platform.logsDropped`  |  Lambda ha eliminado las entradas de registro.  |  esquema [`platform.logsDropped`](#platform-logsDropped)  | 
|  Registros de funciones  |  `function`  |  Una línea de registro del código de la función.  |  esquema [`function`](#telemetry-api-function)  | 
|  Registros de extensión  |  `extension`  |  Una línea de registro del código de extensión.  |  esquema [`extension`](#telemetry-api-extension)  | 

**Contents**
+ [Tipos de objetos `Event` de la API de telemetría](#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)
+ [Tipos de objetos compartidos](#telemetry-api-objects)
  + [`InitPhase`](#InitPhase)
  + [`InitReportMetrics`](#InitReportMetrics)
  + [`InitType`](#InitType)
  + [`ReportMetrics`](#ReportMetrics)
  + [`RestoreReportMetrics`](#RestoreReportMetrics)
  + [`RuntimeDoneMetrics`](#RuntimeDoneMetrics)
  + [`Span`](#Span)
  + [`Status`](#Status)
  + [`TraceContext`](#TraceContext)
  + [`TracingType`](#TracingType)

## Tipos de objetos `Event` de la API de telemetría
<a name="telemetry-api-events"></a>

En esta sección, se detallan los tipos de objetos `Event` que admite la API de telemetría de Lambda. En las descripciones de los eventos, un signo de interrogación (`?`) indica que el atributo puede no estar presente en el objeto.

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

Un evento `platform.initStart` indica que se ha iniciado la fase de inicialización de la función. Un objeto `platform.initStart` `Event` tiene la siguiente forma:

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

El objeto `PlatformInitStart` tiene los siguientes atributos:
+ **functionName** – `String`
+ **functionVersion**: `String`
+ **InitializationType**: objeto ``InitType``
+ **instanceId?**: `String`
+ **instanceMaxMemory?**: `Integer`
+ **phase**: objeto ``InitPhase``
+ **runtimeVersion?** – `String`
+ **runtimeVersionArn?** – `String`

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.initRuntimeDone` indica que se ha completado la fase de inicialización de la función. Un objeto `platform.initRuntimeDone` `Event` tiene la siguiente forma:

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

El objeto `PlatformInitRuntimeDone` tiene los siguientes atributos:
+ **InitializationType**: objeto ``InitType``
+ **phase**: objeto ``InitPhase``
+ **status**: objeto ``Status``
+ **spans?** Lista de objetos ``Span``

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.initReport` contiene un informe general de la fase de inicialización de la función. Un objeto `platform.initReport` `Event` tiene la siguiente forma:

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

El objeto `PlatformInitReport` tiene los siguientes atributos:
+ **errorType?**: cadena
+ **InitializationType**: objeto ``InitType``
+ **phase**: objeto ``InitPhase``
+ **metrics**: objeto ``InitReportMetrics``
+ **spans?** Lista de objetos ``Span``
+ **status**: objeto ``Status``

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.start` indica que se ha iniciado la fase de invocación de la función. Un objeto `platform.start` `Event` tiene la siguiente forma:

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

El objeto `PlatformStart` tiene los siguientes atributos:
+ **requestId** – `String`
+ **version?** – `String`
+ **tracing?** – ``TraceContext``

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.runtimeDone` indica que se ha completado la fase de invocación de la función. Un objeto `platform.runtimeDone` `Event` tiene la siguiente forma:

**Instancias administradas de Lambda**  
El evento de `platform.runtimeDone` no es compatible con las instancias administradas de Lambda. Las extensiones que se ejecuten en instancias administradas no recibirán este evento porque las extensiones no pueden suscribirse al evento de `INVOKE` en instancias administradas. Debido al modelo de ejecución simultánea, en el que se pueden procesar varias invocaciones simultáneamente, las extensiones no pueden realizar el procesamiento posterior a la invocación para las invocaciones individuales como lo hacen tradicionalmente en las funciones de Lambda (predeterminadas).  
En el caso de las instancias administradas, los intervalos de `responseLatency` y `responseDuration` que se incluyen en `platform.runtimeDone` normalmente están disponibles en el evento de `platform.report`. Para obtener más información, consulte [`platform.report`](#platform-report).

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

El objeto `PlatformRuntimeDone` tiene los siguientes atributos:
+ **errorType?** – `String`
+ **metrics?**: objeto ``RuntimeDoneMetrics``
+ **requestId** – `String`
+ **status**: objeto ``Status``
+ **spans?** Lista de objetos ``Span``
+ **tracing?**: objeto ``TraceContext``

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.report` contiene un informe general de la fase de invocación de la función. Un objeto `platform.report` `Event` tiene la siguiente forma:

**Instancias administradas de Lambda**  
El evento de `platform.report` de las instancias administradas de Lambda tiene métricas e intervalos diferentes en comparación con las funciones de Lambda (predeterminadas). En el caso de instancias administradas:  
**Intervalos**: contiene `responseLatency` y `responseDuration` en lugar de `extensionOverhead`. El intervalo `extensionOverhead` no está disponible porque las extensiones no pueden suscribirse al evento de `INVOKE` en las instancias administradas debido al modelo de ejecución simultánea.
**Métricas**: solo incluye `durationMs`. No se incluyen las siguientes métricas: `billedDurationMs`, `initDurationMs`, `maxMemoryUsedMB` y `memorySizeMB`. Estas métricas por invocación no son aplicables en el entorno de ejecución simultánea. Para las métricas de utilización de recursos, utilice [Supervisión de instancias de administración de 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
```

El objeto `PlatformReport` tiene los siguientes atributos:
+ **metrics**: objeto ``ReportMetrics``
+ **requestId** – `String`
+ **spans?** Lista de objetos ``Span``
+ **status**: objeto ``Status``
+ **tracing?**: objeto ``TraceContext``

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.restoreStart` indica que se inició un evento de restauración del entorno de funciones. En un evento de restauración del entorno, Lambda crea el entorno a partir de una instantánea almacenada en caché en lugar de inicializarlo desde cero. Para obtener más información, consulte [Lambda SnapStart](snapstart.md). Un objeto `platform.restoreStart` `Event` tiene la siguiente forma:

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

El objeto `PlatformRestoreStart` tiene los siguientes atributos:
+ **functionName** – `String`
+ **functionVersion** – `String`
+ **instanceId?** – `String`
+ **instanceMaxMemory?** – `String`
+ **runtimeVersion?** – `String`
+ **runtimeVersionArn?** – `String`

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.restoreRuntimeDone` indica que se completó un evento de restauración del entorno de funciones. En un evento de restauración del entorno, Lambda crea el entorno a partir de una instantánea almacenada en caché en lugar de inicializarlo desde cero. Para obtener más información, consulte [Lambda SnapStart](snapstart.md). Un objeto `platform.restoreRuntimeDone` `Event` tiene la siguiente forma:

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

El objeto `PlatformRestoreRuntimeDone` tiene los siguientes atributos:
+ **errorType?** – `String`
+ **spans?** Lista de objetos ``Span``
+ **status**: objeto ``Status``

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.restoreReport` contiene un informe general de un evento de restauración de funciones. Un objeto `platform.restoreReport` `Event` tiene la siguiente forma:

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

El objeto `PlatformRestoreReport` tiene los siguientes atributos:
+ **errorType?**: cadena
+ **metrics?**: objeto ``RestoreReportMetrics``
+ **spans?** Lista de objetos ``Span``
+ **status**: objeto ``Status``

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `extension` contiene registros del código de extensión. Un objeto `extension` `Event` tiene la siguiente forma:

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

El objeto `PlatformExtension` tiene los siguientes atributos:
+ **events**: Lista de `String`
+ **name** – `String`
+ **state** – `String`

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.telemetrySubscription` contiene información sobre una suscripción de extensión. Un objeto `platform.telemetrySubscription` `Event` tiene la siguiente forma:

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

El objeto `PlatformTelemetrySubscription` tiene los siguientes atributos:
+ **name** – `String`
+ **state** – `String`
+ **types**: lista de `String`

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `platform.logsDropped` contiene información sobre los eventos eliminados. Lambda emite el evento `platform.logsDropped` cuando una función genera registros a una velocidad demasiado alta para que Lambda los procese. Cuando Lambda no puede enviar registros a CloudWatch o a la extensión suscripta a la API de telemetría a la velocidad a la que su función los produce, elimina los registros para evitar que la ejecución de la función se ralentice. Un objeto `platform.logsDropped` `Event` tiene la siguiente forma:

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

El objeto `PlatformLogsDropped` tiene los siguientes atributos:
+ **droppedBytes** – `Integer`
+ **droppedRecords** – `Integer`
+ **reason** – `String`

A continuación, se muestra un ejemplo de `Event` de tipo `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 evento `function` contiene registros del código de la función. Un objeto `function` `Event` tiene la siguiente forma:

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

El formato del campo `record` depende de si los registros de la función están formateados en texto sin formato o en formato JSON. Para obtener más información sobre las opciones de configuración del formato de registro, consulte [Configuración de los formatos de registro JSON y de texto sin formato](monitoring-cloudwatchlogs-logformat.md)

El siguiente es un ejemplo de `Event` de un tipo `function` en el que el formato de registro es texto sin formato:

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

El siguiente es un ejemplo de `Event` de un tipo `function` en el que el formato de registro es texto en formato 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!"
    }
}
```

**nota**  
Si la versión del esquema que está utilizando es anterior a la versión `2022-12-13`, entonces `"record"` siempre se representa como una cadena, incluso cuando el formato de registro de la función esté configurado como JSON. Para las instancias administradas de Lambda, debe utilizar la versión de esquema `2025-01-29`.

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

Un evento `extension` contiene registros del código de extensión. Un objeto `extension` `Event` tiene la siguiente forma:

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

El formato del campo `record` depende de si los registros de la función están formateados en texto sin formato o en formato JSON. Para obtener más información sobre las opciones de configuración del formato de registro, consulte [Configuración de los formatos de registro JSON y de texto sin formato](monitoring-cloudwatchlogs-logformat.md)

El siguiente es un ejemplo de `Event` de un tipo `extension` en el que el formato de registro es texto sin formato:

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

El siguiente es un ejemplo de `Event` de un tipo `extension` en el que el formato de registro es texto en formato 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!"
    }    
}
```

**nota**  
Si la versión del esquema que está utilizando es anterior a la versión `2022-12-13`, entonces `"record"` siempre se representa como una cadena, incluso cuando el formato de registro de la función esté configurado como JSON. Para las instancias administradas de Lambda, debe utilizar la versión de esquema `2025-01-29`.

## Tipos de objetos compartidos
<a name="telemetry-api-objects"></a>

En esta sección, se detallan los tipos de objetos compartidos que admite la API de telemetría de Lambda.

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

Una enumeración de la cadena que describe la fase en la que se produce el paso de inicialización. En la mayoría de los casos, Lambda ejecuta el código de inicialización de la función durante la fase `init`. Sin embargo, en algunos casos de error, Lambda puede volver a ejecutar el código de inicialización de la función durante la fase `invoke`. (Esto se denomina *inicio suprimido*).
+ **Tipo** – `String`
+ **Valores válidos** – `init`\$1`invoke`\$1`snap-start`

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

Un objeto que contiene métricas sobre una fase de inicialización.
+ **Tipo** – `Object`

Un objeto `InitReportMetrics` tiene la siguiente forma:

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

A continuación, se muestra un ejemplo de objeto `InitReportMetrics`:

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

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

Una enumeración de la cadena que describe cómo Lambda inicializó el entorno.
+ **Tipo** – `String`
+ **Valores válidos** – `on-demand`\$1`provisioned-concurrency`

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

Un objeto que contiene métricas sobre una fase completa.
+ **Tipo** – `Object`

Un objeto `ReportMetrics` tiene la siguiente forma:

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

A continuación, se muestra un ejemplo de objeto `ReportMetrics`:

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

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

Un objeto que contiene métricas sobre una fase de restauración completa.
+ **Tipo** – `Object`

Un objeto `RestoreReportMetrics` tiene la siguiente forma:

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

A continuación, se muestra un ejemplo de objeto `RestoreReportMetrics`:

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

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

Un objeto que contiene métricas sobre una fase de invocación completa.
+ **Tipo** – `Object`

Un objeto `RuntimeDoneMetrics` tiene la siguiente forma:

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

A continuación, se muestra un ejemplo de objeto `RuntimeDoneMetrics`:

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

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

Un objeto que contiene detalles acerca de un intervalo. Un intervalo representa una unidad de trabajo u operación en un seguimiento. Para obtener más información sobre intervalos, consulte [Span](https://opentelemetry.io/docs/reference/specification/trace/api/#span) en la página de la **API de seguimiento** del sitio web de OpenTelemetry Docs.

Lambda admite los siguientes intervalos para el evento `platform.RuntimeDone`:
+ El intervalo `responseLatency` describe cuánto tiempo tardó la función de Lambda en empezar a enviar la respuesta.
+ El intervalo `responseDuration` describe cuánto tiempo tardó la función de Lambda en terminar de enviar toda la respuesta.
+ El intervalo `runtimeOverhead` describe cuánto tiempo tardó el tiempo de ejecución de Lambda en indicar que estaba listo para procesar la siguiente invocación de la función. Este es el tiempo que tardó el tiempo de ejecución en llamar a la API de [siguiente invocación](runtimes-api.md#runtimes-api-next) para obtener el siguiente evento después de devolver la respuesta de su función.

A continuación, se muestra un ejemplo de objeto de intervalo `responseLatency`:

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

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

Un objeto que describe el estado de una fase de inicialización o invocación. Si el estado es `failure` o `error`, el objeto `Status` también contiene un campo `errorType` que describe el error.
+ **Tipo** – `Object`
+ **Valores de estado válidos** – `success`\$1`failure`\$1`error`\$1`timeout`

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

Un objeto que describe las propiedades de un seguimiento.
+ **Tipo** – `Object`

Un objeto `TraceContext` tiene la siguiente forma:

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

A continuación, se muestra un ejemplo de objeto `TraceContext`:

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

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

Una enumeración de la cadena que describe el tipo de seguimiento de un objeto ``TraceContext``.
+ **Tipo** – `String`
+ **Valores válidos** – `X-Amzn-Trace-Id`