

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risoluzione dei problemi e monitoraggio
<a name="yield-optimization-troubleshooting"></a>

Questa pagina consente di monitorare le prestazioni di ottimizzazione del rendimento, diagnosticare i problemi più comuni e verificare che la configurazione funzioni correttamente.

## Metriche
<a name="yield-optimization-troubleshooting-metrics"></a>

MediaTailor pubblica le seguenti CloudWatch metriche per l'ottimizzazione del rendimento. Tutte le metriche vengono emesse con una `configurationName` dimensione se non diversamente indicato.

### Metriche relative alle richieste di offerta
<a name="yield-optimization-troubleshooting-metrics-bidrequest"></a>


| Metrica | Description | 
| --- | --- | 
| YieldOptimization.BidRequest | Emesso come 1 quando viene identificata un'opportunità di richiesta di offerta. | 
| YieldOptimization.BidResponse | Emesso come 1 quando viene ricevuta una risposta all'offerta positiva. | 
| YieldOptimization.BidDuration | La durata dell'interruzione (secondi) richiesta nell'offerta, calcolata dalla durata dell'utile meno la durata dell'annuncio principale. | 
| YieldOptimization.Latency | Round-trip latenza rispetto all'APS in millisecondi. | 
| YieldOptimization.NoBid | Emesso come 1 quando APS restituisce HTTP 204 (nessuna richiesta corrispondente). La richiesta stessa era valida. | 
| YieldOptimization.BidRequestThrottled | Emesso come 1 quando APS restituisce HTTP 429 (con limitazione). L'APS sta applicando una contropressione. Torna indietro prima di riprovare. | 

### Metriche di inserimento degli annunci
<a name="yield-optimization-troubleshooting-metrics-adinsertion"></a>


| Metrica | Description | 
| --- | --- | 
| YieldOptimization.AdsInserted | Numero di annunci YO inseriti nell'avail. | 
| YieldOptimization.AdsReturned | Numero di annunci restituiti in BidResponse (prima del filtraggio). Emesso solo se maggiore di 0. | 
| YieldOptimization.FilledDuration | Durata (ms) compilata dagli annunci YO. | 
| YieldOptimization.UnfilledDuration | Durata (ms) inviata ad APS nella richiesta di offerta (gap di opportunità). | 
| YieldOptimization.FillRate | Per-avail tasso di riempimento: durata YO transcodificata divisa per la durata non compilata pre-YO. Il numeratore è transcodificato e il denominatore è VAST-based (né sottrae il paraurti), quindi il valore può superare 1,0. | 

### Metriche relative ai ricavi e ai prezzi
<a name="yield-optimization-troubleshooting-metrics-revenue"></a>


