codemancers / rbkit

A new profiler for Ruby. With a GUI
http://rbkit.c9s.dev/
MIT License
356 stars 12 forks source link

Somtimes during profiling no gc_end_s is received #37

Closed gnufied closed 10 years ago

gnufied commented 10 years ago

I noticed that, sometimes when I am profiling and trigger the GC manually using our Qt client, no gc_end_s ever gets received. We need to find out why is that. It does not happen always but sometimes.

iffyuva commented 10 years ago

when i trigger gc, i get gc_ends_s before gc_start.

gnufied commented 10 years ago

wowser!!

gnufied commented 10 years ago

@iffyuva have you seen timestamp on those events btw? I think, timestamp should still be correct.

gnufied commented 10 years ago

This seems to be a bug indeed in rbkit, rather than one in Qt app. I was able to reproduce the problem with pure Ruby app. Wondering, if this because of zmq

emilsoman commented 10 years ago

I've also seen that sometimes zmq doesn't flush messages unless there is enough data in the buffer. But this happened very randomly.

emilsoman commented 10 years ago

Tested this on #41 and the issue seems to have disappeared because we now aggregate messages and send them every second instead for every obj trace event. The client should get enough time to pick up messages from the zmq queue now.

emilsoman commented 10 years ago

This is fixed now.