mchr3k / org.intrace

Java tracing agent and live trace client
http://mchr3k.github.com/org.intrace/
73 stars 18 forks source link

Feature request: burst-mode network requests #19

Open eostermueller opened 12 years ago

eostermueller commented 12 years ago

If InTrace is monitoring a remote application, it seems that a separate network request is made for every trace event. Is that right? -- I haven't looked closely enough at the code to see. If that is the case, I don't think that kind of model will scale when medium-to-large amounts of load is applied. Perhaps we could consider some kind of burst mode where trace events collect in a queue and are sent to the GUI every X seconds? CA Introscope, for instance, has a 15 second delay. I'd be happy with 5, but it should be configurable.

We should do some load testing to measure InTrace overhead. 1) Deploy Java PetStore application 2) Use "http://grinder.sourceforge.net/" to apply some load. 3) Measure

Compare results from the above test with and without InTrace with instrumentation. We should have multiple Load tests with InTrace. 1) instrumenting 50 classes 2) instrumenting 100 classes 3) instrumenting 200 classes 4) instrumenting 400 classes

mchr3k commented 12 years ago

InTrace Agent supports two types of connection - Control and Trace. Each client makes a Control connection and can then request to open a Trace connection.

InTrace Agent maintains a single dedicated Trace TCP connection to each InTrace UI which has requested it. Trace events are dispatched locally to a dedicated thread which handles sending trace events down the trace TCP connection.

eostermueller commented 8 years ago

I just created a pull request to address this issue.

40

Please close this issue if you apply the code.