This issue is archived. You can view it, but you can't modify it. Learn more

ExportXMLWordPrintable

      Often, the extreme slowness in the UI or executors come from lock contention.

      Today, I catch them mainly by looking at thread dumps and noticing large number of threads waiting for the same lock. But thread dump is a fairly crude tool for this purpose.

      • If the average duration of one locking is very long, it won't take too many threads to cause a long delay, but they won't be as visible in thread dumps.
      • We need to ask the thread dumps be taken while the problem is exhibiting itself.

      This seems like something a tool can help. I don't know what is easy to do, what's possible, and what isn't, but some ideas include:

      • track contended locks across JVMs over time and report them?
      • If doing it across the JVMs is difficult, maybe we can do it for specific objects or specific classes?
      • Or instead of doing this proactively, perhaps the plugin would let us specify an expression to designate an object, then we just monitor that object somehow?

      I wonder JMX or Java agent offer anything in this space.

            Assignee:
            Steven Christou
            Reporter:
            Kohsuke Kawaguchi
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Archived: