Statistiques de performance en temps réel - Amazon GameLift Streams

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.

Statistiques de performance en temps réel

Amazon GameLift Streams collecte des statistiques de performance pendant les sessions de streaming actives, en mesurant l'utilisation des ressources chaque seconde. Utilisez ces statistiques pour surveiller les performances de votre application, identifier les goulots d'étranglement liés aux ressources et optimiser votre expérience de streaming.

Les statistiques de performance incluent à la fois des statistiques au niveau de l'application (utilisation du processeur et de la mémoire pour votre application spécifique) et des statistiques au niveau du système (utilisation du processeur, de la mémoire, du processeur graphique et de la VRAM pour l'infrastructure informatique partagée).

Vous pouvez obtenir des statistiques de performance de deux manières :

  • En temps réel pendant la session : utilisez le SDK Web Amazon GameLift Streams pour recevoir les statistiques au fur et à mesure qu'elles sont collectées. Cela vous permet de créer des superpositions de performances et de surveiller l'utilisation des ressources lorsque vous interagissez avec l'application.

  • Après la session sous forme de fichier CSV : lorsque vous exportez des fichiers de session, les statistiques sont incluses sous forme stats/perf_stats_v1.csv de. Cela fournit un enregistrement complet pour l'analyse et le débogage après la session.

Recevez des statistiques de performance

Recevez des statistiques en temps réel

Pour recevoir des statistiques de performance dans votre application cliente pendant une session active, définissez le SharedWithClient paramètre sur true lors de l'appel de l'StartStreamSessionAPI. Le SDK Web Amazon GameLift Streams fournit un performanceStats rappel qui se déclenche chaque fois que de nouvelles statistiques arrivent depuis la session de streaming.

Avertissement

N'activez pas SharedWithClient les sessions de production avec les utilisateurs finaux. Ne l'activez que lorsque le client est fiable, par exemple pour le débogage et les tests internes.

Lors de l'initialisation du SDK Web Amazon GameLift Streams, définissez une fonction clientConnection.performanceStats de rappel qui recevra des statistiques de performance.

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 + '%'); }, } });

Le rappel reçoit un PerformanceStats objet contenant des statistiques au niveau de l'application et au niveau du système. Pour plus de détails sur la structure de l'interface, consultez la documentation du SDK Web Amazon GameLift Streams sur la page produit Getting Started.

La console Amazon GameLift Streams inclut également une superposition de performances intégrée lors de l'utilisation de la fonctionnalité de flux de test, ce qui vous permet de surveiller les statistiques en temps réel sans aucun travail de mise en œuvre.

Vous pouvez combiner les statistiques de performance avec les statistiques WebRTC fournies par getVideoRTCStats() les fonctions getAudioRTCStats() et du SDK Web GameLift Amazon Streams. Cette combinaison fournit une image complète des performances de streaming, y compris les statistiques du réseau, la fréquence d'images du client et l'utilisation des ressources.

Recevez les statistiques après la session

Amazon GameLift Streams collecte automatiquement les statistiques de performance lors de chaque session de streaming. Lorsque vous exportez des fichiers de session, les statistiques sont incluses telles que stats/perf_stats_v1.csv dans le fichier ZIP exporté. Cela fournit un enregistrement complet de toutes les statistiques collectées pendant la session à des fins d'analyse et de débogage après la session.

Pour plus d'informations sur l'exportation de fichiers de session, consultezExporter les fichiers de session de streaming.

Référence des statistiques de performance

Le tableau suivant répertorie toutes les statistiques de performance collectées par Amazon GameLift Streams. Les statistiques de l'application sont spécifiques à la session en cours, tandis que les statistiques du système partagé reflètent l'utilisation totale du calcul partagé par les sessions sur des classes de flux à locataires multiples.

Statistiques normalisées sur les classes de flux à locataires multiples

Amazon GameLift Streams prend en charge les classes de flux à locataires multiples dans lesquelles plusieurs sessions peuvent partager la même instance de calcul. Les statistiques normalisées (utilisation du processeur et de la mémoire de l'application) mesurent l'utilisation des ressources de votre application par rapport à la juste part qui lui est allouée. La juste part est calculée en divisant le total du processeur et de la mémoire disponibles sur l'instance de calcul de manière égale en fonction de la location de classe de flux.

Une valeur de 1,0 signifie que votre application utilise exactement sa juste allocation d'actions. Les valeurs inférieures à 1,0 indiquent que vous utilisez moins que votre allocation. Les valeurs supérieures à 1,0 indiquent une surutilisation, ce qui peut entraîner une dégradation des performances de votre session. Sur les classes de flux à locataires multiples (location supérieure à 1), la surutilisation peut également avoir un impact sur d'autres sessions partageant la même instance de calcul.

Les noms de statistiques répertoriés dans le tableau suivant sont utilisés comme en-têtes de colonne CSV dans le fichier exporté. Lorsque vous recevez des statistiques en temps réel via le SDK Web Amazon GameLift Streams, celles-ci sont disponibles via l'PerformanceStatsinterface avec les noms des propriétés dans Camel Case. Pour connaître la structure exacte de l'interface et les noms des propriétés, consultez le guide de référence de l'API Amazon GameLift Streams Web SDK sur la page produit Getting Started.

Nom de la statistique (colonne CSV) Description Scope
timestamp Heure à laquelle la mesure a été prise, au format ISO 8601. Tous
app_cpu_normalized L'utilisation du processeur de l'application s'est normalisée par rapport à la juste allocation de parts, où 1,0 représente la limite de partage équitable cible. Une utilisation supérieure à 1,0 indique une surutilisation, ce qui peut entraîner des problèmes de performance Application
app_mem_mb Mémoire totale (RAM) utilisée par l'application (mesurée en MiB) Application
app_mem_normalized L'utilisation de la mémoire de l'application s'est normalisée par rapport à l'allocation équitable, où 1,0 représente la limite de partage équitable cible. Une utilisation supérieure à 1,0 indique une surutilisation, ce qui peut entraîner des problèmes de performance Application
shared_sys_cpu_pct Pourcentage de l'utilisation totale du processeur sur le calcul partagé. Système partagé
shared_sys_mem_mb Mémoire totale utilisée sur l'instance (mesurée en MiB). Système partagé
shared_sys_mem_pct Pourcentage de mémoire totale utilisée sur le calcul partagé. Système partagé
shared_sys_gpu_pct Pourcentage de l'utilisation totale du GPU sur le calcul partagé. Système partagé
shared_sys_vram_mb VRAM totale (mémoire GPU) utilisée sur le calcul partagé (mesurée en MiB). Système partagé
shared_sys_vram_pct Pourcentage de la VRAM totale (mémoire GPU) utilisée sur le calcul partagé. Système partagé