8213617: JFR should record the PID of the recorded process

Reviewed-by: mgronlun
This commit is contained in:
Erik Gahlin 2018-12-08 17:41:17 +01:00
parent 8bc45e7b29
commit 5c30297045
3 changed files with 5 additions and 1 deletions

View File

@ -613,7 +613,8 @@
<Field type="string" name="jvmFlags" label="JVM Settings File Arguments" />
<Field type="string" name="javaArguments" label="Java Application Arguments" />
<Field type="long" contentType="epochmillis" name="jvmStartTime" label="JVM Start Time" />
</Event>
<Field type="long" name="pid" label="Process Identifier" />
</Event>
<Event name="OSInformation" category="Operating System" label="OS Information" period="endChunk">
<Field type="string" name="osVersion" label="OS Version" />

View File

@ -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();
}

View File

@ -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");