The Performance Tracing utility allows you to report on performance of custom components such as custom AgileParts, AgileWorks, AgileConnectors, AgileStubs, or Web Services. The performance criteria is based on milliseconds, for example you can write a query to return the most time consuming AgileParts. To use this utility, you will need a database that includes a table called WF_PERF_TRACES (it is not recommended to add this table to the AgilePoint database). You will also need to add a PerfTrace.config XML file to the root level folder where AgilePoint Server is installed (e.g. c:\inetpub\wwwroot\AgilePointServer\). The location of AgilePoint Server can be determined from the registry.
To use the utility to perform performance tracing:
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [WF_PERF_TRACES]( [SOURCE] [varchar](1024) NULL, [CATEGORY] [int] NULL, [OBJECT_ID] [varchar](256) NULL, [TIME_STARTED] [datetime] NULL, [TIME_SPAN] [int] NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF
A sample query may return results as shown below:
<?xml version="1.0" encoding="utf-8"?> <PerformanceTraceSetting xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Database> <Vendor>MSSQLDatabase</Vendor> <Connstr>server=localhost;database=lock;trusted_Connection=yes</Connstr> </Database> <Filter> <Category>TrackingEvent</Category> <Category>WebService</Category> <Category>ProcessEventHandler</Category> <Category>AgilePart</Category> </Filter> <MinimumTimeSpan>10</MinimumTimeSpan> </PerformanceTraceSetting>
[AgilePoint Server installation root]\PerfTrace.config
When doing the reporting, a few of the filtering options that are available include:
A couple of sample query statements are shown below:
select * from WF_PERF_TRACES where source like '%Sample%' order by time_span desc
select * from WF_PERF_TRACES where category = 0 and source like '%Move%' order by time_span desc
A sample query may return results similar to below: