estoy disparando tareas utilizando un ExecutorService, el envío de tareas que deben ser agrupados por criterios específicos de la tarea:¿Cómo rastrear las estadísticas de ejecución de tareas usando un ExecutorService?
Task[type=a]
Task[type=b]
Task[type=a]
...
Periódicamente me quieren dar salida a la duración media de tiempo que tomó cada tarea (agrupados por type
) junto con información estadística como media/mediana y desviación estándar.
Esto debe ser bastante rápido, por supuesto, e idealmente no debería causar que los distintos subprocesos se sincronicen cuando informan las estadísticas. ¿Cuál es una buena arquitectura para hacer esto?
Debo notar; Sé de dónde voy a llamar a estos métodos, me gustaría recibir consejos sobre qué debería usar para acumular los datos. –
¿Cada tipo de tarea tiene su propio ejecutable? – Gandalf
Sí, lo hacen. Bastante básico, por supuesto, pero hay algo de información almacenada en la tarea antes de enviarla. –