This is an automated email from the ASF dual-hosted git repository.

He-Pin pushed a commit to branch refactor/process-pid
in repository https://gitbox.apache.org/repos/asf/pekko.git

commit 7ed148a9664fe9a0d87d5287f514a5cfb51081d3
Author: θ™ŽιΈ£ <[email protected]>
AuthorDate: Tue Jun 23 13:23:21 2026 +0800

    refactor: use ProcessHandle.current().pid() instead of RuntimeMXBean hack
    
    Motivation:
    PerfFlamesSupport.scala parses the PID from RuntimeMXBean.getName()
    which returns "pid@hostname" β€” a pre-JDK 9 hack that depends on
    an undocumented string format.
    
    Modification:
    Replace with ProcessHandle.current().pid() (JDK 9), the official
    API for retrieving the current process ID.
    
    Result:
    Cleaner, more reliable PID retrieval without string parsing.
    
    Tests:
    sbt "multi-node-testkit/compile" β€” passed
    
    References:
    Refs #3136
---
 .../scala/org/apache/pekko/remote/testkit/PerfFlamesSupport.scala     | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git 
a/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testkit/PerfFlamesSupport.scala
 
b/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testkit/PerfFlamesSupport.scala
index 35c3da6f34..1154263c1c 100644
--- 
a/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testkit/PerfFlamesSupport.scala
+++ 
b/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testkit/PerfFlamesSupport.scala
@@ -38,9 +38,7 @@ private[pekko] trait PerfFlamesSupport { self: MultiNodeSpec 
=>
 
       val afterDelay = pekko.pattern.after(delay, 
system.scheduler)(Future.successful("GO!"))
       afterDelay.onComplete { _ =>
-        import java.lang.management._
-        val name = ManagementFactory.getRuntimeMXBean.getName
-        val pid = name.substring(0, name.indexOf('@')).toInt
+        val pid = ProcessHandle.current().pid()
 
         val perfCommand = s"$perfJavaFlamesPath $pid"
         println(s"[perf @ $myself($pid)][OUT]: " + perfCommand)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to