Erlang Verarbeitet Reduktionszählung

8

Ich versuche, mehr über die Arbeitsverteilung zwischen den Prozesse meiner Erlang-Anwendung. Die Anzahl der von a Prozess ist unter anderem eines der Dinge, die mich interessieren.

Ich suche also nach einer Möglichkeit, die Anzahl der Kürzungen von a zu lesen Prozess, wenn es beendet wird. Es ist zwar ziemlich einfach zu bekommen Diese Art von Informationen, während die Prozesse noch ausgeführt werden, erhalten sie kurz bevor (oder richtig nach) sie verlassen, ist eine andere Geschichte. ich habe sah die ganze Dokumentation, besonders dbg: * Funktionen, leider ohne Erfolg. Meistens weil ich immer benachrichtigt werde über den Ausgang eines Prozesses ist es schon zu spät, etwas zu tun darüber.

Ändern des Codes der gesamten Anwendung, um diese Werte zu lesen bevor der Prozess beendet wird, ist dies nicht möglich. Gibt es einen Weg, es zu tun? außer in den VM-Code einzutauchen und ihn zu instrumentieren?

Danke

    
Francesquini 05.04.2012, 12:26
quelle

1 Antwort

1

Ich glaube nicht, dass Sie reductions für Prozesse bekommen können, aber Sie könnten eine zeitbasierte Arbeitsverteilung erhalten, indem Sie eine erlang:trace/3 mit running und timestamp -Optionen ausführen. Das würde dir helfen, was du willst, denke ich. Natürlich müssen Sie die Daten sammeln und eine Nachbearbeitung oder Just-in-Time-Verarbeitung durchführen.

Ich würde auch die Option procs für die Ablaufverfolgung verwenden, um die notwendigen Meta-Informationen zu erhalten, d. h. gestartet, beendet usw.

    
psyeugenic 11.04.2012, 19:27
quelle

Tags und Links