RFR: 8143157: Convert TraceVMOperation to Unified Logging

Rachel Protacio rachel.protacio at oracle.com
Mon Nov 23 20:51:52 UTC 2015


Thanks for the review, David! And thank you for pointing that out about 
the test. Since the GCs are variable, I'll just delete the line checking 
for "CollectFull." The test is still sufficient to test the logging. And 
I'll check in the code.
Rachel

On 11/22/2015 11:30 PM, David Holmes wrote:
> Hi Rachel,
>
> Code changes seem okay - thanks.
>
> We will continue discussion re info vs debug elsewhere. :)
>
> I think we will also have to address the problem of no-atomic logging 
> of multi-part logging statements sometime as well. Not a new problem 
> but perhaps exacerbated in UL and compounded by inclusion of this 
> particular multi-part logging in product mode.
>
> Only issue with regard to the test is the occurrence of the 
> "CollectFull" string - is that dependent on which GC is being used? I 
> turned on TraceVMOperation with code that called System.gc() and only 
> saw:
>
> [VM_Operation (0xf6773e40): GenCollectForAllocation, mode: safepoint, 
> requested by thread 0xf660f400]
>
> Thanks,
> David
>
> On 21/11/2015 5:27 AM, Rachel Protacio wrote:
>> Thank you, David, Kirk, Marcus, Max, and Coleen, for all your comments.
>>
>> Updated webrev: http://cr.openjdk.java.net/~rprotacio/8143157.01/
>> Changes:
>> - moved initialization of "outputStream* debugstream" to inside
>> vmoperation conditional
>> - added boolean for log_is_enabled conditional to save duplicate
>> operation and avoid possibility that flag has been enabled/disabled
>> between calls
>> - removed "[" and "]" from the  beginning and end delimiters of the
>> logging output. Added "begin" and "end" as lead-in to log VMOperation
>> thread info statements instead (could not insert in middle of string
>> because print_on_error is used in other places).*
>> - added memory heap limit to test (ProcessBuilder call in
>> VMOperationTest) and added comment to VMOperationTestMain
>>
>> Thank you,
>> Rachel
>>
>> *Sample output:
>>
>>     $ java -Xlog:vmoperation=debug VMOperationTestMain
>>     [0.262s][debug  ][vmoperation] begin VM_Operation
>>     (0x00007f01a029a700): G1CollectFull, mode: safepoint, requested by
>>     thread 0x00007f0198018000
>>     [0.278s][debug  ][vmoperation] end VM_Operation
>>     (0x00007f01a029a700): G1CollectFull, mode: safepoint, requested by
>>     thread 0x00007f0198018000
>>
>>
>>
>> On 11/17/2015 2:50 PM, Rachel Protacio wrote:
>>> Hi,
>>>
>>> Please review the following small logging enhancement.
>>>
>>> Summary: The former -XX:+TraceVMOperation flag is updated to the
>>> unified logging framework and is now replaced with -Xlog:vmoperation
>>> in product mode.
>>>
>>> Open webrev: http://cr.openjdk.java.net/~rprotacio/8143157/
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8143157
>>> Testing: Passes jtreg, JPRT, RBT quick tests, and refworkload
>>> performance tests.
>>>
>>> A compatability request has been accepted with regard to this change.
>>>
>>> Thank you very much,
>>> Rachel
>>



More information about the serviceability-dev mailing list