[openstack-dev] Guru Meditation output seems useless

Pete Zaitcev zaitcev at redhat.com
Mon Mar 3 21:58:34 UTC 2014

Dear Solly:

I cobbled together a working prototype of Guru Meditation for Swift
just to see how it worked. I did not use Oslo classes, but used the
code from Dan's prototype and from your Nova review. Here's the
Gerrit link:

Looking at the collected tracebacks, most of all they seem singularly
useless. No matter how loaded the process is, they always show
something like:

  File "/usr/lib/python2.6/site-packages/eventlet/hubs/hub.py", line 226, in run
  File "/usr/lib/python2.6/site-packages/eventlet/hubs/poll.py", line 84, in wait
    presult = self.do_poll(seconds)
  File "/usr/lib/python2.6/site-packages/eventlet/hubs/poll.py", line 73, in do_poll
    return self.poll.poll(int(seconds * 1000.0))
  File "/usr/lib/python2.6/site-packages/swift/common/daemon.py", line 103, in <lambda>
  File "/usr/lib/python2.6/site-packages/swift/common/guru_meditation.py", line 79, in signal_handler
    dump_threads(gthr_model, report_fp)
  File "/usr/lib/python2.6/site-packages/swift/common/guru_meditation.py", line 53, in dump_threads
  File "/usr/lib/python2.6/site-packages/swift/common/guru_meditation.py", line 29, in dump
    traceback.print_stack(self.stack, file=report_fp)

The same is true for native and gree threads: they all seem to be
anchored in he lambda that passes parameters to the signal handler,
so they show nothing of value.

So, my question is: did you look at traces in Nova and if yes,
did you catch anything? If yes, where is the final code that works?

-- Pete

More information about the OpenStack-dev mailing list