diff --git a/src/hotspot/share/jfr/metadata/metadata.xml b/src/hotspot/share/jfr/metadata/metadata.xml
index c59b42e1fd2..8c665c87222 100644
--- a/src/hotspot/share/jfr/metadata/metadata.xml
+++ b/src/hotspot/share/jfr/metadata/metadata.xml
@@ -613,7 +613,8 @@
-
+
+
diff --git a/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp b/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp
index 2a71da48be7..9f30a82c061 100644
--- a/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp
+++ b/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp
@@ -79,6 +79,7 @@ TRACE_REQUEST_FUNC(JVMInformation) {
event.set_jvmArguments(Arguments::jvm_args());
event.set_jvmFlags(Arguments::jvm_flags());
event.set_jvmStartTime(Management::vm_init_done_time());
+ event.set_pid(os::current_process_id());
event.commit();
}
diff --git a/test/jdk/jdk/jfr/event/runtime/TestVMInfoEvent.java b/test/jdk/jdk/jfr/event/runtime/TestVMInfoEvent.java
index 0ae1a7736d0..6915e010cbb 100644
--- a/test/jdk/jdk/jfr/event/runtime/TestVMInfoEvent.java
+++ b/test/jdk/jdk/jfr/event/runtime/TestVMInfoEvent.java
@@ -64,6 +64,8 @@ public class TestVMInfoEvent {
String jvmArgs = Events.assertField(event, "jvmArguments").notNull().getValue();
String jvmFlags = Events.assertField(event, "jvmFlags").notNull().getValue();
+ Long pid = Events.assertField(event, "pid").atLeast(0L).getValue();
+ Asserts.assertEquals(pid, ProcessHandle.current().pid());
String eventArgs = (jvmFlags.trim() + " " + jvmArgs).trim();
String beanArgs = mbean.getInputArguments().stream().collect(Collectors.joining(" "));
Asserts.assertEquals(eventArgs, beanArgs, "Wrong inputArgs");