<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for William Louth's Weblog</title>
	<atom:link href="http://williamlouth.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://williamlouth.wordpress.com</link>
	<description>The Art of API Design and Performance Engineering</description>
	<lastBuildDate>Wed, 28 Oct 2009 20:05:57 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-215</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Wed, 28 Oct 2009 20:05:57 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-215</guid>
		<description>The aggressiveness of the last posting is probably more of a reflection of my frustration with current thinking in the industry which seems to have not at all progressed in all the years I have been doing things differently (at least that is my intention in hope for finding a better approach). 

The industry seems so obsessed with delivering many disjointed management consoles for each element of an application/runtime stack. No thought is given to an unified set of models and interfaces for data collection that is efficient, extensible and versatile. 

Looking beneath these consoles one quickly realizes that it is all lip stick on a pig (and people seem to buy porkies). Whereas we first design the model, then the Open API,  then build one or more instrumentation integrations, and finally create the visualizations within the console.</description>
		<content:encoded><![CDATA[<p>The aggressiveness of the last posting is probably more of a reflection of my frustration with current thinking in the industry which seems to have not at all progressed in all the years I have been doing things differently (at least that is my intention in hope for finding a better approach). </p>
<p>The industry seems so obsessed with delivering many disjointed management consoles for each element of an application/runtime stack. No thought is given to an unified set of models and interfaces for data collection that is efficient, extensible and versatile. </p>
<p>Looking beneath these consoles one quickly realizes that it is all lip stick on a pig (and people seem to buy porkies). Whereas we first design the model, then the Open API,  then build one or more instrumentation integrations, and finally create the visualizations within the console.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by yuzzamatuzz</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-214</link>
		<dc:creator>yuzzamatuzz</dc:creator>
		<pubDate>Wed, 28 Oct 2009 02:10:09 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-214</guid>
		<description>I wasn&#039;t (trying to) ask you for all the details, I was (trying to) understand at a relatively high level what I felt was the key difference between your approach and the approaches you&#039;re trying to contrast with.  In my experience, it&#039;s far from typical that you get both lower overhead *and* better information, so I wanted to understand your achievement in more detail to make sure it wasn&#039;t just marketing hype (I&#039;m convinced it isn&#039;t that).  I think I understand a little better after your recent postings.  I won&#039;t ask for more.

I&#039;m sorry if you thought I was trying to get you to divulge your secrets.  That was absolutely *not* my intent, though in retrospect I suppose I did push you pretty hard for more information.

You naturally have a lot more background information about your technology, its history, and its successes, than appears in these articles whereas I can only interpret what you&#039;ve written here and ask (hopefully not too impertinent) questions when I don&#039;t see the evidence for some of the statements you make.

I don&#039;t know you, so I don&#039;t know your reputation. I hope no slight was taken because none was intended.  I had questions when I read your articles, so I asked them.  I did freely admit that the last one in particular was on the aggressive side :) .  

Best of success to you and your company.</description>
		<content:encoded><![CDATA[<p>I wasn&#8217;t (trying to) ask you for all the details, I was (trying to) understand at a relatively high level what I felt was the key difference between your approach and the approaches you&#8217;re trying to contrast with.  In my experience, it&#8217;s far from typical that you get both lower overhead *and* better information, so I wanted to understand your achievement in more detail to make sure it wasn&#8217;t just marketing hype (I&#8217;m convinced it isn&#8217;t that).  I think I understand a little better after your recent postings.  I won&#8217;t ask for more.</p>
<p>I&#8217;m sorry if you thought I was trying to get you to divulge your secrets.  That was absolutely *not* my intent, though in retrospect I suppose I did push you pretty hard for more information.</p>
<p>You naturally have a lot more background information about your technology, its history, and its successes, than appears in these articles whereas I can only interpret what you&#8217;ve written here and ask (hopefully not too impertinent) questions when I don&#8217;t see the evidence for some of the statements you make.</p>
<p>I don&#8217;t know you, so I don&#8217;t know your reputation. I hope no slight was taken because none was intended.  I had questions when I read your articles, so I asked them.  I did freely admit that the last one in particular was on the aggressive side <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .  </p>
<p>Best of success to you and your company.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-213</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Fri, 23 Oct 2009 18:05:13 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-213</guid>
		<description>Honestly I think the key selling point of our solution is that our Open API and (concept) model are beautiful designed &amp; aligned when measured in terms of extensibility, versatility, application and fit for purpose. 

Its terribly unfortunate we cannot make publicly available the documentation highlighting this because of one or two companies who systematically clone our innovation and product feature set. But this has its benefits in that the customers we have partnered with have pretty smart people who see beyond the passion we have for our work.</description>
		<content:encoded><![CDATA[<p>Honestly I think the key selling point of our solution is that our Open API and (concept) model are beautiful designed &amp; aligned when measured in terms of extensibility, versatility, application and fit for purpose. </p>
<p>Its terribly unfortunate we cannot make publicly available the documentation highlighting this because of one or two companies who systematically clone our innovation and product feature set. But this has its benefits in that the customers we have partnered with have pretty smart people who see beyond the passion we have for our work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-211</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Fri, 23 Oct 2009 17:46:04 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-211</guid>
		<description>By the way I would appreciate you sending me an email with your contact details (IBM?).</description>
		<content:encoded><![CDATA[<p>By the way I would appreciate you sending me an email with your contact details (IBM?).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-210</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Fri, 23 Oct 2009 17:42:15 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-210</guid>
		<description>I am not sure whether the last paragraph remains valid after my responses on this matter. Surely you do understand that we cannot just put out all the details of the implementation. 

What exactly is your intent?

I have a reputation in the industry for not putting out BS and delivering the goods when all others have failed. I value this. If I say we are the fastest we are the fastest. When this is not the case I will correct this - by making us the fastest once again (I love a good challenge). If that is not good enough for you then so be it. Its not like I am trying to sell to you and even so I would expect you to benchmark us against all other vendors you are considering.</description>
		<content:encoded><![CDATA[<p>I am not sure whether the last paragraph remains valid after my responses on this matter. Surely you do understand that we cannot just put out all the details of the implementation. </p>
<p>What exactly is your intent?</p>
<p>I have a reputation in the industry for not putting out BS and delivering the goods when all others have failed. I value this. If I say we are the fastest we are the fastest. When this is not the case I will correct this &#8211; by making us the fastest once again (I love a good challenge). If that is not good enough for you then so be it. Its not like I am trying to sell to you and even so I would expect you to benchmark us against all other vendors you are considering.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-209</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Fri, 23 Oct 2009 17:33:42 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-209</guid>
		<description>Naturally the overhead for a metered firing of probe is higher than 1 nanosecond. It generally really does not matter what type of application once a method becomes marked as a non-hotspot (which again is defined by the customer based on metering statistics) we effectively short-cut any further execution of the instrumentation within the method itself. We do this is a clever, efficient and safe manner and customers can combine this with other metering strategies some of which can be sample based.

The cost of a metered probe ranges between 250-350 nanoseconds on pretty standard Intel hardware. The largest element of this is the cost in accessing the underlying meter counter (or counters). The rest is related to the update of metering associated with one or more metering cost groups represented by a composite probe name.</description>
		<content:encoded><![CDATA[<p>Naturally the overhead for a metered firing of probe is higher than 1 nanosecond. It generally really does not matter what type of application once a method becomes marked as a non-hotspot (which again is defined by the customer based on metering statistics) we effectively short-cut any further execution of the instrumentation within the method itself. We do this is a clever, efficient and safe manner and customers can combine this with other metering strategies some of which can be sample based.</p>
<p>The cost of a metered probe ranges between 250-350 nanoseconds on pretty standard Intel hardware. The largest element of this is the cost in accessing the underlying meter counter (or counters). The rest is related to the update of metering associated with one or more metering cost groups represented by a composite probe name.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-208</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Fri, 23 Oct 2009 17:25:47 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-208</guid>
		<description>By the way most of our posts are focused on heavily loaded systems. We are called into accounts after most other IT mgmt vendors have failed miserably in collecting data needed to resolve complex system execution issues. We leave the low hang fruit issues to other developer centric tools parading as production oriented solutions.</description>
		<content:encoded><![CDATA[<p>By the way most of our posts are focused on heavily loaded systems. We are called into accounts after most other IT mgmt vendors have failed miserably in collecting data needed to resolve complex system execution issues. We leave the low hang fruit issues to other developer centric tools parading as production oriented solutions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-207</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Fri, 23 Oct 2009 17:23:31 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-207</guid>
		<description>Nothing specific to Azul we run on nearly all Java EE supported platforms: Linux, Solaris, HP-UX, AIX, Windows, Mac OS X along with all flavors of chip architectures.

We do have meters (counters) specific to the Azul hardware which points to our extensibility of our metering runtime.</description>
		<content:encoded><![CDATA[<p>Nothing specific to Azul we run on nearly all Java EE supported platforms: Linux, Solaris, HP-UX, AIX, Windows, Mac OS X along with all flavors of chip architectures.</p>
<p>We do have meters (counters) specific to the Azul hardware which points to our extensibility of our metering runtime.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-206</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Fri, 23 Oct 2009 17:20:24 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-206</guid>
		<description>Any type of performance management is focused on key performance indicators. JXInsight allows these to be modeled as either probes (activity) or as meters (generally a thread specific counter). The selection of which one to use really depends on the software &amp; system execution contexts and whether the underlying software execution behavior (the code) can be effectively changed directly or indirectly (callers). Probes (metered activities) generally have a higher footprint &amp; overhead than meters though this depends on the frequency of the metering and its underlying implementation (is it already tracked by another system).

The primary overhead for a probe is not in the firing but in the metering which consists of two parts - meter access time and aggregated metering update. Probes in JXInsight are associated with dynamic metering strategies that determine whether an actually firing results in a metering. We have a large number of strategies available via a simple system property and customers can combine them together to make even more exotic metering strategies to suit the execution nature of the application being monitored. Hotspot is our default one and it basically does what the JVM hotspot engine does but naturally from a metering perspective.</description>
		<content:encoded><![CDATA[<p>Any type of performance management is focused on key performance indicators. JXInsight allows these to be modeled as either probes (activity) or as meters (generally a thread specific counter). The selection of which one to use really depends on the software &amp; system execution contexts and whether the underlying software execution behavior (the code) can be effectively changed directly or indirectly (callers). Probes (metered activities) generally have a higher footprint &amp; overhead than meters though this depends on the frequency of the metering and its underlying implementation (is it already tracked by another system).</p>
<p>The primary overhead for a probe is not in the firing but in the metering which consists of two parts &#8211; meter access time and aggregated metering update. Probes in JXInsight are associated with dynamic metering strategies that determine whether an actually firing results in a metering. We have a large number of strategies available via a simple system property and customers can combine them together to make even more exotic metering strategies to suit the execution nature of the application being monitored. Hotspot is our default one and it basically does what the JVM hotspot engine does but naturally from a metering perspective.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by yuzzamatuzz</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-205</link>
		<dc:creator>yuzzamatuzz</dc:creator>
		<pubDate>Fri, 23 Oct 2009 15:45:12 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-205</guid>
		<description>And not to be negative, but what does &quot;our overhead has now dropped to 1 nanosecond for a non hotspot method&quot; even mean?  3 months ago, you removed any information about this statement from the article you linked to (I&#039;ll assume it was there originally)...

Some answers that might help understand this statement: Is the overhead higher for a hotspot method?  On what kind of machine, running with kind of application, probing what kind of information, with what level of accuracy, over what period of time, etc.

It&#039;s an aggressively framed posting, I admit, but then again: the statement is virtually information free linking to an also information free link as supporting evidence for the statement!  I am not necessarily disputing your statement, I&#039;m saying it&#039;s impossible to interpret it without more information.</description>
		<content:encoded><![CDATA[<p>And not to be negative, but what does &#8220;our overhead has now dropped to 1 nanosecond for a non hotspot method&#8221; even mean?  3 months ago, you removed any information about this statement from the article you linked to (I&#8217;ll assume it was there originally)&#8230;</p>
<p>Some answers that might help understand this statement: Is the overhead higher for a hotspot method?  On what kind of machine, running with kind of application, probing what kind of information, with what level of accuracy, over what period of time, etc.</p>
<p>It&#8217;s an aggressively framed posting, I admit, but then again: the statement is virtually information free linking to an also information free link as supporting evidence for the statement!  I am not necessarily disputing your statement, I&#8217;m saying it&#8217;s impossible to interpret it without more information.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Profiling: Sampling versus Execution (Part 2) by yuzzamatuzz</title>
		<link>http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/#comment-204</link>
		<dc:creator>yuzzamatuzz</dc:creator>
		<pubDate>Fri, 23 Oct 2009 15:33:01 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=395#comment-204</guid>
		<description>How much overhead does JXinsight introduce when the machine is fully loaded?  Although it&#039;s interesting to see how much CPU time is added when the application isn&#039;t really doing anything, it&#039;s something of an artificial scenario that focuses on only one part of the problem (the overhead of collecting a data point).  But your original point was how well it works on an enterprise Java application, which is generally trying to push as many transactions through the machine as it can.  It spends it doing lots of &quot;stuff&quot; and I&#039;m left wondering how and you filter out the probes for all that &quot;stuff&quot;?  Sampling-based approaches filter out &quot;stuff&quot; by only looking periodically.  How do you filter it out?

Another thing I&#039;m confused about is whether this tool is something Azul-specific or if it runs as efficiently on off-the-shelf systems?</description>
		<content:encoded><![CDATA[<p>How much overhead does JXinsight introduce when the machine is fully loaded?  Although it&#8217;s interesting to see how much CPU time is added when the application isn&#8217;t really doing anything, it&#8217;s something of an artificial scenario that focuses on only one part of the problem (the overhead of collecting a data point).  But your original point was how well it works on an enterprise Java application, which is generally trying to push as many transactions through the machine as it can.  It spends it doing lots of &#8220;stuff&#8221; and I&#8217;m left wondering how and you filter out the probes for all that &#8220;stuff&#8221;?  Sampling-based approaches filter out &#8220;stuff&#8221; by only looking periodically.  How do you filter it out?</p>
<p>Another thing I&#8217;m confused about is whether this tool is something Azul-specific or if it runs as efficiently on off-the-shelf systems?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Java Call Stack Sampling in the Wild by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/10/21/java-call-sampling-overhead-in-the-wild/#comment-201</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Thu, 22 Oct 2009 11:38:00 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=2097#comment-201</guid>
		<description>Please read the following articles BEFORE posting a commenting otherwise I will delete comments &lt;strong&gt;** already answered in these articles **&lt;/strong&gt; to ensure this discussion does not go over the same ground.

http://williamlouth.wordpress.com/2009/01/07/profiling-sampling-versus-execution-part-1/

http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/

http://williamlouth.wordpress.com/2009/07/27/one-billion-operations-per-second/</description>
		<content:encoded><![CDATA[<p>Please read the following articles BEFORE posting a commenting otherwise I will delete comments <strong>** already answered in these articles **</strong> to ensure this discussion does not go over the same ground.</p>
<p><a href="http://williamlouth.wordpress.com/2009/01/07/profiling-sampling-versus-execution-part-1/" rel="nofollow">http://williamlouth.wordpress.com/2009/01/07/profiling-sampling-versus-execution-part-1/</a></p>
<p><a href="http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/" rel="nofollow">http://williamlouth.wordpress.com/2009/01/16/profiling-sampling-versus-execution-part-2/</a></p>
<p><a href="http://williamlouth.wordpress.com/2009/07/27/one-billion-operations-per-second/" rel="nofollow">http://williamlouth.wordpress.com/2009/07/27/one-billion-operations-per-second/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Java Call Stack Sampling in the Wild by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/10/21/java-call-sampling-overhead-in-the-wild/#comment-199</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Thu, 22 Oct 2009 11:15:20 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=2097#comment-199</guid>
		<description>It used to be ugly but you have worked very hard on this and it looks much better.

That said it [Visual VM] is likely to end up looking like another Eclipse frankenstein tool as you have focused wrongly (IMHO) on the console rather than the underlying data models. But that is easy to say with experience.</description>
		<content:encoded><![CDATA[<p>It used to be ugly but you have worked very hard on this and it looks much better.</p>
<p>That said it [Visual VM] is likely to end up looking like another Eclipse frankenstein tool as you have focused wrongly (IMHO) on the console rather than the underlying data models. But that is easy to say with experience.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Java Call Stack Sampling in the Wild by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/10/21/java-call-sampling-overhead-in-the-wild/#comment-198</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Thu, 22 Oct 2009 10:39:01 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=2097#comment-198</guid>
		<description>By the way JXInsight does indeed offers capabilities related to memory analysis but this is more focused on object allocation rates for the purpose of detecting working memory capacity problems rather than memory leakages which is best addressed with expensive heap dumps and offline analysis.</description>
		<content:encoded><![CDATA[<p>By the way JXInsight does indeed offers capabilities related to memory analysis but this is more focused on object allocation rates for the purpose of detecting working memory capacity problems rather than memory leakages which is best addressed with expensive heap dumps and offline analysis.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Java Call Stack Sampling in the Wild by williamlouth</title>
		<link>http://williamlouth.wordpress.com/2009/10/21/java-call-sampling-overhead-in-the-wild/#comment-197</link>
		<dc:creator>williamlouth</dc:creator>
		<pubDate>Thu, 22 Oct 2009 09:08:44 +0000</pubDate>
		<guid isPermaLink="false">http://williamlouth.wordpress.com/?p=2097#comment-197</guid>
		<description>No. I am saying that the approach used by current crop of memory profiler tools is not at all suitable for analysis in a production monitoring context - the cure is as poisonous as the problem killing the patient (&lt;em&gt;process&lt;/em&gt;). 

Detailed memory profiling should be used during development &amp; testing and tools like Visual VM, Yourkit, Eclipse MAT, and NetBeans Profiler are good choices here. All these tools are more than adequate for focused code tuning. For both software and system execution behavior analysis under production workload levels then there is currently only one viable solution at least from my benchmarking and feature comparison - JXInsight.</description>
		<content:encoded><![CDATA[<p>No. I am saying that the approach used by current crop of memory profiler tools is not at all suitable for analysis in a production monitoring context &#8211; the cure is as poisonous as the problem killing the patient (<em>process</em>). </p>
<p>Detailed memory profiling should be used during development &amp; testing and tools like Visual VM, Yourkit, Eclipse MAT, and NetBeans Profiler are good choices here. All these tools are more than adequate for focused code tuning. For both software and system execution behavior analysis under production workload levels then there is currently only one viable solution at least from my benchmarking and feature comparison &#8211; JXInsight.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
