

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Solución de problemas y supervisión
<a name="yield-optimization-troubleshooting"></a>

Esta página le ayuda a supervisar el rendimiento de la optimización del rendimiento, diagnosticar problemas comunes y comprobar que la configuración funciona correctamente.

## Métricas
<a name="yield-optimization-troubleshooting-metrics"></a>

MediaTailor publica las siguientes CloudWatch métricas para la optimización del rendimiento. Todas las métricas se emiten con una `configurationName` dimensión, a menos que se indique lo contrario.

### Métricas de solicitud de oferta
<a name="yield-optimization-troubleshooting-metrics-bidrequest"></a>


| Métrica | Description (Descripción) | 
| --- | --- | 
| YieldOptimization.BidRequest | Se emite como 1 cuando se identifica una oportunidad de solicitud de oferta. | 
| YieldOptimization.BidResponse | Se emite como 1 cuando se recibe una respuesta a la oferta exitosa. | 
| YieldOptimization.BidDuration | La duración de la pausa (segundos) solicitada en la oferta, calculada a partir de la duración disponible menos la duración del anuncio principal. | 
| YieldOptimization.Latency | Round-trip latencia respecto a APS en milisegundos. | 
| YieldOptimization.NoBid | Se emite como 1 cuando APS devuelve HTTP 204 (sin demanda coincidente). La solicitud en sí era válida. | 
| YieldOptimization.BidRequestThrottled | Se emite como 1 cuando APS devuelve HTTP 429 (limitado). APS aplica contrapresión. Retroceda antes de volver a intentarlo. | 

### Métricas de inserción de anuncios
<a name="yield-optimization-troubleshooting-metrics-adinsertion"></a>


| Métrica | Description (Descripción) | 
| --- | --- | 
| YieldOptimization.AdsInserted | Número de anuncios de YO insertados en la oferta. | 
| YieldOptimization.AdsReturned | Número de anuncios devueltos en BidResponse (antes de filtrarlos). Solo se emite cuando es mayor que 0. | 
| YieldOptimization.FilledDuration | Duración (ms) rellenada por los anuncios YO. | 
| YieldOptimization.UnfilledDuration | Duración (ms) enviada a APS en la solicitud de oferta (intervalo de oportunidades). | 
| YieldOptimization.FillRate | Per-avail tasa de llenado: la duración transcodificada de un año dividida por la duración sin llenar antes del año. El numerador está transcodificado y el denominador es VAST-based (ninguno de los dos resta nada), por lo que el valor puede superar 1,0. | 

### Métricas de ingresos y precios
<a name="yield-optimization-troubleshooting-metrics-revenue"></a>


| Métrica | Description (Descripción) | 
| --- | --- | 
| YieldOptimization.Revenue | Ingresos totales del cliente, obtenidos del price atributo de la respuesta a la oferta de OrtB. Suma del precio de los anuncios insertados. | 
| YieldOptimization.IndicativeBidRevenue | Valor indicativo sumado por impresión de todas las ofertas DEVUELTAS (precio de oferta por impresión, no por inserción). Dual-emitted al mismo tiempo Revenue durante un período de obsolescencia y se eliminará una vez que se eliminen los paneles. Úselo Revenue para paneles nuevos. | 
| YieldOptimization.BidPriceAdsInserted | El precio de CPM de cada anuncio insertado por Yield Optimization. Se dimensiona según el atributo de respuesta a la oferta cur (divisa). No se emite por cliente, por lo que se aplica a toda la cuenta. | 
| YieldOptimization.BidPriceAdsReturned | El precio en CPM de cada puja mostrado en BidResponse (antes de filtrar por inserciones). Dimensionado por. cur No se emite por cliente, por lo que se aplica a toda la cuenta. | 

### Métricas de errores y omisiones
<a name="yield-optimization-troubleshooting-metrics-error"></a>


| Métrica | Description (Descripción) | 
| --- | --- | 
| YieldOptimization.Errors | Se emite como 1 para errores de conexión, errores de procesamiento de respuestas o excepciones inesperadas. También se emite como 0 en caso de éxito (utilice Sum, no SampleCount). | 
| YieldOptimization.Timeouts | Se emite como 1 cuando se agota el tiempo de espera de la solicitud APS. También se emite como 0 en caso de éxito (usa Sum, no SampleCount). | 
| YieldOptimization.BidRequestConfigurationError | Se emite como 1 cuando se produce un error en la construcción de la plantilla o de la oferta (faltan campos, JSON no válido). | 
| YieldOptimization.SkipMinUnfilledDurationNotExceeded | Se emite como 1 cuando se omite YO porque la duración sin rellenar estaba por debajo del umbral. | 
| YieldOptimization.SkipPersonalizationTimeoutExceeded | Se emite como 1 cuando se omite YO porque no queda suficiente tiempo de personalización. | 

