RFR(S): 8198554: Add fuzzy matching for log levels and tags when parsing -Xlog

harold seigel harold.seigel at oracle.com
Fri Feb 23 12:53:34 UTC 2018


Hi Marcus,

Thanks for the explanation.  I agree that the code is good as is.

Harold


On 2/23/2018 4:29 AM, Marcus Larsson wrote:
> Hi Harold,
>
> Thanks for reviewing!
>
> On 2018-02-22 20:56, harold seigel wrote:
>> Hi Marcus,
>>
>> This patch will be very helpful!
>>
>> Can you change code sequences like this in logSelection.cpp:
>>
>>    79 errstream->print("Invalid level '%s' in log selection.", 
>> levelstr);
>>    80 LogLevelType match = LogLevel::fuzzy_match(levelstr);
>>    81 if (match != LogLevel::Invalid) {
>>    82 errstream->print(" Did you mean '%s'?", LogLevel::name(match));
>>    83 }
>>    84 errstream->cr();
>>
>> To something like this to lessen the chance of other threads' print 
>> statements getting interspersed with this one?
>>
>>    if (match != LogLevel::Invalid) {
>>        errstream->print_cr("Invalid level '%s' in log selection. Did
>>    you mean '%'s?, levelstr, LogLevel::name(match));
>>    } else {
>>       errstream->print_cr("Invalid level '%s' in log selection.",
>>    levelstr);
>>    }
>>
>
> Actually, AFAICT these messages can't be interleaved as it's 
> implemented right now. When we're parsing -Xlog arguments, the stream 
> will be a stringStream (fully buffered). In the case of VM.log 
> diagnostic command parsing, the stream will be tied to the output for 
> whoever executes that DCMD, which I don't think can be interleaved by 
> other threads. This assumption is used in other places around this 
> code, so I'm hoping it's OK to leave it as is.
>
> Thanks,
> Marcus
>
>> The rest of the patch looks good.
>>
>> Thanks, Harold
>>
>> On 2/22/2018 8:11 AM, Marcus Larsson wrote:
>>> Hi,
>>>
>>> Please review the following patch to add some fuzzy matching to 
>>> improve -Xlog parsing error messages. The implementation of the 
>>> fuzzy -XX flag matching is moved out to StringUtils so it can be 
>>> re-used here.
>>>
>>> Issue:
>>> https://bugs.openjdk.java.net/browse/JDK-8198554
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~mlarsson/8198554/webrev.00
>>>
>>> Tested with hs-tier 1-2.
>>>
>>> Thanks,
>>> Marcus
>>>
>>
>



More information about the hotspot-runtime-dev mailing list