Compare Products
![]() |
![]() |
Features * Profile all types of .NET applications - dotTrace helps you locate performance bottlenecks in a variety of .NET applications, including desktop applications, .NET Core, ASP.NET applications hosted on IIS or IIS Express web servers, Silverlight, WCF services, Windows services, Universal Windows Platform applications, and unit tests.
* Timeline and more profiling modes - Unlike "classic" performance profiling that only lets you measure method call execution time, timeline profiling reveals how calls are distributed in time.
By virtue of binding method call data to a timeline, this profiling mode goes beyond plainly detecting the slowest method: it allows diagnosing performance issues where the order of events matters, such as UI freezes, excessive garbage collection, uneven workload distribution, inefficient file I/O, and more. However, traditional profiling modes are still available in dotTrace. Sampling profiling is the easiest way to evaluate overall application performance, whereas tracing and line-by-line profiling modes are ideal when you need details on how a particular algorithm works inside.
* New profiling experience - You can slice and dice profiling data using filters, the call tree, or diagrams. By applying filters, you get a set of time intervals selected by a specific condition. The way it works is very similar to executing a query on a database to get exactly the data you need.
For example, to find out whether a UI freeze is caused by blocking garbage collection, you can ask dotTrace to select all time intervals on the main thread where the UI freeze occurred and blocking GC was performed. As complex as this may sound, this filter combination is in fact toggled in just two clicks.
* Deep Visual Studio Integration - dotTrace is deeply integrated with Visual Studio, helping you start profiling of the applications you currently develop without leaving the IDE. Even more, you can now view and analyze timeline profiling results right in Visual Studio. Found a hot spot call in the call tree? Instantly navigate to the method declaration! Visual Studio integration makes profiling experience virtually seamless as you no longer have to switch between the IDE and the profiler.
|
Features * System-wide insight - LTTng allows to understand the interactions between multiple components of a given system, i.e.:
◾ The Linux kernel, using either already available or user-defined instrumentation points
◾ C/C++ applications
◾ Java applications
◾ Python applications
◾ Any other user space application using the LTTng logger. Tracing all those components with LTTng will produce a unified log of events, providing great insight into the system's behavior.
* High performance - LTTng is designed from the ground up to provide low overhead tracing on production systems. This is achieved by using techniques such as per-CPU buffering, RCU data structures, a compact and efficient binary format (the Common Trace Format), etc. LTTng disturbs the traced system as little as possible in order to make tracing of subtle race conditions and rare interrupt cascades possible. On platforms where resources are limited, such as some Linux embedded systems, LTTng can be used out of the box to help developers pinpoint the sources of hard-to-debug issues.
* Flexible - Whether your target is a small embedded system or a large cloud, LTTng provides flexible configuration options that can accommodate the system's workload. Architectures such as x86, PowerPC, ARM and MIPS are supported, amongst others. LTTng's tracing session mechanism makes it possible to record multiple traces concurrently with different configuration options. Each user may create and configure as many tracing sessions as needed. Depending on your specific scenario, you may wish to:
◾ Trace locally: record a trace to the target's local filesystem, then use one of the many compatible viewers to investigate what happened.
◾ Trace remotely: send trace data over the network.
◾ View a live stream: monitor events as they occur, in real-time.
◾ Take a snapshot: when desired, keep only a fixed-sized log of the latest events.
◾ Keep ring buffers' shared memory on a persistent memory file system.
* Easy - As LTTng is packaged for all major Linux distributions, installing it is done through package managers. A single tool, the lttng command line interface, is used to control the whole framework. Multiple ways to view and analyze the traces produced by LTTng exist: GUI, CLI tools, and custom scripts.
|
LanguagesCPP CS VB.NET |
LanguagesC CPP Java Python |
Source TypeOpen
|
Source TypeOpen
|
License TypeGPL |
License TypeGPLv2 LGPLv2 |
OS Type |
OS Type |
Pricing
|
Pricing
|
X
Compare Products
Select up to three two products to compare by clicking on the compare icon () of each product.
{{compareToolModel.Error}}Now comparing:
{{product.ProductName | createSubstring:25}} X