Many organizations use SharePoint as a tool for managing documents, collaboration, or even an all-out Intranet. As SharePoint becomes more mature in an organization, it’s beginning to become more of a business critical application. Companies are placing more and more content, business processes, and functionality into it, perhaps even third party or custom software and web parts.
As you introduce more layers of complexity on top of SharePoint, it can get increasingly more difficult to troubleshoot and find where the root cause of issues lie. For this reason it can take much longer to get to a resolution.
Whether you’re using it for project management, workflows, or integrating with other systems, it’s becoming increasingly more critical to make sure that you’re getting adequate performance from your SharePoint applications, and just as importantly, that the end user experience is positive.
Dynatrace is a suite of application performance management products that provide organizations with application monitoring, user experience management, and app-aware network insights. They also offer a FastPack for SharePoint that allows you to analyze your SharePoint applications through SharePoint performance and usage dashboards. These dashboards can help you to learn, for example, why certain pages, lists, or views in SharePoint might be slow; which web parts have implementation issues; and whether your current server resources can handle the expected load.
As many of you know, I have quite a passion for usability, so I’m reviewing Dynatrace with the SharePoint FastPack from an end user experience standpoint. In other words, I’ll evaluate how Dynatrace can gage the overall usability of your SharePoint sites by measuring performance and user satisfaction.
How Dynatrace Works
The client can be installed directly on the server if you wish, or it can reside on any computer that can talk to the server. The dashboard will give you an overall picture of what your system looks like, as well as allow you to drill down for details.
If you have complaining users, you can trace their actions. For every click, every user interaction, you can go back in time to get the end to end trace from start to finish of their entire session. Or you can be proactive, and monitor the user satisfaction to identify users who may be having issues, and reach out to them before they complain.
When you first open the Dynatrace client, you are taken to a dashboard page where you can view recent activity about all the SharePoint requests to your server (see Figure 1).
By default the activity is shown for the last 30 minutes. You can change this to be a variety of values between 30 minutes and 72 hours (see Figure 2).
Once you have selected the timeframe that you are interested in viewing, the dashboard will refresh and you’ll see all the requests made to the SharePoint server in graphical form for that time period.
Nearly everything is clickable, with the ability to drill down to get further details about the request or activity. If we click on Active Visits, we’ll see all the visits broken down by users during the requested timeframe, including the user experience, which is classified as Satisfied or Frustrated (see Figure 3).
Note: Dynatrace can be configured to extract the user name, so if a particular user is having issues you can easily pinpoint their session. For this review, I did not enable user names, so you’ll just see the visitors by IP address.
Presumably you’ll have a lot more data than I do for this test, so there are handy buttons that let you group the visits by different criteria, including user experience (default), client type, application, location, operating system, and you can even create your own custom query (see Figure 3). You can also sort any column by clicking on the column header.
Expanding the Frustrated Visits section and clicking on one of the frustrated user rows will populate the lower pane with details about that particular user’s request (see Figure 4).
For testing, I created a custom web part on a page called Test.aspx in the SitePages library. I added a custom web part to that page that I know will run slow so that I could test the user experience. I located the row where the user clicked on the Test page, right clicked, chose Drill Down, then PurePaths so see the details about that particular request (see Figure 4).
Note: Since you usually won’t know ahead of time exactly what is running slow, one way to determine where the bottleneck or delay is occurring is to sort the lower pane by Response Time (descending), so you can see what is taking the longest time to load.
After you’ve drilled down to the PurePath, you will see details for that request in the bottom grid (see Figure 5).
If I scroll down further in the bottom pane, I can pinpoint the exact method call on the Test.aspx page that is taking so long to execute by scanning the values in the Exec Total column (see Figure 6).
The method that is taking so long to run is the HelloWorld() method in my custom web part. I used the System.Threading.Thread.Sleep method in my code and set it to pause for 5 seconds so that it would simulate a slow loading web part. Once you’ve pinpointed the problem areas, you can take steps to correct them.
Areas for Improvement
I’m hard pressed to find anything wrong with this product. Just about the only thing I can caution about is that there is so much functionality (I only hit on a small portion of the functionality in this review) that it could be overwhelming for first time users. I would suggest that you focus on just a few bits of functionality that you think can help with your particular scenario depending on your needs, and then explore new functionality as you have time. The documentation on Dynatrace’s website is excellent, which is refreshing since the opposite seems to be true for a lot of software these days. They also hold regular live Q&A sessions to help answer any questions you may have, and they have past Q&As as well as recorded tutorials on YouTube.
Another area that Dynatrace admits that they’d like to improve is their web-based dashboard interface. It’s not as sophisticated as the rich client interface, and they have plans to upgrade the web interface so that eventually it will contain the same functionality as the client. At 120 mb for the client download, many users don’t want to download something that big and would prefer to do everything using the web interface.
After using this product, I know several clients that I could recommend this tool to. But one in particular really stands out, as they’ve recently had several incidents of performance and downtime issues, and I’m confident this would have pinpointed the bottleneck so much quicker.
Expanding on one such incident, the client has an external SharePoint site that users log into using forms-based authentication (I’ve been assured by the folks at Dynatrace that their tool does support forms based authentication). Some of their users were not able to access the site, and others were. On top of that, the issue was intermittent: sometimes the same user could log in, and sometimes they couldn’t. We spent a lot of time going back and forth with the client’s IT department. They were sure it had to be a SharePoint issue; we were pretty sure it wasn’t. We had spent a lot of time troubleshooting on our end and were convinced that it was a server or DNS issue. Come to find out, after going back and forth for several days, they did determine that it was a DNS issue and fixed it in a couple minutes.
The moral of the story, I’m fairly confident that had they had a tool like Dynatrace monitoring their SharePoint server, we could have solved this issue in minutes instead of days.
Product review is sponsored by Dynatrace, but opinions are my own