Which trace listener are you using exactly and with which Saxon release?

In the past there was a trace listener which generated voluminous trace output including timestamps, and an XSLT stylesheet to analyze this output and produce an HTML summary. This was replaced a couple of releases ago by a TimedTraceListener which accumulates the performance data in memory as it runs, and then outputs an HTML report at the end, listing gross and net timings for each template/function, ordered so the critical ones are at the top.

Information is here:


The equivalent from the API is to set something like:

                traceListener = new TimingTraceListener();
                processor.setConfigurationProperty(FeatureKeys.TRACE_LISTENER, traceListener);
                processor.setConfigurationProperty(FeatureKeys.LINE_NUMBERING, true);
                compiler.getUnderlyingCompilerInfo().setCodeInjector(new TimingCodeInjector());
                            new StandardLogger(new File(value)));

Michael Kay

On 14 May 2014, at 16:31, Eliot Kimber <drmacro@yahoo.com> wrote:

I've figured out how to turn on trace listening when using the Open Toolkit and I'm getting rich log with lots of timing information.

Now my challenge is to analyze the log to figure out the times of the templates and functions I care about.

Is there any guidance available on how to do this most effectively? I didn't see anything in the Saxon docs but I didn't necessarily do an exhaustive search.

It is as simple as emitting marker messages to make it easy to find the start and end of specific processes or is there something more sophisticated I can do?



Eliot Kimber
Austin, TX
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
saxon-help mailing list archived at http://saxon.markmail.org/