@@ -832,7 +832,6 @@ initializeJFR(J9JavaVM *vm, BOOLEAN lateInit)
832832 goto fail;
833833 }
834834
835- vm->jfrState .prevSysCPUTime .timestamp = -1 ;
836835 vm->jfrState .prevProcTimestamp = -1 ;
837836
838837 if (0 == omrsysinfo_get_number_context_switches (&vm->jfrState .prevContextSwitches )) {
@@ -1019,10 +1018,10 @@ jfrCPULoad(J9VMThread *currentThread)
10191018 omrthread_process_time_t currentProcCPUTimes = {0 };
10201019 intptr_t processTimeRC = omrthread_get_process_times (¤tProcCPUTimes);
10211020
1022- J9SysinfoCPUTime currentSysCPUTime = { 0 } ;
1023- intptr_t sysTimeRC = omrsysinfo_get_CPU_utilization (¤tSysCPUTime );
1021+ double systemCPULoad = 0 ;
1022+ intptr_t systemCPULoadRC = omrsysinfo_get_CPU_load (&systemCPULoad );
10241023
1025- if ((0 == processTimeRC) && (0 == sysTimeRC )) {
1024+ if ((0 == processTimeRC) && (0 == systemCPULoadRC )) {
10261025 J9JFRCPULoad *jfrEvent = (J9JFRCPULoad *)reserveBuffer (currentThread, sizeof (J9JFRCPULoad));
10271026 if (NULL != jfrEvent) {
10281027 initializeEventFields (currentThread, (J9JFREvent *)jfrEvent, J9JFR_EVENT_TYPE_CPU_LOAD);
@@ -1046,16 +1045,7 @@ jfrCPULoad(J9VMThread *currentThread)
10461045 jfrState->prevProcCPUTimes = currentProcCPUTimes;
10471046 jfrState->prevProcTimestamp = currentTime;
10481047
1049- if (-1 == jfrState->prevSysCPUTime .timestamp ) {
1050- jfrEvent->machineTotal = 0 ;
1051- } else {
1052- float machineTotal =
1053- (currentSysCPUTime.cpuTime - jfrState->prevSysCPUTime .cpuTime )
1054- / ((float )numberOfCpus
1055- * (currentSysCPUTime.timestamp - jfrState->prevSysCPUTime .timestamp ));
1056- jfrEvent->machineTotal = OMR_MIN (machineTotal, 1 .0f );
1057- }
1058- jfrState->prevSysCPUTime = currentSysCPUTime;
1048+ jfrEvent->machineTotal = (float )systemCPULoad;
10591049 }
10601050 }
10611051}
0 commit comments