www

ein Webangebot von rotering-net.de

RuntimeMeter - Klasse zur Laufzeitmessung

LGPL 3 - Free Software Arbeitet mein Skript wirklich so langsam oder ist die langsame Internetleitung daran Schuld, dass es so lange dauert? Ist die eine oder die andere Datenbankabfrage schneller? Häufig möchte man wissen, wie lange die serverseitige Ausführung des eigenen PHP-Skripts benötigt. Zugegeben, so etwas kann man sich schon mit wenigen Zeilen basteln, aber diese Klasse bietet einfach mehr.

Unterbrechen Sie kurzzeitig die Laufzeitmessung und nehmen Sie sie später wieder auf, wenn sie bestimmte Befehle aus der Messung ausschließen möchten. Lassen Sie sich direkt einen formatierten String der Laufzeit in verschiedenen Zeiteinheiten zurückgeben. Erstellen Sie mehrere parallele Laufzeitmesser, um unterschiedliche Teile Ihres Skriptes zu messen. Die Klasse ist wirklich einfach einzubinden und verhält sich äußerst fehlertolerant.

Download

Bitte beachten Sie: Version 1.1 des RuntimeMeters benötigt mindestens PHP 8. Wenn Sie mit einer älteren Version von PHP arbeiten, verwenden Sie stattdessen Version 1.0.

Anwendungsbeispiel

Zunächst muss die Klasse selbstverständlich in Ihr Skript eingebunden werden. Ab Version 1.1 wird Namespacing umgesetzt. Daher weisen Sie darauf hin, dass Sie die Klasse innerhalb Ihres Skript verwenden möchten und binden dann die entsprechende Datei ein. Passen Sie hier ggf. den Dateipfad an.

use RoteringCore\RuntimeMeter; require_once './RoteringCore/RuntimeMeter.php';

In Version 1.0 wurde noch kein Namespacing verwendet, weshalb Sie einfach nur die entsprechende Klassendatei einbinden müssen.

require_once 'runtimemeter.class.php';

Erzeugen Sie dann ein (oder beliebig viele weitere) Objekte der RuntimeMeter-Klasse und starten Sie die Laufzeitmessung mittels der Methode start().

$timer = new RuntimeMeter(); $timer->start();

Wenn gewünscht, können Sie die Laufzeitmessung mittels der Methode stop() unterbrechen und später wieder mit start() aufnehmen. Dies kann bspw. hilfreich sein, wenn sie Daten übertragen oder größere Dateien einlesen, dies aber nicht mit zur Laufzeit zählen möchten.

Um die Laufzeit auszuwerten, stoppen Sie die Zeitmessung mittels stop() und rufen dann die Methode getResult() auf. Diese gibt einen formatierten String in Millisekunden zurück. Sie können die Formatierung des Strings mittels der Methode setResultFormat() umfassend ihren Bedürfnissen anpassen.

$timer->stop(); echo 'Laufzeit: ' . $timer->getResult();

Methoden