VSTS LifeCycle Integration to monitor SharePoint

I am currently attending MSFT TechEd in Orlando. During lasts week TechEd for Developers I was given the opportunity to talk about Dynatrace Diagnostics – the Integration into Visual Studio Team System and how Dynatrace is able to provide a solution for Microsoft SharePoint throughout the Application LifeCycle.

They key components to our LifeCycle Solution are:

  • A Knowledge Sensor Pack for Microsoft Office SharePoint Server (MOSS) and Windows SharePoint Services (WSS)
  • CodeLink Integration to Visual Studio
  • VSTS Web&Load-Test Plugin

SharePoint Knowledge Sensor Pack
The Sensor Pack defines new Rules for the different software components within SharePoint. The main performance contributors in a customized SharePoint application are custom WebParts, custom Lists and customized Pages. The Knowledge Sensor Pack defines APIs for these components as well as APIs for the SharePoint Data Access Layer and internal utility classes.CodeLink Integration to Visual Studio

Our CodeLink Integration is a Visual Studio Plugin which works with ALL versions of Visual Studio (2002, 2003, 2005, 2008). The Plugin allows you to perform a source code lookup from the Dynatrace Diagnostics Client. When you perform a Source Code Lookup from either PurePath or Methods view Dynatrace Diagnostics Client automatically opens the selected Source Code in your running Visual Studio Instance.

VSTS Web&Load Testing Plugin
This Plugin can be used with Visual Studio Team System 2008. Once enabled – web requests that are triggered by the web or load testing feature are automatically “tagged” with a special HTTP header. The requests will then show up in the “Tagged Web Requests” view in the Dynatrace Diagnostics Client.
The Plugin can be used and configured in multiple ways. You can either assign each request a unique Timer Name, you can group requests or you can make use of the VSTS Web Test Transaction concept.

LifeCycle “in Action”

The following image illustrates the LifeCycle between the Testing and Development Department:

LifeCycle Explained:

  1. Performance & Test Engineer runs Web & LoadTests with enabled Dynatrace Diagnostics Plugin. In case its a SharePoint Application the Knowledge Sensor Pack for SharePoint should be used
  2. First analysis tasks can already be done by Performance Engineer by starting from the Tagged Web Requests View
  3. dynaTrace Diagnostics Session is exported and handed to Developer
  4. Developer performs detailed analysis to identify the problem
  5. Once the problematic source code has been identified the Developer can directly lookup the code in Visual Studio by using the CodeLink Plugin
  6. The Developer fixes the problem and redeploys the changes back on the server
  7. Performance & Test Engineers can continue their testing. They can easily verify if the changes had a positiv inpact

A final word on SharePoint

SharePoint is a Platform which is pushed very hard by Microsoft right now. Its a product that evolved out of FrontPage Server Extension. Some core parts of SharePoint are still “old fashioned” COM+ components. Microsoft is however migrating those parts so that SharePoint will become a pure managed application framework.

The good thing about SharePoint is that it allows you to quickly customize it to your personal needs. It offers many different ways and approaches to do so. The problem however is that customization can easily lead to not desired side-effects, e.g.: bad performance.

dynaTrace Diagnostics offers a perfect solution to identify issues that have been introduced via customization. I will cover specific problematic areas in upcoming blog posts.

Andreas Grabner has 20+ years of experience as a software developer, tester and architect and is an advocate for high-performing cloud scale applications. He is a regular contributor to the DevOps community, a frequent speaker at technology conferences and regularly publishes articles on blog.dynatrace.com. You can follow him on Twitter: @grabnerandi