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

Marcus Larsson marcus.larsson at oracle.com
Fri Feb 23 13:10:35 UTC 2018


Hi,


On 2018-02-23 13:53, harold seigel wrote:
> Hi Marcus,
>
> Thanks for the explanation.  I agree that the code is good as is.

Great! Thanks again Harold.

Marcus

>
> 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