<div dir="ltr"><div dir="ltr"><div><div>Good point about the FJ related noise. I hadn't thought of that.<br></div><div><br></div><div>There's probably a wider question of which thread "park" events are considered to be contention or not. Clearly a thread waiting to poll something from a blocking queue isn't experiencing contention, nor is a thread waiting on a CountDownLatch. A thread waiting to acquire a Semaphore may be considered to be contended, similar to a ReentrantLock (is a blocked call to LinkedBlockingQueue#put() contention?). In other words, despite understanding why the JFR "contention" views only consider intrinsic locks, as a user I still feel that the names of the views are a bit misleading, given that they only summarize a subset of the contention in an application.</div><div><br></div><div>Cheers,</div><div>Matt</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 21 Jun 2024 at 18:51, robert engels <<a href="mailto:rengels@ix.netcom.com">rengels@ix.netcom.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">I agree that I don’t think JFR is intelligent about the locks.<div><br></div><div>Maybe create your own sub-class of ReentrentLock and emit custom JFR events?</div><div><br></div><div>Otherwise there appears to be too much noise with the Fork-Join pool.<br><div><br></div>...</div></div></blockquote></div></div>