Request for review (XL): Event-Based JVM Tracing (JEP 167)

Staffan Larsen staffan.larsen at oracle.com
Tue Dec 4 04:34:34 PST 2012


On 4 dec 2012, at 04:20, David Holmes <David.Holmes at oracle.com> wrote:

> On 3/12/2012 10:16 PM, Staffan Larsen wrote:
>> David,
>> 
>> There is no such documentation today. The easiest way to follow the code is to first compile it so that you have access to the generated classes. Then browse the code under src/share/vm/trace together with the code under build/<platform>/generated/tracefiles. The generated code is created from src/share/vm/trace/trace.xml and the associated .xsl files in the same directory.
> 
> I was hoping for a higher level description of how this is supposed to hang together and the mechanisms in use. Whenever I see anyone using signal-based suspend/resume (especially when we went a long way down the road to eradicating its use!) I get very nervous.

The signal-based suspend/resume is only used for sampling-based profiling. For this use case the requirements are loose, meaning that we have a high tolerance for missing a sample if we aren't able to suspend properly.

/Staffan

> 
> David
> -----
> 
>> Thanks,
>> /Staffan
>> 
>> On 3 dec 2012, at 13:06, David Holmes<David.Holmes at oracle.com>  wrote:
>> 
>>> Staffan,
>>> 
>>> Is there any documentation describing the overall architecture and mechanisms being used here?
>>> 
>>> Thanks,
>>> David
>>> 
>>> On 3/12/2012 9:32 PM, Staffan Larsen wrote:
>>>> All,
>>>> 
>>>> This is a request for review of the implementation for JEP 167: Event-Based JVM Tracing. It is a rather large change.
>>>> 
>>>> The webrev is available here: http://cr.openjdk.java.net/~sla/jep167/webrev.01/
>>>> The JEP is here: http://openjdk.java.net/jeps/167
>>>> 
>>>> The base changes are in src/share/vm/trace. This is where events are defined (trace.xml) and this is where the XSLT transforms that convert these definitions into classes are. The rest of the changes are related to instrumenting the code to capture the data for the events.
>>>> 
>>>> To enabled the tracing events in a build use -XX:+EnableTracing. This will produce a ton of information in a standard format to tty.
>>>> 
>>>> These changes are slated for hs24 in the 7u12 release and will be ported to hs25 in jdk8 later. The diff is against the jdk7u/jdk7u forest at the jdk7u12-b03 tag.
>>>> 
>>>> Contributed-by: acorn, brutisso, ccheung, egahlin, ehelin, jwilhelm, kamg, mattias.tobiasson at oracle.com, mgronlun, mikael.auno at oracle.com, neliasso, nloodin, rbackman, sla, stefank, ykantser
>>>> 
>>>> Comments, questions and suggestions are welcome!
>>>> 
>>>> Thanks,
>>>> /Staffan
>> 



More information about the hotspot-dev mailing list