Come verificare akka per quanto tempo un messaggio era in arrivo? Voglio fare un messaggio di log se il messaggio era in arrivo per troppo tempo. Qualcosa del tipo:Akka - come verificare per quanto tempo un messaggio era in arrivo?
override def receive: Receive = {
case Message =>
val timeInInbox = ...
if (timeInInbox > treshold) log.warn("bla bla bla the doom is coming")
una soluzione può essere quella di timestamp in modo esplicito i messaggi, ad esempio: 'caso classe messaggio (ts: Long)' – kosii
facciamo qualcosa di molto simile, tranne che invece di registrazione, stiamo aggiornando metriche timer per i messaggi come lunghi rimani nella casella di posta. Facciamo ciò che @kosii suggerisce e stampiamo tutti i nostri messaggi che vanno ai nostri attori con un timestamp e poi abbiamo un impl di cassetta postale personalizzato che sovrascrive 'dequeue' per vedere quanto tempo è trascorso da quando i messaggi sono stati creati e quando è stato rimosso dalla casella di posta. – cmbaxter
È un grande sovraccarico se creo una casella di posta personalizzata, con overriden 'enqueue' che mette il messaggio originale in tuple' (msg, timestamp) 'e sovrascritto' dequeue' con la registrazione? – mpr