2016-08-13 2 views
0

Ich habe eine relativ einfache Java-App, die aus AWS/SQS liest und die Daten mit mehreren Thread-Gruppen analysiert.neues Relikt - Instrumentierung einer App mit mehreren Threading-Objekten

Themen:

  • von SQS lesen
  • sammeln die Ausgabe von oben Fäden in ‚Blöcke‘ von Zeit + anderen Tasten
  • einmal ‚Blöcke‘ auf Zeit sind diese Fäden senden an anderer Stelle zum Schreiben
  • reinigen

up Ich mag würde NewRelic an sich verwenden, Was passiert in diesen Thread-Gruppen, aber wenn ich die @Trace(dispatcher=true) auf mehr als eine der run() Funktionen setzt, hört es auf, eines von ihnen zu lesen. Anstatt Spuren für alle meine Funktionen in jedem Thread zu sehen, sehe ich von nichts viel.

Frage:

  • wie würde ich Metriken aus einer App wie diese sammeln? Oder ist es überhaupt möglich?

Antwort

0

FWIW - NewRelic Transaktion Spuren nicht für run() Funktionen, wenn sie nie Ausgang gemeldet werden.

Beispiel:

public void run() { 
    while(true) { 
     // do some tasks 
    } 
} 

Was Sie können tun gesetzt wird @Trace Aussagen über alles, was aus dem run() Schleife aufgerufen wird. Wenn diese Funktionen beendet werden, werden die Traces zurück an NR gemeldet.

Verwandte Themen