Dynatrace blog – monitoring redefined

Every user, every app, everywhere. Actionable insights for optimizing your digital ecosystem.

Performance Considerations when using SharePoint Object Model

http://apmblog.dynatrace.com/2014/04/03/database-access-patterns-gone-wild-inside-telerik-sharepoint-and-asp-net/ The SharePoint Object Model allows external applications or hosted WebParts to query, modify and create the content which is stored in the SharePoint Content Database. You will find many blog entries, knowledge base articles and best practices about how to correctly use the Object Model for different use case scenarios. I am going to write… read more

How to Find Invisible Performance Problems

In the first post for this year, I will discuss an interesting question: “How to find invisible performance problems”. What makes up an invisible performance problem? An invisible performance problem is an inherent problem in your code, which does not yet manifest in externally observable problems like slow response times, high CPU load or the like. These problems are very often scalability problems. The major point with those problems is… read more

Demystify encrypted ASP.NET Web Resource Requests

Web Resources have been introduced in ASP.NET 2.0. You can read a detailed description about how this feature works in the following Microsoft KB Entry.I’ve been working with some SharePoint applications and was wondering why I get additional PurePath’s when requesting certain SharePoint pages. It turned out that these additional PurePath’s show the additional web… read more

Preparing for SPTechCon, January 27th – 29th

I’ve been invited to the SharePoint Technology Conference in San Francisco to share my thoughts about Performance & Scalability of Enterprise Applications based on Microsoft SharePoint Technology. Over the past months I worked with several customers of dynaTrace that use SharePoint as their Intranet or Internet Portal as well as customers that built their software solutions on the SharePoint Technology Platform. As with… read more

Extending Visual Studio Unit Testing with Transactional Tracing

In my previous blog entry I wrote about how to extend Visual Studio in order to get transactional tracing for the applications that I develop in my Visual Studio Solution. This could be a console application, a WinForms or WPF Rich Client Application, an ASP.NET Web Application or a SharePoint Extension (WebPart, Custom List, …) What about Unit Testing? Visual… read more

Extending Visual Studio with Transactional Tracing

Visual Studio is the number one development environment for Microsoft technologies and that is especially true for .NET based applications. When developing an application – building it on top of frameworks like ASP.NET, ASP.NET MVC, WPF or SharePoint – it is always great to have the ability to debug through your code in order to find out what is actually going on at runtime.ASP.NET Page Lifecycle methods for… read more

Exceptions: The Good and The Evil

Exceptions are a great way to communicate error state back to the caller. The exception class basically defines the type of error, e.g.: AccessDenied that happened. The detailed message then explains the exact reason for the problem, e.g.: “Your user has no rights to access file xyz”. Documentation of frameworks usually lists all types of exceptions that could potentially be thrown – allowing the caller to implement try-catch routines to handle… read more

Error Analysis Process: The Weak Spot in Manual and Functional Testing

Last week I’ve been at the QAI Quest Testing Show in Toronto, ON. Having a long history in the testing business myself it was interesting to talk with Manual and Functional Testers. We discussed their processes and the tools that they use and how their day-to-day life looks like when interacting with developers about issues that were discovered by their testing efforts. Whats the… read more

Transactional Logging

When do we add logging? In order to analyze problems, developers tend to add additional logging information to the source code. There are different logging frameworks available, e.g.: log4j, log4net, EnterpriseLibrary Logging, … which provide an easy and extensible way to create log files. Logging offers additional insight into what’s actually going on in in the application when… read more

Performance vs. Scalability

When people talk about performance and scalability they very often use these two word synonymously. However they mean different things. As there is a lot of misunderstanding on that topic, I thought it makes sense to have a blog post on it. One of the best explanations can be found here.  It is a nice explanation by Werner Vogels the CTO of amazon.  I… read more