AWS Cloudwatch recibe un recuento de 1 cada vez que inicio la descarga de una imagen. Estoy descargando miles de imágenes (en un grupo de instancias EC2) y me gustaría realizar un seguimiento del progreso total.
No puedo encontrar ninguna documentación sobre cómo trazar la suma acumulativa de una métrica. Las expresiones matemáticas de AWS Cloudwatch parecían prometedoras, pero no tienen una función de integración.
Actualmente, puedo trazar la suma de las descargas de imágenes iniciadas, pero solo por períodos, como se ve a continuación. Idealmente, me gustaría trazar la integral de este gráfico:
Puede obtener una suma acumulativa sobre el rango actual usando la función SUM() que se opera sobre el rango original que contiene solo el número Uno (1). Recuerde, está buscando un solo número al final, por lo que no es un gran gráfico, pero necesita convertir la suma de valor único en una serie de tiempo.
m1 como su métrica. Esta es la métrica en la que querrá usar SUM() .e1 como m1/m1 . Esto da como resultado una serie de tiempo con cada valor igual a 1. Esto es lo que le permitirá convertir ese SUM nuevamente en una serie de tiempo.e2 como SUM(m1) / e1 . Esto es, efectivamente, la suma acumulativa de m1 dividida por uno para cada punto de datos en la serie de tiempo original. Será una línea horizontal en el gráfico, que tendrá cada punto en esa línea horizontal como la suma acumulada de la métrica m1 . Esto es necesario porque Cloudwatch solo puede trazar una serie temporal en el gráfico, no un valor único.m1 y e1 invisibles. Los necesitas, pero no necesitas verlos.Line a Number , ya que de todos modos solo quería la suma acumulativa. La razón por la que no puede usar SUM() directamente es porque es un valor único. Al dividir por una serie de tiempo que contiene todos los 1, el gráfico completo es el resultado de SUM() . Luego, cambiar el gráfico a un número oculta efectivamente todas las matemáticas y presenta solo el "resultado final".
Estás en lo correcto. Todas las métricas de Amazon CloudWatch son para un período definido .
El período máximo para una métrica es un día , por lo que no es adecuado para un contador acumulativo que desea continuar más allá de un día.
Deberá encontrar un método alternativo para almacenar el recuento, como una tabla de Amazon DynamoDB . Use un contador atómico a través de UpdateItem para incrementar el conteo.
Parece que se ha agregado RUNNING_SUM() que hace lo que necesita:
Puede encontrar RUNNING_SUM() en "Agregar matemáticas"->"Todas las funciones"