Project

Profile

Help

TP switch for perfomance analysis missing at command line on Net Core

Added by Reinhard Riedl about 2 months ago

Hi, i'm trying to do a Perf Analysis in .net Core 5 as documented here: https://www.saxonica.com/documentation11/index.html#!using-xsl/performanceanalysis

When running dotnet command as described im getting "Command line option -TP is not recognized." I also tried setting the T: switch but SaxonCS does not have a TimingTraceListener Class at all...

So how to do Perf Analysis on .NET?

Thanks!


Replies (1)

RE: TP switch for perfomance analysis missing at command line on Net Core - Added by Michael Kay about 2 months ago

Thanks for the reminder: support for tracing in SaxonCS is currently very basic. The -T option works, but to get anything more than this working, you would need to dive rather deep into internals - for example, to inject trace code at compile time you can do XsltCompiler.Implementation.setCompileWithTracing(true), and to add a TraceListener at run time you can do Xslt30Transformer.GetUnderlyingController.addTraceListener(). The TimingTraceListener has not been ported across to C#.

I guess we left this out partly to reduce the number of things to test before release, and partly because we felt the design needed an overhaul anyway. You may have noticed that on SaxonCS we've avoided all interfaces that require dynamic loading of classes by name, because that's a nightmare on .NET with all the security restrictions.

The documentation in some of these areas fails to mention the restrictions.

I'll create an issue as a reminder that there is work to be done here.

    (1-1/1)

    Please register to reply