The topic of reporting is not yet covered in the TFS Integration Tools readiness package, but is a fundamental puzzle piece in uni- or bi-directional synchronization scenarios. This blog post is based on the phenomenal work that Grant and team have been doing as part of the internal Pioneer Dogfooding of the technology and therefore included in the “Grant Nugget” category 🙂
Obviously the migration activity can be reviewed in the migration log files, by watching the TFS Migration UI, or by using the out-of-the-box or custom reports. The use of reports is recommended in on-going synchronization environments, where monitoring of the migration sessions and conflicts is important, where it is crucial to minimise impact on teams that are part of these environments.
For example, we can generate:
- The TFS Integration Latency report, which presents a summary and details of the latency for each source:
- The Active Conflicts report, which shows the active conflicts for a given session:
- The TFS Integration Conflicts report, which details version control conflicts:
The reports are contained in RDL files, which must be installed and used as outlined in the installation instructions that are shipped together with the reports. Unfortunately we currently have not documented anything on interpretation of these reports or the customization thereof.
One of the things that we rely upon in the dog fooding environment which is also documented is creating a “data driven subscription” in reporting services. Reporting services will run a query periodically and check the current latency. If the query returns a row, then it renders the report and emails it to a set of people to alert them. This is a clever way to leverage Reporting Services without having to build an alerting service.
To setup a data driven subscription, your reporting services installation will need to be configured for E-Mail Delivery, if it isn’t already. See: http://technet.microsoft.com/en-us/library/ms345234.aspx
To create the data driven subscription, refer to this tutorial (the steps are slightly different for SQL 2008 vs. SQL 2008 R2)
- SQL Server 2008 R2 http://msdn.microsoft.com/en-us/library/ms169972.aspx
- SQL Server 2008 http://msdn.microsoft.com/en-us/library/ms169972(v=SQL.100).aspx
Refer to http://msdn.microsoft.com/en-us/library/ms169673.aspx for requirements for data-driven subscriptions. For example, you need to run the Evaluation, Developer, or Enterprise edition of SQL Server. Support for data-driven subscriptions is not available in Standard, Workgroup, or SQL Server Express.
To implement a Latency Alert using the Data-Driven Subscription Wizard as per above mentioned tutorials, you will stumble across the following arguments:
Argument Description Screenshot Description Latency Alert Data source Point to the one you created for the report Query for data driven subscription EXEC prc_CheckLatency 60
… triggers subscription if an endpoint’s latency is more than 1 hour
To Email address of use or distribution list Subject Get value from the database: Select “Subject” from the dropdown ShowCharts False (The charts can render as quite large images. If you get a lot of alerts, these images will clog your inbox unnecessarily. By setting this parameter, the charts won’t be included – only the table) Notify recipients
Create a schedule to run the report every 30 minutes.
We trust that this inserts another puzzle piece in the TFS Integration Tools adventure … THANK YOU Grant for your invaluable input!