RFR: 8149064: Convert TraceProtectionDomainVerification to Unified Logging
Max Ockner
max.ockner at oracle.com
Thu Feb 25 21:56:24 UTC 2016
Hello ,
There do not seem to be too many opinions on this one, so I have just
responded to Coleen's suggestions (comments inline).
Webrev: http://cr.openjdk.java.net/~mockner/protectiondomain.03/
Thanks,
Max
On 2/24/2016 10:57 AM, Coleen Phillimore wrote:
>
>
> On 2/22/16 6:04 PM, Coleen Phillimore wrote:
>>
>> Hi Max,
>>
>> I think this looks fine. A couple of comments though:
>>
>> http://cr.openjdk.java.net/~mockner/protectiondomain.02/src/share/vm/classfile/dictionary.hpp.udiff.html
>>
>>
>> This is preexisting code, which is apparently giving the number of pd
>> set. Not sure what the use is, but could you rename the function
>> print_count() and make the output
>>
>> *!_st_->print_cr("pd set count = #%d", count);*
>>
This has been fixed.
>>
>> Maybe it wouldn't look so strange in the log.
>>
>> http://cr.openjdk.java.net/~mockner/protectiondomain.02/test/runtime/logging/ProtectionDomainVerificationTest.java.html
>>
>>
>> The test looks like it's missing "Hello.java" but maybe you can use
>> Empty.class from ClassLoadUnloadTest.java.
Added Hello.java
>>
>> http://cr.openjdk.java.net/~mockner/protectiondomain.02/src/share/vm/classfile/systemDictionary.cpp.udiff.html
>>
>>
>> You're right, I have a vote for the format - it seems like a more
>> compact log would be better:
>>
>> [0.138s][debug][protectiondomain] - class loader: a
>> 'sun/misc/Launcher$AppClassLoader' protection domain: a
>> 'java/security/ProtectionDomain' loading: 'java/lang/Object' -> granted
These messages have been condensed to a single line.
>
> I should point out that I 've never used this logging for anything so
> my opinion in favor of brevity can be easily countered if anyone has a
> different opinion.
>
> Coleen
>
>>
>> Or at least remove the blank line in the log.
The blank line has been removed.
>>
>> thanks,
>> Coleen
>>
>> On 2/22/16 12:17 PM, Max Ockner wrote:
>>> Please review this conversion of TraceProtectionDomainverification
>>> to Unified Logging.
>>>
>>> Theres some output that I think should be changed, but I want to see
>>> what others think first.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8149064
>>> Webrev: http://cr.openjdk.java.net/~mockner/protectiondomain.02/
>>>
>>> TraceProtectionDomainVerification is a non-product flag, but the
>>> output will now be available in product builds through
>>> -Xlog:protectiondomain=debug.
>>> - The output is concise. "-version" produces no output, and
>>> "Hello.java" produces 27 lines (if level=trace) or fewer. See below.
>>> - This change doesn't rely on "#ifndef PRODUCT" and is smaller than
>>> most logging changes that we've seen so far.
>>> - refworkload shows now significant performance changes.
>>>
>>> Tested with jtreg hotspot tests and refworkload.
>>>
>>> Here is sample output for a run of Hello.java:
>>>
>>> [0.138s][debug][protectiondomain] - class loader: a
>>> 'sun/misc/Launcher$AppClassLoader'
>>> [0.138s][debug][protectiondomain] - protection domain: a
>>> 'java/security/ProtectionDomain'
>>> [0.138s][debug][protectiondomain] - loading: 'java/lang/Object'
>>> [0.139s][debug][protectiondomain] -> granted
>>> [0.139s][debug][protectiondomain]
>>> [0.139s][trace][protectiondomain] pd set = #1
>>> [0.139s][debug][protectiondomain] Checking package access
>>> [0.139s][debug][protectiondomain] - class loader: a
>>> 'sun/misc/Launcher$AppClassLoader'
>>> [0.139s][debug][protectiondomain] - protection domain: a
>>> 'java/security/ProtectionDomain'
>>> [0.139s][debug][protectiondomain] - loading: 'java/lang/String'
>>> [0.139s][debug][protectiondomain] -> granted
>>> [0.139s][debug][protectiondomain]
>>> [0.139s][trace][protectiondomain] pd set = #1
>>> [0.139s][debug][protectiondomain] Checking package access
>>> [0.139s][debug][protectiondomain] - class loader: a
>>> 'sun/misc/Launcher$AppClassLoader'
>>> [0.139s][debug][protectiondomain] - protection domain: a
>>> 'java/security/ProtectionDomain'
>>> [0.139s][debug][protectiondomain] - loading: 'java/lang/System'
>>> [0.139s][debug][protectiondomain] -> granted
>>> [0.139s][debug][protectiondomain]
>>> [0.139s][trace][protectiondomain] pd set = #1
>>> [0.140s][debug][protectiondomain] Checking package access
>>> [0.140s][debug][protectiondomain] - class loader: a
>>> 'sun/misc/Launcher$AppClassLoader'
>>> [0.140s][debug][protectiondomain] - protection domain: a
>>> 'java/security/ProtectionDomain'
>>> [0.140s][debug][protectiondomain] - loading: 'java/io/PrintStream'
>>> [0.140s][debug][protectiondomain] -> granted
>>> [0.140s][debug][protectiondomain]
>>> [0.140s][trace][protectiondomain] pd set = #1
>>>
>>> I am anticipating several comments and suggestions, but I believe
>>> there are only minor changes remaining. I would like to remove the
>>> empty space, though I believe this was present in the
>>> TraceProtectionDomainVerification output to make the output more
>>> readable. I also anticipate that you may want me to remove the "-"
>>> from in front of some of the lines. Again, I would like input since
>>> output seems like it was designed to look a certain way.
>>>
>>> Thanks,
>>> Max
>>>
>>
>
More information about the hotspot-runtime-dev
mailing list