Archive for the ‘General’ Category

Unmanaged Code, Layer Breakdown, CPU Tracking and more ..

– SpeedTrace Pro 4.0 highlights 2011 –

This year has been quite a busy one extending the scope of SpeedTrace Pro and preparing the ground for our new website to go public hopefully before the turn of the year.

SpeedTrace Pro 4.0 – highlight of the year!

We would like to pre-announce the final release of SpeedTrace Pro’s new Version 4.0 at the turn of the year. Request your trial license here: http://www.ipcas.com/trace-and-profile/download.html

Amplified tracing scope now includes unmanaged code!

One of SpeedTrace Pro’s Version 4.0 key features this year is a new tracing method especially designed to embrace non-dotNET code. This newly added piece of cutting-edge functionality enables you to trace also non-dotNET platforms such as VBA, JavaScript, unmanaged C++, etc. all in one go. The advantage of this is precious, since a lot of .Net applications consist of mixed code nowadays.


Layer Breakdown – the ideal management reporting tool

The new dashboard ‘Layer Breakdown’ now provides you with a quick bird’s eye overview of the application’s overall time consumption layer by layer, so you can see at one glance where the most time was consumed. It is the ideal management reporting and contolling tool to help testers, consultants, architects and managers to scan the critical areas and to check what still needs to be done …. Besides, the layers can be customized, so that you are able to view your trace output from all kinds of different perspectives.


Powerful new features and extended functionality

  • CPU time tracking (tracing, sampling) offers quick CPU usage checks enabling you to zoom from summary views down to specific time frames and even functions within the same scenario
  • Splitting and merging multiple TraceFiles allows you to customize your  tracing activity (ideal when working in team and task force constellations on large apps)

Enhancements on all levels

  • Easier navigation / IIS tracing with a whole set of new browsers (project, application, website) all adding up to a fabulously comfortable UI feeling
  • Even faster tracing due to structural improvements and enhancements to code and implementation

Outlook for 2012

seasonal greetings - SpeedTrace Pro

 

We are already in our starting blocks to tackle next year’s challenges to add further leading-edge functionality and possibly widen our portfolio.

 

Seasonal greetings

The SpeedTrace Pro Team would like to thank you all for your appreciation, support and valuable feedback.

 

We wish you all a Merry Christmas and a Happy New Year!

Your SpeedTrace Pro Team

SpeedTrace Pro: Cloud-computing highlight 2010

We got a lot of acclaim for the nearly boundless opportunities that our trace profiler opens to all lines of software development, consulting, support, maintenance and monitoring.

SpeedTrace Pro – turn of the year reflections

The year 2010 has been an exciting one: In previous years SpeedTrace Pro has proven to provide the ideal concept for tracing and profiling dotNET apps most accurately and reliably, yielding most conclusive results within split seconds. This year’s highlight “Freely Distributable Trace Agent” service and other salient cloud-computing features have made SpeedTrace Pro’s scope practically UBIQUITOUS – throughout networks and the internet !

Range of applicability

The scope of SpeedTrace Pro in combination with cloud-computing has hardly been thoroughly fathomed yet. Networkability simply opens thousands of doors for QA-integrated development, and enhances security-sensitive maintenance and support:

  • helping distributed and outsourced teams throughout networks to coordinate bugs-fixing, performance issues solving and getting at the bottom of severe software failures and breakdowns saving you oodles of time and money
  • enabling proactive monitoring and project management within networks to streamline code architecture to perfection and avoid critical situations
  • rationalizing your security concept on a network scale to send warnings before failures take place
  • Redefining your maintenance concept by shortening times to maintenance and remedial action
  • providing you with the complete picture of all the circumstances that lead to a failure

Outlook for 2011

We are planning to take on new challenges to create further leading-edge features and are already preparing the ground for even more powerful and amazing functionality.

Seasonal greetings

The SpeedTrace Pro Team would like to thank you all for your appreciation, support and valuable feedback and warmly welcomes you to continue making good use of our support.

We wish you all a Merry Christmas and a Happy New Year!

Your SpeedTrace Pro Team

SpeedTrace Pro stands for supreme stability and reliability.

SpeedTrace Pro: fast, stable and reliable

A few weeks ago we invited you to test your .NET Profiler & Tracer application.
With the test application SuspendTester, you had the opportunity to create an extreme multithreading test scenario.

SpeedTrace Pro has masted this test fast, easily and reliably.

We have received a lot of positive feedback, and some people followed our invitation to give video answers. Thanks a lot!

But see for yourself how SpeedTrace Pro left it’s major competitions way behind!

SpeedTrace Pro 3.4

Ants 6.0

DotTrace 4.0

MS Visual Studio System Profiler

In our test lab we have repeated the test scenario 15 times and have come to the same results.
For stability and reliability, you just can’t beat SpeedTrace Pro!

dotnet-multi-threading-test-scenario-profiler-comparison-results

SpeedTrace Pro is a fully matured product which is able to resolve the root cause of problems ranging from general runtime to performance problems.

Stabilility/Reliability:
Check out the video comparison above and decide oneself.

Quality: Highly accurate results due to lowest profiling overhead of its fast trace engine (In the above videos you can see the runtime overtime raised by the various tools compared)

Traceability/Trace-Empowers Principle: SpeedTrace Pro records and stores detailed information of
application events for later reference with respect to causal analyses (Timestamps, transactions can be recorded even with data flow information) …
…to enable you to reconstruct what happened inside your application whenever
something goes wrong
…to resolve inexplicable application behavior (raised by exceptions, synchronization
issues, performance problems etc.)

Resolve runtime issues/Monitor problems: Due its low overhead and ‘traceability’-feature it can be used for monitoring applications

Remote/Distributed Tracing: SpeedTrace provides freely distributable trace agents, which can be used to record applications which are distributed throughout the network. In contrast to its competitors, SpeedTrace can trace multiple processes on any machines, and the trace results can be stored on a network share which is accessible from other clients analyzing the results.

Precise/Detailed Recording: Furthermore, SpeedTrace Pro allows you to record with greatest accuracy using the following unique recording features:

  • Triggers define when to start and stop the recording of applications WITHOUT code
    modifications (invariably required when using other tools)
  • Filters help you to define what to record to be able to track enterprise apps, breaking
    down the complexity by using features such as black-boxing
  • DataTrace allows you to investigate the application data flow in case of problems by
    providing information that was passed to methods
  • Callback API enables you to interactively react to application events by implementing a SpeedTrace Pro user extension without product code modifications.

Unique and powerful analysis features/Resolve Problems:

  • Divide-and-conquer principle allows you to further break down the complexity by using features such as black-boxing (thus simplifying profiling info).
  • Complex viewing options: By filtering information you can change your point of view
    when looking at the data, to empower yourself to follow the divide-and-conquer
    principle, for example, in order to get rid of implementation details of other teams,
    external components, etc. This allows development stakeholders to see only the
    information they are interested in.
  • Get to the root: Powerful drill-downs enable you to work efficiently to find the real
    causes of problems
  • Test Automation API/Prevent problems: SpeedTrace Pro provides you with a rich
    (recording/analysis) API to integrate SpeedTrace Pro into the application performance life cycle by regularly performing sanity checks during the development stage (-> automated testing).

  • High quality support is provided by experienced performance consultants: Unlike other tools SpeedTrace Pro also offers consultancy services to resolve performance crises in major companies.

For more information view our documentation on our website, this dotnet-profiler-blog, visual studio gallery presentation.

SpeedTrace Pro – Microsoft® Authenticode® Code Signing

Do not install SpeedTrace Pro if you see this "unknown publisher" warning.

unknown publisher warning.

If you have received SpeedTrace Pro from a third-party vendor and see this warning message, please contact us.

Starting from version 3.4.21 all SpeedTrace Pro versions have a Microsoft® Authenticode® Certificate.

To ensure, that your SpeedTrace Pro copy is from ipcas and it’s not modified after downloading, take a look into the Microsoft® Authenticode® Certificate.

Microsoft® Authenticode® Certificate

Update SpeedTrace Pro < 3.4.19

On only some Windows XP Systems with an old Windows Installer (< 4.5), over-installation and update can be with difficulties.

If you want to update a SpeedTrace Pro 3.4 installation smaller then 3.4.19, first uninstall SpeedTrace Pro, please.

Without uninstalling, may be the Windows Installer causes an error.
If you perform an over installation, the Installer does not install all components correctly and SpeedTrace Pro can not start.
Windows Installer malfunction: Windows tries to open the setup .MSI or exe file, but can not find it.

Windows tries to open the setup .MSI or exe file, but can not find it.

After updating an old SpeedTrace 3.4 installation (3.4.19 and smaller), occurs, either the above effect, or SpeedTrace Pro is installed, but behaves weird.

Both effects are result of a Windows Installer malfunction.
Apparently, the MSI-installer has problems to update (overinstall) installations when you deploy assemblies to the GAC.

Apparently, the MSI-installer has problems to update (overinstall) installations when you deploy assemblies to the GAC.

In SpeedTrace 3.4.19 and above we have fixed this with by bypassing the Windows Installer error.

We apologize for any inconvenience with the installing and updating SpeedTrace Pro.

If you still do not use SpeedTrace Pro, try it! 10-days free trial.

Download SpeedTrace Pro - Now!

Learn more about SpeedTrace Pro >>

SpeedTrace Pro 3.4.19 is online for Download

We have enhanced SpeedTrace Pro 3.4.

If you have already installed SpeedTrace Pro 3.4.18, you can get the new update to 3.4.19 fully automated.

Simply navigate to Help > Check for Updates…
Check for Updates

If there are new updates, you will see a window with all available versions.
available update versions

Choose one and click Next to start the download.
update download

After downloading, the normal install process starts.
install update

Auto update will be used only for minor updates, not for major release.

The update check frequency can be configured using the Update Options (Menu: Tools > Auto Updates…).
update option

If you do not yet use SpeedTrace Pro, hurry up and download it!

Download SpeedTrace Pro >>

More about SpeedTrace Pro >>

.NET Multi-threading test scenario /
profiler comparison results

 

Test scenario is a multi-threading test of 100 concurrent threads performing object allocations.
In each test case the threads are started and terminated by the tester program for 50 times.
The test scenario is repeated 15 times.

The test was performed with the following. NET profilers:

  • without Profiler
  • Ants 6.0
  • DotTrace 4.0
  • SpeedTrace Pro 3.4
  • Visual Studio 2010
  • AQTime 6.0

.NET Multi-Threading test scenario / Profiler comparison results: Ants 6.0, DotTrace 4.0, SpeedTrace Pro 3.4, Visual Studio 2010, AQTime 6.0

DotTrace 4.0, Ants 6.0 failed the test because they are not able to present any test results.

SpeedTrace, AQTime and Visual Studio provide test results whereas AQTime adds major runtime (>1000%) overhead,
Visual Studio adds runtime overhead (> 300 %) and consumes much time to show the results.

Only SpeedTrace traces the application without big interference, so accurate results will be presented.

Would you like to reproduce the test? Simple use our ThreadSuspendTester application.

SpeedTrace Pro 3.4.18 with many new features

SpeedTrace Pro 3.4.18 with Automatic update functionality
The new version of SpeedTrace Pro, 3.4.18 is online for download and brings a lot of new features and enhancements.

Features:

  • Automatic Update added
  • Feedback Option added
  • Sort-Column Highlights

Enhancements:

  • Performance optimization for tracing .NET 4 applications
  • Providing large icons for OS >= Windows 7
  • Blackbox overhead calculation

BugFixes:

  • Profiler comparison, fixed problems concerning thread assignment
  • Caller Callee – parents sort

