dev@glassfish.java.net

Re: serviceability

From: Carla Mott <Carla.Mott_at_Sun.COM>
Date: Wed, 22 Jul 2009 17:52:13 -0700

Hi Ken,

I understand that this is late notice but I was asked to drive this a
couple of days ago.

As I mentioned, we are only targeting the source code (the Java files
that are in the repository glassfish-svn) that is in the GlassFish
repository which doesn't include CORBA or gmbal.

Answers to your questions in case others have the same.

> I think I mostly understand the diagnostic message format:
>
> MSGID.diag.cause.1
> MSGID.diag.check.1
>
> but what is the last number for? Is it to add more than one possible
> cause or check for the same MSGID?
yes. you could have
MSGID.diag.cause.1
MSGID.diag.cause.2
MSGID.diag.cause.3

> Is it assumed that check.n always applies to cause.n?
yes.

I'll add this info to the wiki.

Thanks,
Carla

Ken Cavanaugh wrote:
> Carla Mott wrote:
>>
>>
>> Hi all,
>>
>> We need to update the resource bundles to contain diagnostic
>> information for all SEVERE and WARNING messages.
>>
>> In evaluating the serviceability requirements for GlassFish we found
>> that there is missing information from the resource bundles. The
>> requirement states:
>>
>> The product shall include the following information in every log entry:
>> Timestamp- preferably in a standard format; Module - Acronym of the
>> module generating the message: LogLevel - Indicates relative
>> severity(following an applicable standard if any); MessageId - Unique
>> withing the product: Message Text - brief text message explaining the
>> message; ContextInfo - key values that go with the message (context),
>> include stack trace if program error is suspected; Recommendation -
>> recommended actions to take to further determine the cause of a problem
>> (not the actual solution).
>>
>> We have most of this but in many cases we are missing the recommendation
>> or what we call the diagnostic part. We agreed that all SEVERE,
>> WARNING and INFO messages must have a message id. For the most part
>> that seems to be true but I could not easily determine if all SEVERE
>> messages have a message id. The message id is important for this
>> task. I have created a wiki page which lists the
>> resource bundles that have diagnostic messages and which resource
>> bundles don't. We would like to get to a point where all SEVERE, and
>> WARNING messages have diagnostic information. The first pass is
>> targeting all SEVERE messages for code that is in the GlassFish source
>> repository and we're targeting this to be complete by August 3rd.
>>
>> http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3LoggingServiceability
>>
>>
>> Please go through the resource bundles listed and verify that all
>> SEVERE and WARNING messages have a message id. If any diagnostic
>> information is missing please provide that in the resource bundle and
>> update the table on the wiki when complete. We'd like to cover all
>> WARNING messages by August 17.
>>
>> I can produce a list of message ids which have diagnostic messages but
>> not sure how useful that is at this point. I can provide that info if
>> needed.
>>
>>
>> Thanks for your help
>>
>> Carla
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>
> Here's some information about a number of log messages that
> you don't have in the wiki, because CORBA and gmbal are not in the main
> GFv3 repository:
>
> * CORBA: (these counts are close, but possibly off a little)
> o SEVERE: 11
> o WARNING: 607
> o INFO: 15
> o FINE*: 111
> * GMBAL:
> o SEVERE: 1
> o WARNING: 86
> o INFO: 0
> o FINE*: 1
>
> There is absolutely no way I can meet either of your deadlines for this
> (especially since I'm taking a vacation next
> week). CORBA in particular will be very difficult to deal with for
> WARNINGS (607, some of which may be obsolete,
> or can never occur in the context of the app server). I'd also need to
> extend the various frameworks and code generators,
> because there is no other way to maintain this accurately (Gmbal is
> easy, because it's annotation driven, but the CORBA
> scheme message generator is currently a bit more complicated).
>
> Also note that this work has been discussed and planned since the days
> of AppServer 8.0 (at least), and even when we
> had a full CORBA team, we never had time for this work. Having this
> come up this close to the end of GFv3 is simply
> impossible to deal with.
>
> I think I mostly understand the diagnostic message format:
>
> MSGID.diag.cause.1
> MSGID.diag.check.1
>
> but what is the last number for? Is it to add more than one possible
> cause or check for the same MSGID?
> Is it assumed that check.n always applies to cause.n?
> The example at
> http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishV3LoggingMessageFormat
> is a bit confusing.
>
> Thanks,
>
> Ken.
>