Blockierte Aktionen - Erkennung

Dank der Ausführungssteuerkomponente für Leistungstests können erkennen, wenn eine Aktion blockiert ist. Wann eine Aktion als blockiert gilt, wird vom Aktionsverantwortlichen definiert. Im Rahmen dieser Definition wird die Zeitspanne angegeben, die bei Ausführung einer bestimmten Aktion maximal auf eine Antwort durch ein Worker-Thread der Ausführungssteuerkomponente gewartet werden darf, bevor die Aktion als blockiert eingestuft wird. Die Erkennung blockierter Aktionen wird von der Ausführungssteuerkomponente für Leistungstests auf der Stufe AM AUSFÜHRLICHSTEN im Fehlerbestimmungsprotokoll protokolliert. Im einfachsten Fall wäre die Ausführung einer Aktion blockiert und Sie würden sie als blockiert erkennen, wenn Sie nach dem Klicken auf die Schaltfläche Stopp zum Beenden der Ausführung im Fehlerbestimmungsprotokoll nachsehen.

Zusätzlich zur Erkennung der blockierten Aktionen kann auch eine Benachrichtigung an ein entsprechendes Protokoll erfolgen. Zusammen mit der betreffenden Aktion wird ein Verweis auf den blockierten Thread der Ausführungssteuerkomponente bereitgestellt. Damit wird die Übertragung einer Nachricht zwischen Protokoll und blockiertem Thread möglich. Sobald das Protokoll über eine blockierte Aktion informiert wird, kann es die Wiederholung der Aktion veranlassen, die Aktion beenden und zur nächsten Aktion wechseln oder die Ausführung durch den virtuellen Benutzer beenden.

In der Schnittstelle IKAction finden Sie als Einstiegspunkt für Protokolle zur Reaktion auf eine blockierte Aktion die folgende Methode:

public void blocked(). Der Objektstatus KAction ist bei Eingabe von "blocked()" möglicherweise beschädigt. Das Protokoll muss daher davon ausgehen, dass bestimmte oder alle Daten im Zusammenhang mit der Aktion nicht sicher sind. Außerdem kann es sein, dass bestimmte Sperren, die bei der Ausführung ("execute()") Gültigkeit hatten, freigegeben wurden.

public long getBlockedTimeout()

Gibt den Zeitlimitwert für blockierte Aktionen an. Standardwert ist "0" (keine Begrenzung).

public WorkerThread getWorkerThread()

Gibt den Worker-Thread der Ausführungssteuerkomponente an, von dem die Aktion gerade ausgeführt wurde, als die Blockade der Aktion entdeckt wurde.

IEngine

Über die Schnittstelle der Ausführungssteuerkomponente für Leistungstests wurde der Eintrag public boolean createWorker() hinzugefügt. Über createWorker() sollen Worker, die mit der Thread-Überwachung betraut sind, neue Worker hinzufügen können, wenn vorher Worker entfernt worden waren, von denen blockierte Aktionern ausgeführt wurden.


Feedback