**importante**  
`YieldOptimization.Errors`y `YieldOptimization.Timeouts` se emiten como 0 en cada solicitud exitosa. Usa ** Sum ** (not SampleCount) in CloudWatch para obtener el recuento real de errores o tiempos de espera. `NoBid`y NO `BidRequestThrottled` se cuentan. `Errors` Son señales distintas de las condiciones legítimas de falta de demanda y de contrapresión.

## Eventos de registro
<a name="yield-optimization-troubleshooting-log-events"></a>

La optimización del rendimiento genera eventos en el `MidasMMSService/ads_interaction_log` grupo de registros:


| Tipo de evento | Description (Descripción) | 
| --- | --- | 
| RAW\_BID\_REQUEST | La solicitud de oferta completa de OpenRTB que JSON envió a APS. Utilícela para verificar la interpolación de plantillas. | 
| RAW\_BID\_RESPONSE | La respuesta a la oferta sin procesar de OpenRTB de APS, que incluye los precios de las ofertas y VAST XML. | 
| FILLED\_AVAIL | El uso completo de todos los anuncios. Los anuncios YO tienen fillMode: "YIELD\_OPTIMIZATION" e incluyenbidId,bidPrice, currencyimpressionId, yseatId. | 

Los eventos de error se emiten `MidasMMSService/application.log` con registradores como`YieldOptimizationSupport`, `OrtbBidRequestBuilder``HttpOrtbRequestSubmitter`, y`OrtbResponseProcessor`.

## Ejemplos de consultas de CloudWatch Insights
<a name="yield-optimization-troubleshooting-insights"></a>

### Compruebe si hay errores de YOU
<a name="yield-optimization-troubleshooting-insights-errors"></a>

```
fields @timestamp, message.sessionId, message.message, log.logger, log.level
| filter message.awsAccountId = 'YOUR_ACCOUNT_ID'
  and (log.level = 'ERROR' or log.level = 'WARN')
  and (log.logger like /YieldOptimization/
    or log.logger like /OrtbResponseProcessor/
    or log.logger like /HttpOrtbRequestSubmitter/
    or log.logger like /OrtbBidRequestBuilder/)
| sort @timestamp desc
| limit 100
```

**Grupo de registro: ** `MidasMMSService/application.log`

### Cuenta las solicitudes de oferta frente a las respuestas
<a name="yield-optimization-troubleshooting-insights-count"></a>

```
fields @timestamp, sessionId, eventType
| filter awsAccountId = 'YOUR_ACCOUNT_ID'
  and (eventType = 'RAW_BID_REQUEST' or eventType = 'RAW_BID_RESPONSE')
| stats count(*) by eventType
```

**Grupo de registro: ** `MidasMMSService/ads_interaction_log`

### Encuentra anuncios de YOU en vales llenos
<a name="yield-optimization-troubleshooting-insights-filled"></a>

Cada `FILLED_AVAIL` evento contiene una `creativeAds` matriz. Los anuncios YO incluidos en esa matriz contienen `fillMode: "YIELD_OPTIMIZATION"` metadatos de oferta adicionales: `bidId``impressionId`,`bidPrice`,`seatId`, y`currency`. Utilízalo para ver qué ofertas cubrió YO, cuántos anuncios de YO se insertaron por oferta y la atribución de ingresos por oferta.

```
fields @timestamp, sessionId, avail.availId, avail.numAds, avail.fillRate, avail.filledDuration
| filter awsAccountId = 'YOUR_ACCOUNT_ID'
  and eventType = 'FILLED_AVAIL'
  and @message like /YIELD_OPTIMIZATION/
| sort @timestamp desc
| limit 50
```

Para ver las entradas individuales de los anuncios de YO (números de puja y precios) de una sesión específica:

```
fields @timestamp, sessionId, avail.availId, avail.creativeAds
| filter awsAccountId = 'YOUR_ACCOUNT_ID'
  and eventType = 'FILLED_AVAIL'
  and sessionId = 'YOUR_SESSION_ID'
| sort @timestamp desc
| limit 20
```

Filtre la `creativeAds` matriz resultante del lado del cliente para ver dónde están las entradas. `fillMode == "YIELD_OPTIMIZATION"`

**Grupo de registros: ** `MidasMMSService/ads_interaction_log`

### Compruebe si hay variables de plantilla sin resolver
<a name="yield-optimization-troubleshooting-insights-unresolved"></a>

```
fields @timestamp, sessionId, @message
| filter awsAccountId = 'YOUR_ACCOUNT_ID'
  and eventType = 'RAW_BID_REQUEST'
  and @message like /\{[A-Z_]+\}/
| sort @timestamp desc
| limit 20
```

**Grupo de registro: ** `MidasMMSService/ads_interaction_log`

### Mida la latencia y la tasa de éxito de YOU
<a name="yield-optimization-troubleshooting-insights-latency"></a>

```
fields @timestamp, @message
| filter customerId = 'YOUR_ACCOUNT_ID'
  and (@message like /YieldOptimization/ or @message like /ortb_/)
| limit 10000
```

