2016-07-26 9 views
0

Ich verwende eine JProfiler-Evaluierungslizenz, um eine Client-Anwendung zu profilieren, die Daten in einen Socket schreibt. Ich verbinde mich erfolgreich mit dem Client, nachdem ich es gestartet habe und klicke auf Record Probe Sockets. Die Registerkarte Zeitlinie zeigt zwei vertikale rote Linien für den Start und das Beenden der Anwendung an. Die Registerkarte Sockets zeigt jedoch nichts.Warum zeigt der JProfiler keine Socket-Aktivität an?

Ich weiß, dass Daten in einen Socket geschrieben werden, weil ich die Daten auf dem Server sehe. Der Client verwendet mehrere Threads, um Daten in den Socket zu schreiben.

Gibt es noch etwas, was ich tun muss, um Socket-Nutzung mit JProfiler zu profilieren? Was ich wirklich sehen möchte ist, wie viel Zeit meine Anwendung benötigt, um in den Socket zu schreiben und wie viel Zeit es blockiert wird, während ich darauf warte, in einen Socket zu schreiben.

Antwort

0

Der Profiler kann ereignis- und stichprobenbasierte Messungen durchführen. Ereignisbasierte Messungen sind nur für Klassen verfügbar, die nicht zu den Paketen java gehören, da sie Klassen während des Ladens dynamisch ändern. Ihre Socket-Operationen werden also durch Abtasten gemessen.

Sampling funktioniert so, wie der Profiler Stack-Traces in jedem bestimmten Zeitraum prüft und sieht, welcher Code (in Ihrem Fall, ob es sich um Socket-Betrieb handelt). Standardabtastrate ist 5 ms. Ich würde anbieten, die Rate zu verringern und zu sehen, ob es hilft, da Ihre Socket-Operationen 1 ms lang sind und sie nie gezeigt werden: Der Profiler stoppt jedes Mal, wenn es keine Socket-Operation gibt.

Edit: Plus, ich würde überprüfen, dass Sockets Profiling in erster Linie aktiviert ist

+0

Vielen Dank dafür. Socket Profiling ist aktiviert, aber ich konnte nicht finden, wo die Sampling-Periode in der GUI zu verringern. Außerdem gibt es im Dokument nichts über Socket-Profiling. Ist es irgendwo anders dokumentiert? –

+0

Try Session-Einstellungen -> Profiling-Einstellungen -> Methodenaufruf-Aufzeichnung. Wechseln Sie zu (wenn es nicht ausgewählt ist) Sampling. Stellen Sie die Anzahl der Millisekunden ein –

+0

Haben Sie versucht, mit JEE & Probes -> Integrierte Tastköpfe -> Buchseneinstellungen zu spielen? –