| Metrica | Description | 
| --- | --- | 
| YieldOptimization.Revenue | Ricavi totali per il cliente, derivanti dall'priceattributo della risposta all'offerta OrTB. Somma del prezzo degli annunci inseriti. | 
| YieldOptimization.IndicativeBidRevenue | Valore indicativo sommato per impressione di tutte le offerte RESTITUITE (prezzo dell'offerta per impressione, non per inserzione). Dual-emitted vengono affiancati Revenue durante una finestra di deprezzamento e verranno rimossi una volta che le dashboard saranno chiuse. Utilizzalo Revenue per nuove dashboard. | 
| YieldOptimization.BidPriceAdsInserted | Il prezzo CPM di ogni annuncio inserito da Yield Optimization. Dimensionato dall'attributo della risposta all'offerta cur (valuta). Non viene emesso per cliente, quindi è valido per l'intero account. | 
| YieldOptimization.BidPriceAdsReturned | Il prezzo CPM di ciascuna offerta è stato restituito in (prima di essere filtrato per inserzioni BidResponse ). Dimensionato da. cur Non viene emesso per cliente, quindi è a livello di account. | 

### Metriche relative agli errori e ai salti
<a name="yield-optimization-troubleshooting-metrics-error"></a>


| Metrica | Description | 
| --- | --- | 
| YieldOptimization.Errors | Emesso come 1 per errori di connessione, errori di elaborazione delle risposte o eccezioni impreviste. Viene emesso anche come 0 in caso di successo (usa Sum, not). SampleCount | 
| YieldOptimization.Timeouts | Emesso come 1 quando la richiesta APS scade. Emesso anche come 0 in caso di successo (usa Sum, not SampleCount). | 
| YieldOptimization.BidRequestConfigurationError | Emesso come 1 quando la costruzione del modello o dell'offerta fallisce (campi mancanti, JSON non valido). | 
| YieldOptimization.SkipMinUnfilledDurationNotExceeded | Emesso come 1 quando YO è stato saltato perché la durata non compilata era inferiore alla soglia. | 
| YieldOptimization.SkipPersonalizationTimeoutExceeded | Emesso come 1 quando YO è stato saltato perché rimaneva un tempo di personalizzazione insufficiente. | 

**Importante**  
`YieldOptimization.Errors`e `YieldOptimization.Timeouts` vengono emessi come 0 per ogni richiesta andata a buon fine. Usa ** Sum ** (not SampleCount) in CloudWatch per ottenere il conteggio effettivo degli errori o dei timeout. `NoBid`e NON `BidRequestThrottled` vengono conteggiati`Errors`. Sono segnali separati che indicano condizioni legittime di assenza di richiesta e di contropressione.

## Eventi di log
<a name="yield-optimization-troubleshooting-log-events"></a>

Yield Optimization genera eventi nel gruppo di log`MidasMMSService/ads_interaction_log`:


| Tipo di evento | Description | 
| --- | --- | 
| RAW\_BID\_REQUEST | La richiesta di offerta OpenRTB completa in formato JSON inviata ad APS. Usalo per verificare l'interpolazione del modello. | 
| RAW\_BID\_RESPONSE | La risposta grezza all'offerta OpenRTB fornita da APS, compresi i prezzi delle offerte e il formato XML VAST. | 
| FILLED\_AVAIL | La versione completa con tutti gli annunci. Gli annunci YO hanno fillMode: "YIELD\_OPTIMIZATION" e includono bidIdbidPrice,, currencyimpressionId, eseatId. | 

Gli eventi di errore vengono emessi `MidasMMSService/application.log` con logger come`YieldOptimizationSupport`,`OrtbBidRequestBuilder`, `HttpOrtbRequestSubmitter` e. `OrtbResponseProcessor`

## Esempi di domande Insights CloudWatch
<a name="yield-optimization-troubleshooting-insights"></a>

### Verifica la presenza di errori YO
<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
```

**Gruppo di log: ** `MidasMMSService/application.log`

### Conta le richieste di offerta rispetto alle risposte
<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
```

**Gruppo di log: ** `MidasMMSService/ads_interaction_log`

### Trova annunci YO in esaurimento
<a name="yield-optimization-troubleshooting-insights-filled"></a>

Ogni `FILLED_AVAIL` evento contiene un `creativeAds` array. Gli annunci YO all'interno di tale array contengono `fillMode: "YIELD_OPTIMIZATION"` metadati di offerta aggiuntivi:`bidId`,`impressionId`, `bidPrice``seatId`, e. `currency` Usalo per vedere quali avali sono stati riempiti da YO, quanti annunci YO sono stati inseriti per ogni risultato e l'attribuzione delle entrate per offerta.

```
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
```

Per visualizzare i singoli annunci YO (ID delle offerte e prezzi) per una sessione specifica:

```
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
```

Filtra l'`creativeAds`array risultante sul lato client per le voci in cui. `fillMode == "YIELD_OPTIMIZATION"`

**Gruppo di log: ** `MidasMMSService/ads_interaction_log`

### Verifica la presenza di variabili di modello non risolte
<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
```

**Gruppo di log: ** `MidasMMSService/ads_interaction_log`

### Misura la latenza e la percentuale di successo di YO
<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
```

**Gruppo di log: ** `MidasMMSService/service_log`

**Nota**  
`service_log`utilizza `customerId` (non`awsAccountId`) per il campo ID dell'account.

## Calcolo dell'aumento del rendimento
<a name="yield-optimization-troubleshooting-yield-lift"></a>

Per misurare l'impatto sulle entrate dell'ottimizzazione del rendimento, crea una CloudWatch dashboard con:

1. **Percentuale di riempimento incrementale: ** `Sum(YieldOptimization.AdsInserted) / Sum(YieldOptimization.BidRequest)` mostra la percentuale di opportunità YO che genera annunci inseriti. In alternativa, utilizzalo come metrica nativa `Average(YieldOptimization.FillRate)` per uso.

1. **Ricavi orari: ** `Sum(YieldOptimization.Revenue)` nel tempo mostra i ricavi totali per cliente generati da YO. `Sum(YieldOptimization.BidPriceAdsInserted)`fornisce il CPM medio a livello di account.

1. **Durata riempita: ** `Sum(YieldOptimization.FilledDuration)` il valore `Sum(YieldOptimization.BidDuration)` contrassegnato indica la parte della durata richiesta effettivamente soddisfatta.

## Problemi comuni
<a name="yield-optimization-troubleshooting-common-issues"></a>

### L'ottimizzazione del rendimento non si attiva
<a name="yield-optimization-troubleshooting-not-triggering"></a>


| Caratteristiche | Verifica | Risoluzione | 
| --- | --- | --- | 
| Nessuna metrica YO | YO è configurato nella configurazione di riproduzione? | Abilita YO nella console o nell'API. | 
| SkipMinUnfilledDurationNotExceededemettendo | L'ADS primario sta riempiendo la maggior parte della pausa | Abbassa MinimumUnfilledDuration o accetta che il riempimento principale sia sufficiente. | 
| SkipPersonalizationTimeoutExceededemettendo | L'ADS primario è troppo lento e non lascia tempo a YO | Ottimizza la latenza dell'ADS primario o controlla il timeout della personalizzazione (configurazione SDC). | 

### Richieste di offerta non riuscite
<a name="yield-optimization-troubleshooting-bidrequests-failing"></a>


| Caratteristiche | Verifica | Risoluzione | 
| --- | --- | --- | 
| Parametro BidRequestConfigurationError | Il modello presenta campi obbligatori mancanti o vuoti | Verifica application.log l'errore specifico (ad esempio,app.bundle is required). Correggi il modello o assicurati che i parametri del giocatore vengano inviati. | 
| HTTP 204 da APS | YieldOptimization.NoBidincrementando | L'APS non ha restituito alcuna offerta. Non è un errore. Controlla RAW\_BID\_REQUEST i valori segnaposto ({UPPER\_CASE}pattern), verifica che bundle e storeurl siano reali, offerta inferiore. | 
| HTTP 429 di APS | YieldOptimization.BidRequestThrottledincrementando | L'APS sta rallentando. Percentuale di richieste di annullamento. Se persistente, contatta l'assistenza APS per aumentare i limiti TPS. | 
| HTTP 400 di APS | Richiesta JSON non valida | Controlla il messaggio di errore APS in. RAW\_BID\_RESPONSE Verifica che la struttura JSON corrisponda alle specifiche OpenRTB. | 
|  500/503 HTTP da APS | Errore o sovraccarico del server APS | Problema transitorio. Monitor. YieldOptimization.Errors Se persistente, contatta l'assistenza APS. | 

### Annunci restituiti ma non inseriti
<a name="yield-optimization-troubleshooting-not-inserted"></a>


| Caratteristiche | Verifica | Risoluzione | 
| --- | --- | --- | 
| AdsReturned> 0 ma AdsInserted = 0 | Annunci filtrati durante l'inserimento | Controlla FILLED\_AVAIL i log per i motivi che saltano: creatività duplicate, soglia residua superata o variante dell'annuncio non trovata (transcodifica non completa). | 

## Riferimento ai codici di errore APS
<a name="yield-optimization-troubleshooting-error-codes"></a>


| Codice | Significato | Cause comuni | 
| --- | --- | --- | 
| 200 | Successo con le offerte | Funzionamento corretto | 
| 204 | Nessuna offerta | La richiesta è valida ma non erano disponibili offerte. Ciò non indica un errore nel modello. | 
| 400 | Richiesta errata | JSON non valido, mancano i campi obbligatori per le specifiche OpenRTB. | 
| 500 | Errore del server | Problema interno dell'APS, limitazione del servizio, timeout. | 
| 503 | Servizio sovraccarico | Contropressione APS. Non riprovare in modo aggressivo. | 
| 429 | Con throttle | APS ha iniziato a limitare manualmente le richieste. Contatta l'assistenza APS se persistente. | 