Home

News: dynaTrace Extends Continuous APM System to Business Transaction Management

  1. dynaTrace Extends Industry-Leading Continuous APM System to Business Transaction Management

    For the first time, Application Performance Management integrated with Business Transaction Management

    Boston – May 25, 2010 – dynaTrace software, the technology leader in application performance management (APM), announces the extension of its Continuous APM system to business transaction management (BTM). For the first time, companies are now able to manage every transaction from a business context, while also providing IT with actionable data – all from a single system. Watch a short video of dynaTrace CEO John Van Siclen discussing how dynaTrace has brought APM and BTM together.

    Leading analysts see the convergence of APM and BTM as a logical evolution in the market. “Both types of solutions in fact end up competing in the same market, the distinction between them being today a better transaction tracing for BTM and a deeper analysis of the transaction code for APM,” wrote Jean-Pierre Garbani, VP, Principal Analyst, Forrester Research, Inc. in the May 2010 report, Tech Horizons: dynaTrace, When BTM Meets APM. “Eventually, we see both solutions converging into one type of performance management.”

    “We have key distributed transactions that are critical to monitor and manage proactively,” said John Landy, CTO of IntraLinks, a leading SaaS provider of information exchange solutions. “In dynaTrace we found a single integrated solution that combined both a business transaction view with deep application visibility into how these transactions, at the code level, behave under load. With dynaTrace we get the business view and the IT view in one easy-to-implement and manage package.” Watch the video case of IntraLinks discussing their success with dynaTrace or read the IntraLinks case study.

    The dynaTrace BTM solution combines the company’s next-generation APM system with a new and affordable approach to managing business transactions:

    • End-to-end transaction tracing across heterogeneous tiers flowing through an application – with full coverage extended to web and legacy tiers – easily grouped into key business transactions by end-user or transaction type;
    • Code-level visibility into every transaction unlocking important business data from deep within the application, as well as technical detail required for rapid issue resolution;
    • Proactive BTM in production and across the application lifecycle to enable proactive optimization of key business transactions, and prevent problems from reaching production in the first place;
    • Self-adaptive to dynamic environments making dynaTrace easy to configure, deploy and manage even in highly-complex SOA, virtualized and cloud environments;
    • In a single system that enhances usability for key business, operations, test and development users reducing time to value and overall cost of ownership.

    The result is an unprecedented combination of breadth and depth that delivers on the promise of BTM by making it meaningful for business users and actionable for IT.

    “Because dynaTrace is transaction pure at its core, we’ve been able to extend our Continuous Application Performance Management system with business transaction management, an extension that other APM vendors simply cannot do,” said Bernd Greifeneder, CTO of dynaTrace. “At the same time, traditional BTM suppliers lack the application visibility and depth required to rapidly diagnose performance issues and optimize key transactions. Now, with a single system, business users, production operations and application development get what they need to proactively visualize, optimize and manage their most important applications and the key transactions that drive value for their customers.”

    This latest release extends dynaTrace’s Continuous APM system to provide an enterprise-class BTM solution with the following enhancements:

    • New Legacy-Tier Agents extend dynaTrace’s industry-leading PurePath technology into C/C++, Cobol, and other custom applications;
    • New Web Tier Agents extend PurePaths into Apache and IIS web servers;
    • Production Deployment Enhancements with self-adaptive system monitoring make dynaTrace easier to deploy and manage in complex production environments;
    • Transaction & Topology Visualization brings visibility into distributed, service-oriented applications, revealing interdependencies in even the most complex and dynamic virtualized and cloud environments;
    • New Deployment FastPacks for IBM WebSphere MQ and Amazon EC2 Cloud monitoring make dynaTrace even easier to implement, providing faster time-to-value.

    Learn more about how dynaTrace extends its award-winning APM technology to BTM.

     

    Threaded Messages (24)

  2. Does anyone know how it compares to correlsense surepath or Oracle Amberpoint? I took a look at the videos and docs on Dynatrace website. From what I understand, it looks like dynatrace injects a transaction identifier in the http header and uses that to trace a transaction from end-to-end.

     

    peter lin

  3. BTM?[ Go to top ]

    I don't think adding a transaction identifier constitutes business transaction management but then again this term has been hijacked by every tom, dick and harry including now dynaTrace (aka dynaCopy). I have even seen companies relabel overnight an APM solution (like now) by simply offering the ability to provide an alias to a trace name that has a much more business friendly meaning such is the sad state of affairs in the section which is only second to cloud computing in its lack of definition. If business transaction management is about using a contextual identifier for a trace then I have been doing this for close to 8 years. I suspect there is some substance to all these vendor claims but the degree is certainly up for dispute.

    By the way another reason to relabel an APM solution as a BTM solution is the high overhead of the APM in tracing which renders it only applicable at entry and exit points. If you can only realistically do measurement at such points then you better change something else otherwise your useless in production for problem management which is not the domain of BTM solutions. I recently blogged about this.

    http://williamlouth.wordpress.com/2010/05/25/the-java-application-performance-management-vendor-showdown/

  4. Hi Peter

    As many other APM Vendors we use selective byte-code instrumentation to capture transaction based method execution times, method arguments, exception stack traces, log messages, SQL Statements, Web Service Calls, ...

    The PurePath technology allows us to start a transaction at a certain EntryPoint, e.g.: WebRequest on your servlet engine or ASP.NET WebPage and follow the transaction from this EntryPoint across Thread and Runtime-boundaries. That means that we found a way to tag a transaction all the way from where it starts (EntryPoint) back to the Database or external Systems that you call. We support different remoting protocols such as Web Services, RMI, WCF, .NET Remoting, JMS, MSMQ, ... - depending on the protocol we have a different approach to tag the transaction from the client-side of the caller to the server-side.

    You should check out our blog - http://blog.dynatrace.com. My colleague Alois and I have been posting content to help our community understand application performance management in various environments. We often use dynaTrace and include screenshots to give you a better understanding about how dynaTrace works and how it solves the challenges performance managenemt in complex distributed applications.

    Our ability to capture contextual information, such as method arguments, SQL statements, bind variables, HTTP session information, ... for every transaction 24x7 in a high load/production environment allows us to manage rather technical transactions (execution traces) in a business context, e.g.: which users were suffering from performance problems, how much revenue was generated through certain features on my website, ...

    I hope this answers your question - let me know if you need anything else

  5. Hi Peter

    As many other APM Vendors we use selective byte-code instrumentation to capture transaction based method execution times, method arguments, exception stack traces, log messages, SQL Statements, Web Service Calls, ...

    The PurePath technology allows us to start a transaction at a certain EntryPoint, e.g.: WebRequest on your servlet engine or ASP.NET WebPage and follow the transaction from this EntryPoint across Thread and Runtime-boundaries. That means that we found a way to tag a transaction all the way from where it starts (EntryPoint) back to the Database or external Systems that you call. We support different remoting protocols such as Web Services, RMI, WCF, .NET Remoting, JMS, MSMQ, ... - depending on the protocol we have a different approach to tag the transaction from the client-side of the caller to the server-side.

    You should check out our blog - http://blog.dynatrace.com. My colleague Alois and I have been posting content to help our community understand application performance management in various environments. We often use dynaTrace and include screenshots to give you a better understanding about how dynaTrace works and how it solves the challenges performance managenemt in complex distributed applications.

    Our ability to capture contextual information, such as method arguments, SQL statements, bind variables, HTTP session information, ... for every transaction 24x7 in a high load/production environment allows us to manage rather technical transactions (execution traces) in a business context, e.g.: which users were suffering from performance problems, how much revenue was generated through certain features on my website, ...

    I hope this answers your question - let me know if you need anything else

    By "tag" do you mean generate an unique transaction id and pass that from system to system? I did look at the blog, but I will look more closely and revisit it. I could be misinterpreting the response, but it sounds like you've hooked into the virtual machine (jvm, clr) similar to other products. I was looking at correlsense and they instrument at a lower level to lower the overhead.

    The reason I ask is this. How much overhead does the tracing place on the system? I've heard from friends and colleagues that some APM products can only trace transaction every few minutes due to the overhead.

    Having used a variety of profiling tools like optimizeId, jProbe and Yourkit, tracing the entire execution produces a huge graph, so realitically tracing a ton of information is going to have scaling issues. Assuming the instrumentation is capable of tracing that data efficiently, there's still the issue of sending that much data continuously over the network. If a company has 100 servers, each generating several MB of trace data every second, it will have a significant impact on the network. I assume that's why you say "selective" instrumentation.

    Is that a correct interpretation?

    thanks

    peter

  6. Hi Peter

    Lots of good questions :-)
    You are correct - we instrument JVM and CLR code by injecting an agent into these runtimes. The "tag" is a unique transaction ID (in our case we call it PurePath) that we pass from one system to the next or from one thread to the next (in case you use threadpools).
    Overhead is always the #1 question that comes up. First I recommend to check out the blog from my colleague Alois on Myths and Truths about Measurment Overhead. Second I recommend listening to what our customers are saying that run us 24x7 in Production or in their load-testing environment. You can either listen to recent webinars from Zappos, Novell, Monster, Peopleclick, ... or check out the video testimonals. Our typical production clients runs dynaTrace with 3-5% overhead in production (listen to the webinars and you will hear that this is not a marketing number but that this is FACT).

    There is a lot of data that gets collected - you are spot on on this point. dynaTrace sends the information collected from within the application to so called dynaTrace Collectors and the dynaTrace Server which run on different boxes (thats how we limit the overhead on the application itself as we don't do any expensive analysis on these machines). The network will be utilized more because of the data collection - but it has never been an issue with our big accounts. Using a deticated network interface for the dynaTrace data is a way to not interfere with your regular traffic in case you are worried about problems here

    Hope that helps

  7. Hi Peter

    Lots of good questions :-)
    You are correct - we instrument JVM and CLR code by injecting an agent into these runtimes. The "tag" is a unique transaction ID (in our case we call it PurePath) that we pass from one system to the next or from one thread to the next (in case you use threadpools).
    Overhead is always the #1 question that comes up. First I recommend to check out the blog from my colleague Alois on Myths and Truths about Measurment Overhead. Second I recommend listening to what our customers are saying that run us 24x7 in Production or in their load-testing environment. You can either listen to recent webinars from Zappos, Novell, Monster, Peopleclick, ... or check out the video testimonals. Our typical production clients runs dynaTrace with 3-5% overhead in production (listen to the webinars and you will hear that this is not a marketing number but that this is FACT).

    There is a lot of data that gets collected - you are spot on on this point. dynaTrace sends the information collected from within the application to so called dynaTrace Collectors and the dynaTrace Server which run on different boxes (thats how we limit the overhead on the application itself as we don't do any expensive analysis on these machines). The network will be utilized more because of the data collection - but it has never been an issue with our big accounts. Using a deticated network interface for the dynaTrace data is a way to not interfere with your regular traffic in case you are worried about problems here

    Hope that helps

     

    Thanks for taking time to respond. Using a separate dedicated network for the monitoring makes sense. I've done that in the past for security monitoring, and other reasons. Since you've been so kind to answer my questions, here's a few more in the interest of learning.

    Say we have a full stack trace of a transaction we care about. Usually, the graph is quite huge for a single hop. If the transaction has 5 hops, that means that's 5 huge graphs to look at. I compare it to looking for a blue needle in a stack of needles. How does dynaTrace make sense of a mountain data, and reduce the time it takes for a developer to figure out x is an issue?

    How long does dynatrace store the trace data and is the database an open format?

    thanks

     

    peter

  8. dynaTrace does selective instrumentation - that means that we are not instrumenting "all the noisy" method executions such as ToStrings(), ...
    Transactional Traces (PurePath's) are therefore not millions of nodes but rather a maximum of several hundreds.
    dynaTrace offers an easy way to identify the hotspots in either single transactions or a complete dynaTrace Session (that can be multiple transactions that belong together or transactions from a certain timeframe, e.g: a full load test or peak business hour).
    There are plenty of screenshots on the blog that show how you can easily analyze distributed transactions. Look at this blog post that shows some detailed screenshots of the analysis capabilities of dynaTrace.

    As for storage: In a production environment you would not store every single transaction. Every transaction is captured by dynaTrace but we only keep it for long term analysis if you are interested in. this can be defined by so called incidents, e.g.: service level breach, a certain exception that is thrown, a specific SQL statement that takes too long or a remote service call that failed. In this case the transaction (PurePath) is automatically stored away for you. All others will only be kept for a short while and then thrown away.
    In a load-testing environment the story is a bit different. Here we store ALL PurePath's that belong to a load tesitng session. We have integrations into pretty much every Load-Testing tool to automate session recording when you start/stop a load-test. The previous link for instance shows the integration with Visual Studio 2010 - here is one that shows it with SilkPerformer from MicroFocus
    besides the actual PurePath's (full transactional traces) we ALWAYS store time series data, such as transaction times, exception count, memory counters, CPU, ... in a SQL Repository - this is usually used for long term analysis and regression analysis

    Last year we introduced a new tool as an addition to our APM Solution - it is called the dynaTrace AJAX Edition and is a FREE tool that brings deep visibility in the Browser. It basically brings the PurePath technology into Internet Explorer where we trace JavaScript, DOM access, Network roundtrips and even Rendering Activities. You will find plenty of blog posts on that topic - here is one to start with.

    Cheers, Andi

  9. thanks for taking time to respond. I will definitely read the blog several times.

  10. Peter,

    Feel free to call me at (208) 585 8265 during east coast business hours and I can provide a full overview for you.

    SharePath does not rely on ByteCode Instrumentation or Tagging and therefore does not introduce any noticable overhead and is capable of tracing 100% of transactions through all tiers - not only Java or .NET.

    Best regards,

    Alon

  11. Hi Alon

    I appreciate your comment on this thread - but just want to make sure that everybody understands that SharePath is not dynaTrace - even though the name of the two core technologies (SharePath and PurePath) sounds very similar :-)

    Thanks

  12. On that point I would also like to point out that though dynaTrace claims in its marketing to have invented path technology it was in JDBInsight and JXInsight years before dynaTrace the company was started. It was referred to as Transaction Path analysis and it actually represented a true resource transaction which is not the case elsewhere. There are probably other cases of similar usage prior to this in the context of application performance management. It is much ado about nothing at this stage.

    Andreas when are you going to stop with making claims of "low overhead" claims without any qualification. You seem to forget that we have talked to your customers some of which have refuted this claim which is why they approached us regarding production deployment. Listing companies is meaningless. For all we know the performance of these applications could be terrible (which is why they might have contacted you) or they simply have high latency processing interacting with backend data sources. You have failed to specify the degree of instrumentation applied was it across the board of just an entry and exit points. 

    Please publish your units costs (per instrumented method) as requested in this blog entry (http://williamlouth.wordpress.com/2010/05/25/the-java-application-performance-management-vendor-showdown/) or finally accept our benchmark challenge which we have been requesting for years but which you guys keep avoiding.

    If you cannot do either than can you honestly claim that dynaTrace is suitable in a production environment with microsecond transaction intervals with instrumentation not confined solely to the entry and exit points. JXInsight can. I doubt you can using trace/path technology especially when collecting context state (args,...).

  13. Buy a license[ Go to top ]

    Why don't you buy a license so you can test for yourself.

     

    And to be honest, I like your blogpostings and you certainly know a lot about profiling/measuring (although from time to time you throw in a lot of terms to impress), but eventually you are becomming the boy who cries wolf.

  14. Buy a license[ Go to top ]

    Was that message directed at me. If so then please read or reread my blog entry again to see why even if I did manage to get access (I doubt they would sell me a license) I would be prohibited from publishing any results. Anyway I don't think it would have much weight unless it came from them. We already have some benchmark comparisons which show our technology to be far superior to anything offered up to now but I can shout until kingdom come and no one is really going to take notice without such findings being independently verified or published by the vendor themselves. 

    At the same time I am not trying to beat every vendor to the finishing line though though I will admit that the Austrian guys do bring out the worst in me but that is because their practices are unacceptable including blatant copying of our feature set release after release (note: when we once again opened up our documentation via the OpenCore site which company was first to peruse the docs and API). I would view success if we got away from just throwing out % that have no meaning. Unit costs seem to be a good solution that benefits the customer much more so.

    With regard to my use of terms on my blog which you seem to feel are there to impress I think you are mistaken. A lot of the time when I am writing I am using such terms as a when to shorten the work involved (definitions else where) or because simply lay man terms would reduce the scope of possibilities for particular features. This is me not trying to impress anyone - I leave that to my design and development work.

    But thanks Peter for throwing dynaTrace a lifeline. They will continue to sprout of these meaningless low percentages whilst you and others divert attention away. I might do a bad job of this because of my involved but I would have expected better from someone independent.

  15. Buy a license[ Go to top ]

    Hi William,

    the message was directed to you (it appears I pressed the wrong submit button).

    And personally, I don't care about what sales peolpe are telling since coloring the thruth is just what they do. In Holland (where I live) dynatrace is working on getting more foot on the ground by training consultants so they are able to use the product at customers. So even if your product is better, if there are no consultants that are able to use it, or customers knowing about it, it is going to be hard to sell.

    Why is your company not doing something like this? Apart from the things you post, JXInsight imho has not much visibility (could also be connected to the fact that I'm not in operations but mostly in development).

    And does a customer really give something about who invented something first? As long as the performance problem is solved I couldn't care less about if the product is a complete rip off or not. As a customer the 'profiler' is only a means to a goal.

     

    Peter Veentjer

    Multiverse: Software Transactional Memory for Java

    http://multiverse.codehaus.org

  16. Buy a license[ Go to top ]

    Peter but I actually confused you with the other Peter (Lin) that posted on this thread as well - the one that is independent (at least not trained by dynaTrace which you are).

    Sorry Peter but I would have dutifully ignored your message.

  17. I don't understand why I deserive this treatment.

    But perhaps I should start to ignore you as well as the rest of the serverside/infoq visitors are already doing.

  18. Hey Peter

    Let me know if you have any additional questions on dynaTrace. Earlier in this thread I posted several links to our customer video testimonials and to our webinars. You can also find plenty of information on our blog where we show how to best use dynaTrace in different scenarios and where we educate about best practices in the APM space.

    Cheers, Andi

  19. Hi Andreas,

    my comments was not meant for you, but directed at William Louht (who appearently is attacking everyone). But I have learned my lesson.

  20. Hi Peter - yeah - I know that it wasnt meant for me - I was just offering additional help in case you had any questions targeted to dynaTrace. thanks for responding to the other comments on this thread and for sharing your opinion to the readers. I also believe that the IT folks out there are all smart enough to figure out which APM Solution is best for them. We let our customers speak and also show what we can do through our blog and through our webinars. All the best. Andi

  21. Was directed at William Louht.[ Go to top ]

    Hi Peter - yeah - I know that it wasnt meant for me - I was just offering additional help in case you had any questions targeted to dynaTrace. thanks for responding to the other comments on this thread and for sharing your opinion to the readers. I also believe that the IT folks out there are all smart enough to figure out which APM Solution is best for them. We let our customers speak and also show what we can do through our blog and through our webinars. All the best. Andi

     

    As a end user, it would be great to see a standard test/metric. Ultimately, that metric is just one data point in the decision making process. At the end of the day, the tool/product has to have minimal overhead and present the data in a way that's easy to find issues. The trick though is what is "easy"? The larger the application the harder it is to find the issue. In some cases one of the hops in the transaction is a black box and no one in house knows the code. So displaying a bunch of call trace data might be like reading sumarian.

    My bias take is the overhead is important, but the whole picture is still critical.

    peter lin

  22. easy to use[ Go to top ]

    you hit a good point here peter. Performance is not easy but we all try to make it easier. whether it is with improved and automated analysis steps on top of the data that gets collected or whether it is with best practices that we write and blog about. In the end it is about being successful - which means that you are building better software from the beginning and that you have all the information on hand to fix problems faster when they happen later in the lifecycle. We are always happy about feedback on your own best practices. If you have any let us (the community) know about it. cheers, andi
  23. The "trick" is in the degree of separation between various aspects of an application performance runtime - instrumentation, measurement and collection. I have written about this recently.

    http://williamlouth.wordpress.com/2010/03/07/three-degrees-of-separation-in-apm/

    This has been an overridden goal in the design of activity based costing & resource metering technology when a number of years ago we decided that trace/path technology was never going to cut it in low latency production environments.

    Low overhead is important because it opens up other possibilities including greater runtime instrumentation coverage saving one from having to already determine hotspots before using a tool that is mean to find the hotspots for you which does not scale as the application scales (not to mention all that click, click, clicking around).

    In the context of cloud computing this is going to become much more important because time and resource usage (cpu, io, clock, net) is money. A vendor might be able to hide their overhead in a naive customer test but it will still appear on the balance sheet especially if one would even madly considers using any sort of central management & monitoring server like existing legacy solutions.

  24. Welcome[ Go to top ]

    Firstly, on behalf of OpTier welcome to the Business Transaction Management space. We’re thrilled to have another vendor acknowledging the importance of business transactions and the need to differentiate BTM from today’s Application Performance Management capabilities. The more evangelists who can spread the word of BTM the faster the shift will be for customers to start managing their IT from a business perspective.

     In tongue and cheek your BTM announcement does come across as if your simply re-labeling your existing APM capabilities but I’m happy to give you the benefit of the doubt here. You’re not the first APM vendor to acknowledge and market BTM and I’m pretty sure you won’t be the last based on the evidence of the last 12 months.

     There is no doubt APM and BTM will converge at some point, I hear this from analysts and I hear this need from customers. The problem is that both solutions tackle different aspects of IT management which is why most of our customers and your customers have both BTM and APM solutions (you seem to visit our website everyday so I’m sure you’ll know which customers I’m talking about). Anyway, claiming 2 to 3% overhead in production is nothing new, it’s more a point of what data you can get for that overhead that is meaningful to identifying, isolating and resolving real business impact and pain. Business Transactions aren’t simply technical entities that ping between JVM’s and CLR’s, they are unique in several aspects and originate with users. It is very easy and slightly naïve to over simplify complex heterogeneous environments, its why customers buy BTM solutions over APM solutions, they see things they’ve never seen before. Yes some customer environments are simple and that’s great but what about the complex beasts that live in enterprises and have more technology than NASA?

     BTM isn’t about call stacks or JVM analysis, it’s about definitively identifying and rapidly isolating business impact in the right place so that IT can use the their APM or IT mgmt solutions more efficiently to resolve business pain. The reason why “End to End APM” was never successful was because End to End (and visibility) was dictated by what tiers the APM vendor could support or provide visibility into. Your implying with this release you have BTM capabilities to provide these “End to End” views, just be ready for the ride we had back in 2003 when we discovered “End to End” is not what you think it is. Remember, you can only see what you can see.

     I’m genuinely happy to see more vendors in the BTM space, competition drives innovation and this benefits our customers. Buckle up, start your engines and enjoy the ride.

    Steve Burton

    Product Manger, OpTier.

  25. Another Tool[ Go to top ]

    Correlsense also offers and APM and BTM tool called SharePath that has received a lot of recognition in the industry.  Correlsense is definitely one of the companies to check out if searching for this type of solution.  They even offer a portion of their software free for their Real User Monitoring.