2012-03-26 10 views
1

Ich implementiere eine Protokollfunktion und möchte verfolgen, wie viele Daten eine Anfrage an mein PHP-Skript an den Client zurückgibt.So ermitteln Sie die Größe der aktuellen Ausgabe

Grundsätzlich möchte ich am Ende meiner Funktion einen Logger hinzufügen, der die benötigte Zeit (mit der Funktion microtime()) bestimmt, wie viel Speicher zu Spitzenzeiten verwendet wurde (mit der Funktion memory_get_peak_usage()) und wie viele Daten wurde an den Client zurückgegeben (im Grunde, wie viele Daten meine Skript-Ausgabe generiert, auch wenn diese nicht tatsächlich an den Client gesendet wurde). Dies erlaubt mir grundsätzlich die ungefähre Bandbreite zu berechnen, die mein Skript pro Anfrage generiert.

Jetzt weiß ich, dass ich ob _ *() Reihe von Funktionen verwenden könnte, die mit Ausgabepuffer beschäftigen, aber ich benutze bereits diese Funktionen über das Skript in Anzahl der Orte, und ich möchte nicht von der Leistung leiden Klicken Sie auf, wenn Sie eine weitere Ebene hinzufügen.

Gibt es eine Funktion, die ich in PHP verwenden konnte, die mir zu jedem Punkt im Skript sagt, wie viel Ausgabedaten von meinem Skript bisher generiert wurden?

Danke!

Antwort

1

PHP behält keine interne Zählung von dem, was Sie bisher an den Client gesendet haben (das würde eine weitere Ebene hinzufügen, auch für diejenigen, die diese Funktionalität nicht benötigen), also gibt es nichts, was Sie können Verwenden Sie nicht die Ausgabepufferfunktionen, um Inhalte vor dem Senden zu sammeln.

Haben Sie tatsächlich versucht, mehr Ausgabepuffer in Ihr Skript einzubinden und den Leistungsunterschied nicht akzeptabel zu finden?

+0

Ich dachte, ich habe nur gehofft, dass vielleicht etwas durch meine Finger glitt, wenn ich die Dokumentation durchging. Ich werde versuchen, eine Art von Zähler innerhalb des Systems zu erstellen, ohne zusätzliche Ausgabepufferschichten hinzuzufügen. Vielen Dank! – kingmaple

Verwandte Themen