Lumberyard
Guía del usuario (Version 1.20)

Gema en la nube Game Metrics

Puede utilizar la gema en la nube Game Metrics para recopilar datos de eventos sobre los comportamientos de los jugadores, que después puede analizar o usar para disparar acciones de eventos. Esta gema utiliza una API de servicio con el Cloud Gem Framework para el envío de eventos, Amazon S3 para el almacenamiento de datos, Amazon Athena como motor de consultas, Amazon QuickSight como visualizador de datos y Cloud Gem Portal para administración y como panel de telemetría.

Puede habilitar esta gema para hacer lo siguiente:

  • Ver datos en tiempo real de los usuarios que están jugando.

  • Ejecutar consultas y generar informes sobre el comportamiento de los jugadores a lo largo del tiempo.

  • Visualizar la actividad de los jugadores en el mundo del juego.

  • Registrar eventos de los jugadores aunque estos estén sin conexión.

nota

La gema en la nube Game Metrics solo se admite en las regiones en las que se admite FIFO. Para obtener más información, consulte la sección sobre Colas FIFO (First-In-First-Out) de Amazon SQS en la Guía para desarrolladores de Amazon Simple Queue Service.

ejemplo Información general

A continuación, se ilustra cómo los servicios de AWS procesan los eventos del juego para que pueda verlos en Cloud Gem Portal.


                Cree eventos de reproducción del juego con el nivel de ejemplo de Metrics para enviarlos a Cloud Gem Portal.

Cuando se generan eventos del juego, ocurre lo siguiente:

  1. El controlador de Amazon API Gateway de Lambda, denominado FIFO_producer (productor), procesa primero los eventos enviados por las solicitudes REST. Este productor divide la solicitud en fragmentos más pequeños para cargar un máximo de 256 KB por fragmento, que es el tamaño de carga máximo que un mensaje de SQS admite. Como el tamaño de un único evento, incluidos los atributos, no puede superar los 256 KB, el productor devuelve un error si un evento supera este límite.

  2. Un proceso de Lambda llamado FIFO_consumer (consumidor) procesa los mensajes de SQS.

  3. El consumidor se activa cada cinco minutos y se replica a sí mismo cuando se cumple una de las siguientes condiciones:

    • El crecimiento de la cola de SQS supera el 5%, lo que se comprueba cada 15 segundos.

    • El recuento de colas de SQS supera los 3000 mensajes.

    El consumidor procesa tantos mensajes de SQS como sea posible dentro de su vida útil de cinco minutos, agrega los eventos del mismo tipo en un solo archivo parquet y, a continuación, guarda el archivo en un clave de S3 específica.

  4. Otra función Lambda llamada amoeba_generator se activa cada 20 minutos y agrega todos los archivos de una misma ruta de clave en un único archivo. Este proceso maximiza el rendimiento de E/S (entrada/salida) cuando la base de datos carga los archivos. Los rastreadores de AWS Glue rastrean el bucket de datos e identifican un esquema común; este esquema define las tablas que va a utilizar Athena.

  5. Los archivos de S3 se ponen a disposición de Athena para realizar consultas en AWS Glue. AWS Glue actualiza el esquema de base de datos de Athena cada hora. Los datos de eventos de S3 se distribuyen en particiones (o indexan) por hora. Esto significa que el menor nivel de detalle cuando se utilizan particiones de Athena es por hora.

    nota

    El envío de consultas por particiones puede reducir considerablemente los costos y mejorar el desempeño de las consultas. Para obtener información, consulte Particiones de datos en la Guía del usuario de Amazon Athena.

La gema en la nube Game Metrics incluye las siguientes particiones de Athena predeterminadas:

Particiones Descripción

p_event_name

Nombre del evento.

p_server_timestamp_strftime

Marca temporal del servidor (UTC) del evento en formato Python: '%Y%m%d%H0000'.
p_server_timestamp_year

Año de la marca temporal del servidor (UTC).

p_server_timestamp_month

Mes de la marca temporal del servidor (UTC).

p_server_timestamp_day

Día de la marca temporal del servidor (UTC).

p_server_timestamp_hour

Hora de la marca temporal del servidor (UTC).

p_event_source Origen de datos del evento. El valor predeterminado es "cloudgemmetric" o "cloudgemdefectreporter".

p_client_build_identifier

Identificador de compilación asociado al evento.

p_data_sensitivity

Nivel de cifrado de los datos.

p_event_schema_hash

Hash del esquema de evento.

Requisitos previos

Este tutorial se basa en los siguientes supuestos:

  • Está utilizando un proyecto de Lumberyard que tiene habilitada Cloud Gem Game Metrics (Gema en la nube Game Metrics).

  • Ha creado una pila de proyecto y una de implementación en el administrador de recursos de Cloud Canvas.

  • Ha abierto el Cloud Gem Portal.

Si no cumple los requisitos previos, consulte Habilitación de gemas y Tutorial: Introducción a Cloud Canvas.

En esta página: