Statistiche sulle prestazioni in tempo reale - Amazon GameLift Stream

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à.

Statistiche sulle prestazioni in tempo reale

Amazon GameLift Streams raccoglie statistiche sulle prestazioni durante le sessioni di streaming attive, misurando l'utilizzo delle risorse ogni secondo. Usa queste statistiche per monitorare le prestazioni dell'applicazione, identificare i punti deboli delle risorse e ottimizzare la tua esperienza di streaming.

Le statistiche sulle prestazioni includono sia statistiche a livello di applicazione (utilizzo di CPU e memoria per un'applicazione specifica) che statistiche a livello di sistema (utilizzo di CPU, memoria, GPU e VRAM per l'infrastruttura di elaborazione condivisa).

È possibile ricevere le statistiche sulle prestazioni in due modi:

  • In tempo reale durante la sessione: utilizza Amazon GameLift Streams Web SDK per ricevere le statistiche man mano che vengono raccolte. Ciò ti consente di creare sovrapposizioni prestazionali e monitorare l'utilizzo delle risorse mentre interagisci con l'applicazione.

  • Dopo la sessione come file CSV: quando esportate i file di sessione, le statistiche vengono incluse come. stats/perf_stats_v1.csv Ciò fornisce un record completo per l'analisi e il debug post-sessione.

Ricevi statistiche sulle prestazioni

Ricevi statistiche in tempo reale

Per ricevere statistiche sulle prestazioni nell'applicazione client durante una sessione attiva, imposta il SharedWithClient parametro su true quando chiami l'StartStreamSessionAPI. L'Amazon GameLift Streams Web SDK fornisce un performanceStats callback che si attiva ogni volta che arrivano nuove statistiche dalla sessione di streaming.

avvertimento

Non abilitarlo SharedWithClient per sessioni di produzione con gli utenti finali. Attivala solo quando il client è affidabile, ad esempio per il debug e i test interni.

Quando inizializzi Amazon GameLift Streams Web SDK, imposta clientConnection.performanceStats una funzione di callback che riceverà statistiche sulle prestazioni.

const gls = new gameliftstreams.GameLiftStreams({ videoElement: document.getElementById('streamVideoElement'), audioElement: document.getElementById('streamAudioElement'), inputConfiguration: { ... }, clientConnection: { ... performanceStats: (perfStats) => { // Your callback logic here console.log('CPU: ' + perfStats.application.cpuNormalized); console.log('Memory: ' + perfStats.application.memoryMB + ' MB'); console.log('GPU: ' + perfStats.system.gpuPercent + '%'); }, } });

Il callback riceve un PerformanceStats oggetto contenente statistiche a livello di applicazione e di sistema. Per i dettagli sulla struttura dell'interfaccia, consulta la documentazione di Amazon GameLift Streams Web SDK nella pagina del prodotto Getting Started.

La console Amazon GameLift Streams include anche un overlay prestazionale integrato quando si utilizza la funzionalità di test stream, che consente di monitorare le statistiche in tempo reale senza alcun intervento di implementazione.

Puoi combinare le statistiche sulle prestazioni con le statistiche WebRTC fornite dalle getAudioRTCStats() funzioni getVideoRTCStats() e dall'Amazon Streams Web SDK. GameLift Questa combinazione fornisce un quadro completo delle prestazioni di streaming, incluse le statistiche di rete, il frame rate del client e l'utilizzo delle risorse.

Ricevi le statistiche dopo la sessione

Amazon GameLift Streams raccoglie automaticamente le statistiche sulle prestazioni durante ogni sessione di streaming. Quando esporti file di sessione, le statistiche vengono incluse come stats/perf_stats_v1.csv nel file ZIP esportato. Ciò fornisce un record completo di tutte le statistiche raccolte durante la sessione per l'analisi e il debug post-sessione.

Per ulteriori informazioni sull'esportazione dei file di sessione, vedere. Esporta file di sessione di streaming

Riferimento alle statistiche sulle prestazioni

La tabella seguente elenca tutte le statistiche sulle prestazioni raccolte da Amazon GameLift Streams. Le statistiche dell'applicazione sono specifiche della sessione corrente, mentre le statistiche di sistema condivise riflettono l'utilizzo totale dell'elaborazione condivisa da parte delle sessioni su classi di stream multi-tenant.

Statistiche normalizzate sulle classi di stream multi-tenant

Amazon GameLift Streams supporta classi di streaming multi-tenant in cui più sessioni possono condividere la stessa istanza di calcolo. Le statistiche normalizzate (utilizzo della CPU e della memoria dell'applicazione) misurano l'utilizzo delle risorse dell'applicazione rispetto alla quota equa assegnata. La quota equa viene calcolata dividendo la CPU e la memoria totali disponibili sull'istanza di calcolo in modo uniforme in base alla tenancy della classe di streaming.

Un valore pari a 1,0 indica che l'applicazione sta utilizzando esattamente l'equa allocazione delle azioni. I valori inferiori a 1,0 indicano che stai utilizzando meno della tua allocazione. I valori superiori a 1,0 indicano un utilizzo eccessivo, che può portare a un peggioramento delle prestazioni della sessione. Nelle classi di streaming multi-tenant (tenant maggiore di 1), l'utilizzo eccessivo può influire anche su altre sessioni che condividono la stessa istanza di calcolo.

I nomi delle statistiche elencati nella tabella seguente vengono utilizzati come intestazioni delle colonne CSV nel file esportato. Quando si ricevono statistiche in tempo reale tramite Amazon GameLift Streams Web SDK, queste statistiche sono disponibili tramite l'PerformanceStatsinterfaccia con i nomi delle proprietà nel caso camel. Per l'esatta struttura dell'interfaccia e i nomi delle proprietà, consulta la guida di riferimento dell'API Amazon GameLift Streams Web SDK nella pagina del prodotto Getting Started.

Nome della statistica (colonna CSV) Description Scope
timestamp Ora in cui è stata effettuata la misurazione, in formato ISO 8601. Tutti
app_cpu_normalized L'utilizzo della CPU dell'applicazione si è normalizzato rispetto all'allocazione equa delle quote, dove 1.0 rappresenta il limite di fair share target. Un utilizzo superiore a 1,0 indica un utilizzo eccessivo, che può portare a problemi di prestazioni Applicazione
app_mem_mb Memoria totale (RAM) utilizzata dall'applicazione (misurata in MiB) Applicazione
app_mem_normalized L'utilizzo della memoria da parte dell'applicazione si è normalizzato rispetto all'allocazione equa delle quote, dove 1.0 rappresenta il limite di fair share target. Un utilizzo superiore a 1,0 indica un utilizzo eccessivo, che può portare a problemi di prestazioni Applicazione
shared_sys_cpu_pct Percentuale di utilizzo totale della CPU nell'elaborazione condivisa. Sistema condiviso
shared_sys_mem_mb Memoria totale utilizzata sull'istanza (misurata in MiB). Sistema condiviso
shared_sys_mem_pct Percentuale di memoria totale in uso nell'elaborazione condivisa. Sistema condiviso
shared_sys_gpu_pct Percentuale di utilizzo totale della GPU nell'elaborazione condivisa. Sistema condiviso
shared_sys_vram_mb VRAM totale (memoria GPU) utilizzata nell'elaborazione condivisa (misurata in MiB). Sistema condiviso
shared_sys_vram_pct Percentuale di VRAM (memoria GPU) totale in uso nell'elaborazione condivisa. Sistema condiviso