Métricas disponibles - Amazon GameLift Servers

Métricas disponibles

Las métricas se dividen en tres categorías:

  • Métricas recopiladas automáticamente

  • Métricas proporcionadas por el SDK

  • Métricas personalizadas

Recopilación automática de métricas

No se requieren cambios en el código para estas métricas:

Métricas de la instancia

Tipo de métrica Descripción Caso de uso
CPU Porcentaje de uso por instancia Monitoreo de recursos
Memoria Uso de memoria física y porcentaje Planificación de la capacidad
E/S de red Bytes y paquetes enviados/recibidos Estado de la conexión
E/S de disco Operaciones de lectura/escritura y rendimiento Rendimiento del almacenamiento

Métricas de flota

Tipo de métrica Descripción Caso de uso
Instancias activas Recuento de instancias en ejecución Escalado de flotas
Sesiones de juego Sesiones activas y disponibles Administración de la capacidad
Sesiones de juego bloqueadas Sesiones de juego que se han bloqueado Supervisión de errores

Métricas proporcionadas por el SDK

Requiere llamadas a funciones del SDK en el código:

Métricas de tiempo del servidor

Métrica Descripción Implementación
Tiempo diferencial del servidor Diferencia de tiempo entre el tiempo de graduación del servidor actual y el anterior. Mide la constancia de la frecuencia de graduación del servidor Llamada a GetDeltaTime()
Frecuencia de graduación del servidor Muestra el número de veces por segundo que el servidor procesa las actualizaciones Se calcula automáticamente
Tiempo de graduación del servidor La cantidad de tiempo que tarda el servidor en procesar una sola graduación o actualización Llamada a GetTickTime()
Tiempo de graduación del servidor mundial La cantidad de tiempo que tarda el servidor en actualizar el mundo del juego con cada graduación Llamada a GetWorldUpdateTime()

Implementación: en el caso de los SDK independientes del motor (C++, C#, Go), estas métricas se implementan llamando a funciones de SDK desde el ciclo de juego con valores de tiempo calculados. En el caso de los complementos de motor (Unreal o Unity), estas métricas se capturan automáticamente mediante la integración del motor.

Métricas de red

Métrica Descripción Implementación
Connections Número total de conexiones de red establecidas por el agente Automática después de InitMetrics()
E/S de red (bytes) Número total de bytes que envía y recibe el nodo a través de la red Automática después de InitMetrics()
E/S de red (paquetes) Cantidad total de paquetes de red enviados y recibidos por el servidor Automática después de InitMetrics()
Pérdida de paquetes Porcentaje de paquetes de red que se pierden durante la transmisión Automática después de InitMetrics()

Implementación: integre las llamadas a las funciones del SDK con la biblioteca de redes. El SDK proporciona directrices para diferentes implementaciones de red.

Métricas de proceso

Métrica Descripción Implementación
Uso de la CPU (%) Porcentaje de recursos de CPU que utiliza el proceso del servidor de juegos Automática después de InitMetrics()
Uso de memoria (unidades) Cantidad total de memoria que consumen los procesos del servidor Automática después de InitMetrics()
Uso de memoria física (%) Porcentaje de memoria física total del servidor que está en uso actualmente Automática después de InitMetrics()
Estado del servidor Estado del servidor de juegos Automática después de InitMetrics()

Implementación: el SDK recopila automáticamente estas métricas para cada proceso de sesión de juego.

Organización del panel por proceso

Las métricas por proceso están disponibles en dos paneles especializados:

  • Panel de rendimiento del servidor: contiene los tiempos del servidor (tiempo diferencial, frecuencia de graduación, tiempo de graduación, tiempo de graduación del mundo del juego), métricas de red (conexiones, bytes/paquetes de E/S, pérdida de paquetes), uso de memoria y uso de CPU de cada sesión de juego.

  • Panel de rendimiento de las instancias: incluye las tablas “Las N sesiones de juego que más memoria consumen” y las “N sesiones de juego que más CPU consumen”, que ayudan a identificar qué procesos contribuyen en mayor medida al consumo de recursos de la instancia. Haga clic en los enlaces de las sesiones de juego para investigar más a fondo las métricas detalladas.

Casos de uso de las métricas por proceso

Las métricas por proceso y por sesión de juego permiten los siguientes escenarios de supervisión:

  • Investigación del rendimiento en profundidad: cuando un host o instancia presentan un rendimiento degradado debido a procesos o sesiones de juego específicos, las métricas por proceso ayudan a identificar qué proceso ocasionó el problema con ayuda de las tablas de sesiones de juego que más memoria y CPU consumen.

  • Investigación de bloqueos del servidor de juegos: cuando una sesión de juego se bloquea, estas métricas ayudan a determinar si el bloqueo se debe a una falta de memoria, a una sobrecarga de la CPU o a problemas de ancho de banda de la red.

  • Investigación de problemas notificados por los jugadores: cuando los jugadores informan de retrasos o interrupciones durante el juego, las métricas por proceso ayudan a identificar los cuellos de botella en la CPU, la memoria, la red, el tiempo de graduación o el tiempo de actualización del mundo de juego.

  • Identificación de las variaciones de rendimiento en las diferentes compilaciones: las métricas del tiempo de graduación, frecuencia de graduación y tiempo de actualización del mundo de juego permiten a los desarrolladores medir las variaciones de rendimiento del juegos en las distintas compilaciones del servidor.

  • Detección de retrasos y ralentización del juego: las métricas de tiempo de graduación, frecuencia de graduación y tiempo de actualización del mundo de juego reflejan la rapidez con la que el servidor actualiza el juego, lo que repercute directamente en la experiencia del usuario.

  • Análisis comparativo: identifique cómo los diferentes escenarios del juego afectan al rendimiento del servidor en función de factores como el número de jugadores, el modo de juego y otras variables.

Organización en paneles

Las métricas se organizan en paneles especializados en Amazon Managed Grafana para ofrecer diferentes posibilidades de supervisión. Los paneles disponibles dependen del tipo de flota:

Paneles de flotas de EC2

  • Panel de información general de las flotas de EC2: información detallada de capacidad de la flota, datos de escalado, jugadores simultáneos (CCU), instancias, capacidad de jugadores y sesiones de juego bloqueadas.

  • Panel de información general de las instancias: métricas agregadas de nivel de host de todas las instancias, incluidos el uso promedio de la CPU, la memoria, la red y el disco.

  • Panel de rendimiento de las instancias: métricas detalladas de las instancias individuales con las tablas “N sesiones de juego que consumen más memoria” y “N más sesiones de juego que consumen CPU” para identificar los procesos que consumen muchos recursos.

  • Panel de rendimiento del servidor (EC2): temporización de los bucles de juego, rendimiento de la red, memoria y CPU para las sesiones de juego individuales en las instancias de EC2.

Paneles de la flota de contenedores

  • Panel de información general sobre la flota de contenedores: descripción general de alto nivel de la utilización de los recursos de la flota de contenedores, incluida la reserva de CPU, la utilización de la memoria y el estado del grupo de contenedores.

  • Panel de rendimiento de contenedores: métricas detalladas de los contenedores individuales dentro de tareas específicas de ECS, como el uso de la CPU, el uso de la memoria, las E/S de la red y el rendimiento del almacenamiento.

  • Panel de rendimiento del servidor (contenedor): medición de la duración de los ciclos de juego, el rendimiento de la red, la memoria y la CPU de las sesiones de juego individuales en contenedores.

Para obtener más información e instrucciones detalladas, consulte Organización y uso de los paneles.