Try SpeedTrace Pro today and experience a new way in .NET development.

Download SpeedTrace Pro 3.4.18

Suspend Tester with SpeedTrace fast and easy

Yesterday we have invited you to test your .NET Profiler & Tracer application.
With this test application (SuspendTester), you can now test the accuracy of your .NET performance tools and also
compare it with other tools available in the market.

It generates extreme multithreading scenarios.

Below, you can find a test done using our all-in-one .NET development solution – SpeedTrace Pro.

Take this experience and see how easy and smooth SpeedTrace Pro handles such extreme load tests.
Fast and easy can SpeedTrace Pro master this test.
How about your .NET Profiler?

Today, we have established a YouTube video channel.
Why not make screen videos of your test with our ThreadSuspendTester application (C# source code) and show us how fast your .NET Profiler can handle extremly multithreadings ?
Provide us your videos or discuss with us!

Try also using SpeedTrace Pro and compare.

Test Your .NET Profiler/Tracer Application

With our ThreadSuspendTester application (see C# source code and downlaod) you can get an idea of the abilities of your .NET testing tool.

Performance analysis with extremely multi threading - ThreadSuspendTest

ThreadSuspendTester is a small test program which records the overhead of .NET profilers or .NET tracers, especially at high concurrency.
The test program starts 100 threads, which in turn make allocations and garbage collections.

If you use SpeedTrace Pro as tracing/profiling tool, you will not detect much difference by the presence of the profiler. In contrast to other tools on the market, the overhead is very small.

Get an idea of your Profiler/Tracer. Compare the result with SpeedTrace Pro – You will be amazed.

Download ThreadSuspendTester.zip (Program.cs) Download ThreadSuspendTester.zip (Program.cs)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Collections;
using System.Diagnostics;
 
namespace ConsoleApplication1
{
    class Program
    {
        static bool terminated = false;
 
        static void Main(string[] args)
        {
            for (int i = 0; i < 15; i++)
            {
                Console.Write(string.Format("Test {0}...", i+1));
                ExecuteTest();
            }
 
            Console.WriteLine("DONE - Press ENTER to exit");
            Console.ReadLine();
        }
 
        private static void ExecuteTest()
        {
            var sw = new Stopwatch();
            sw.Start();
 
            System.Threading.Thread.CurrentThread.Priority = ThreadPriority.Normal;
            GC.Collect();
 
            for (int i = 0; i < 50; i++)
            {
                var threads = StartThreads();
 
                foreach (Thread t in threads)
                {
                    t.Abort();
                    GC.Collect();
                }
                terminated = true;
 
                foreach (Thread t in threads)
                {
                    t.Join();
                }
            }
 
            Console.WriteLine("Done..{0} ms", sw.ElapsedMilliseconds);
        }
 
        private static List<Thread> StartThreads()
        {
            var result = new List<Thread>();
            for (int i = 0; i < 1; i++)
            {
                var thread = new Thread(doNothingTest);
                thread.Priority = ThreadPriority.Lowest;
                thread.Start();
                result.Add(thread);
            }
 
            var thread2 = new Thread(allocTest);
            thread2.Priority = ThreadPriority.Lowest;
            thread2.Start();
            result.Add(thread2);
 
            for (int i = 0; i < 100; i++)
            {
                var thread = new Thread(allocTest);
                thread.Priority = ThreadPriority.Lowest;
                thread.Start();
                result.Add(thread);
            }
            return result;
        }
 
        static void allocTest()
        {
            int j=0;
            while (!terminated)
            {
                ArrayList list = new ArrayList();
                for (int i = 0; i < 1000; i++)
                {
                    list.Add(new Program());
                }
                list.Clear();
                if (j % 1 == 0)
                {
                    GC.Collect();
                }
 
                System.Threading.Thread.Sleep(1);
            }
        }
 
        static void doNothingTest()
        {
            while (!terminated)
            {
            }
        }   
    }
}

More about SpeedTrace >>
Download Now (free evaluation) >>