@@ -2920,6 +2920,10 @@ JavaCoreDumpWriter::writeHookSection(void)
29202920void
29212921JavaCoreDumpWriter::writeSynchronousCompilationSection (void )
29222922{
2923+ char timeStampStart[_MaximumTimeStampLength + 1 ];
2924+ char timeStampEnd[_MaximumTimeStampLength + 1 ];
2925+ PORT_ACCESS_FROM_PORT (_PortLibrary);
2926+ OMRPORT_ACCESS_FROM_J9PORT (PORTLIB );
29232927
29242928 J9JITConfig *jitConfig = _VirtualMachine->jitConfig ;
29252929 if (NULL == jitConfig || NULL == jitConfig->syncCompStats ) {
@@ -2928,7 +2932,7 @@ JavaCoreDumpWriter::writeSynchronousCompilationSection(void)
29282932
29292933 J9JITSyncCompilationStatistics *stats = jitConfig->syncCompStats ;
29302934
2931- _OutputStream.writeCharacters (" 0SECTION Synchronous compilations info dump routine\n\n " );
2935+ _OutputStream.writeCharacters (" 0SECTION Synchronous compilations info dump routine\n " );
29322936 _OutputStream.writeCharacters (" NULL ==============================\n " );
29332937 _OutputStream.writeCharacters (" 1NOTE This data is reset after each javacore file is written\n " );
29342938 _OutputStream.writeCharacters (" NULL ------------------------------------------------------------------------\n " );
@@ -2937,36 +2941,33 @@ JavaCoreDumpWriter::writeSynchronousCompilationSection(void)
29372941 _OutputStream.writeCharacters (" 2JITSYNCCOUNT Total synchronous compilations: " );
29382942 _OutputStream.writeInteger (stats->totalCount , " %u" );
29392943 _OutputStream.writeCharacters (" \n " );
2940- _OutputStream.writeCharacters (" 2JITTOTALWAIT Total application wait time (JVM uptime ms) : " );
2944+ _OutputStream.writeCharacters (" 2JITTOTALWAIT Total application wait time: " );
29412945 _OutputStream.writeInteger (stats->totalWaitTime , " %llu" );
2942- _OutputStream.writeCharacters (" ms \n " );
2946+ _OutputStream.writeCharacters (" us \n " );
29432947 if (stats->longestWaitTime != 0 ) {
29442948 _OutputStream.writeCharacters (" 2JITLONGEST Longest Synchronous Compilation\n " );
29452949 _OutputStream.writeCharacters (" 3JITWAITTIME Wait time: " );
29462950 _OutputStream.writeInteger (stats->longestWaitTime , " %llu" );
2947- _OutputStream.writeCharacters (" ms \n " );
2951+ _OutputStream.writeCharacters (" us \n " );
29482952
2949- _OutputStream.writeCharacters (" 3JITSTARTTIME Wait time start (JVM uptime ms): " );
2950- _OutputStream.writeInteger64 (stats->longestWaitTimeStart , " %llu" );
2951- _OutputStream.writeCharacters (" ms\n " );
2953+ _OutputStream.writeCharacters (" 3JITSTARTTIME Wait time start: " );
2954+ omrstr_ftime_ex (timeStampStart, _MaximumTimeStampLength, " %Y-%m-%dT%H:%M:%S" , stats->longestWaitTimeStart , OMRSTR_FTIME_FLAG_LOCAL );
2955+ timeStampStart[_MaximumTimeStampLength] = ' \0 ' ;
2956+ _OutputStream.writeCharacters (timeStampStart);
2957+ _OutputStream.writeInteger64 (stats->longestWaitTimeStart % 1000 , " .%03llu" );
2958+ _OutputStream.writeCharacters (" \n " );
29522959
2953- _OutputStream.writeCharacters (" 3JITENDTIME Wait time end (JVM uptime ms): " );
2954- _OutputStream.writeInteger64 (stats->longestWaitTimeEnd , " %llu" );
2955- _OutputStream.writeCharacters (" ms\n " );
29562960
2957- if (stats->longestWaitMethodInfo != NULL ) {
2958- char *className = stats->longestWaitMethodInfo ;
2959- char *name = className + strlen (className) + 1 ;
2960- char *signature = name + strlen (name) + 1 ;
2961+ _OutputStream.writeCharacters (" 3JITENDTIME Wait time end: " );
2962+ omrstr_ftime_ex (timeStampEnd, _MaximumTimeStampLength, " %Y-%m-%dT%H:%M:%S" , stats->longestWaitTimeEnd , OMRSTR_FTIME_FLAG_LOCAL );
2963+ timeStampEnd[_MaximumTimeStampLength] = ' \0 ' ;
2964+ _OutputStream.writeCharacters (timeStampEnd);
2965+ _OutputStream.writeInteger64 (stats->longestWaitTimeEnd % 1000 , " .%03llu" );
2966+ _OutputStream.writeCharacters (" \n " );
29612967
2962- _OutputStream.writeCharacters (" 3JITMETHODNAME Method Name: " );
2963- _OutputStream.writeCharacters (name);
2964- _OutputStream.writeCharacters (" \n " );
2965- _OutputStream.writeCharacters (" 3JITMETHODCLS Method Class: " );
2966- _OutputStream.writeCharacters (className);
2967- _OutputStream.writeCharacters (" \n " );
2968- _OutputStream.writeCharacters (" 3JITMETHODSIG Method Signature: " );
2969- _OutputStream.writeCharacters (signature);
2968+ if (stats->longestWaitMethod != NULL ) {
2969+ _OutputStream.writeCharacters (" 3JITMETHOD Method: " );
2970+ _OutputStream.writeCharacters (stats->longestWaitMethod );
29702971 _OutputStream.writeCharacters (" \n " );
29712972 }
29722973
@@ -2977,10 +2978,9 @@ JavaCoreDumpWriter::writeSynchronousCompilationSection(void)
29772978 stats->longestWaitTime = 0 ;
29782979 stats->longestWaitTimeStart = 0 ;
29792980 stats->longestWaitTimeEnd = 0 ;
2980- if (stats->longestWaitMethodInfo != NULL ) {
2981- PORT_ACCESS_FROM_PORT (_PortLibrary);
2982- j9mem_free_memory (stats->longestWaitMethodInfo );
2983- stats->longestWaitMethodInfo = NULL ;
2981+ if (stats->longestWaitMethod != NULL ) {
2982+ j9mem_free_memory (stats->longestWaitMethod );
2983+ stats->longestWaitMethod = NULL ;
29842984 }
29852985}
29862986
0 commit comments