**Grupo de registro: ** `MidasMMSService/service_log`

**nota**  
`service_log`usa `customerId` (no`awsAccountId`) para el campo de ID de cuenta.

## Calcular el aumento de rendimiento
<a name="yield-optimization-troubleshooting-yield-lift"></a>

Para medir el impacto de la optimización del rendimiento en los ingresos, cree un CloudWatch panel con:

1. **Tasa de llenado incremental: ** `Sum(YieldOptimization.AdsInserted) / Sum(YieldOptimization.BidRequest)` muestra el porcentaje de oportunidades de empleo que se traducen en anuncios insertados. Como alternativa, `Average(YieldOptimization.FillRate)` utilízala para la métrica nativa por disponibilidad.

1. **Ingresos por hora: ** `Sum(YieldOptimization.Revenue)` a lo largo del tiempo muestra los ingresos totales por cliente de YO. `Sum(YieldOptimization.BidPriceAdsInserted)`proporciona un CPM promedio en toda la cuenta.

1. **Duración cumplimentada: ** `Sum(YieldOptimization.FilledDuration)` en contra `Sum(YieldOptimization.BidDuration)` indica qué parte de la duración solicitada se cubrió realmente.

## Problemas comunes
<a name="yield-optimization-troubleshooting-common-issues"></a>

### La optimización del rendimiento no se está activando
<a name="yield-optimization-troubleshooting-not-triggering"></a>


| Síntoma | Check | Resolución | 
| --- | --- | --- | 
| No hay ninguna métrica de YO | ¿Está YO configurado en la configuración de reproducción? | Activa YO en la consola o en la API. | 
| SkipMinUnfilledDurationNotExceededemitiendo | El ADS principal está ocupando la mayor parte del descanso | Reduzca MinimumUnfilledDuration o acepte que el relleno principal es suficiente. | 
| SkipPersonalizationTimeoutExceededemitiendo | El ADS principal es demasiado lento y no deja tiempo para TI | Optimice la latencia del ADS principal o compruebe la configuración del SDC para el tiempo de espera de personalización. | 

### Fallo en las solicitudes de oferta
<a name="yield-optimization-troubleshooting-bidrequests-failing"></a>


| Síntoma | Check | Resolución | 
| --- | --- | --- | 
| Métrica de BidRequestConfigurationError | Faltan campos obligatorios o están vacíos en la plantilla | application.logCompruebe el error específico (por ejemplo,app.bundle is required). Corrija la plantilla o asegúrese de que se envíen los parámetros del reproductor. | 
| HTTP 204 de APS | YieldOptimization.NoBidincrementando | APS devolvió sin oferta. No es un error. Revisa RAW\_BID\_REQUEST los valores de los marcadores de posición ({UPPER\_CASE}patrones), verifica que el bundle y la storeurl sean reales y reduce el límite de oferta. | 
| HTTP 429 de APS | YieldOptimization.BidRequestThrottledincrementando | APS se está acelerando. Reduzca la tasa de solicitudes. Si persiste, póngase en contacto con el soporte de APS para aumentar los límites de TPS. | 
| HTTP 400 de APS | Solicitud JSON no válida | Compruebe el mensaje de error de APS enRAW\_BID\_RESPONSE. Verifique que la estructura JSON coincida con las especificaciones de OpenRTB. | 
| HTTP desde APS 500/503  | Error o sobrecarga del servidor APS | Problema transitorio. Monitorización de YieldOptimization.Errors. Si persiste, póngase en contacto con el soporte de APS. | 

### Anuncios devueltos pero no insertados
<a name="yield-optimization-troubleshooting-not-inserted"></a>


| Síntoma | Check | Resolución | 
| --- | --- | --- | 
| AdsReturned> 0 pero AdsInserted = 0 | Anuncios filtrados durante la inserción | Comprueba FILLED\_AVAIL los registros para ver si se omiten las creatividades: hay creatividades duplicadas, se ha superado el límite restante o no se ha encontrado la variante del anuncio (no se ha completado la transcodificación). | 

## Referencia a los códigos de error de APS
<a name="yield-optimization-troubleshooting-error-codes"></a>


| Código | Significado | Causas habituales | 
| --- | --- | --- | 
| 200 | ¿Éxito con las ofertas | Funcionando correctamente. | 
| 204 | ¿Sin puja | La solicitud es válida, pero no había ofertas disponibles. Esto no indica ningún error en la plantilla. | 
| 400 | Solicitud incorrecta | JSON no válido, faltan los campos obligatorios según la especificación de OpenRTB. | 
| 500 | Error del servidor | Problema interno de APS, servicio limitado, tiempo de espera. | 
| 503 | Servicio sobrecargado | Contrapresión APS. No lo vuelvas a intentar de forma agresiva. | 
| 429 | Solicitudes restringidas | APS ha comenzado manualmente a limitar las solicitudes. Póngase en contacto con el soporte de APS si persiste. | 