Even though the Orchestration Profiler asks the user for the date/time range to load tracking data for, this range is not taken into account for orchestrations invoked via a Call shape. As a result, all events in the Tracking database are loaded. This
makes it impossible to profile called orchestrations for a specific performance test run, defeating the usefulness of the tool.
The reason for this is erroneous SQL stored in the resources of the Microsoft.Sdc.BizTalkOM assembly. The query that loads called orchestration shapes does not include the date range in the WHERE clause:
-- begin quote --
SELECT @uidSvcId = uidServiceId FROM dta_Services s
WHERE s.strServiceName = @svcName AND s.strAssemblyName = @svcAsm
INSERT INTO @data
when (DATEDIFF(second, t.dtBeginTimeStamp, t.dtEndTimeStamp) > 214748)
else DATEDIFF(millisecond, t.dtBeginTimeStamp, t.dtEndTimeStamp)
INNER JOIN dta_CallChain cc ON
cc.uidServiceInstanceId = t.uidServiceInstanceId
WHERE uidCalleesServiceId = @uidSvcId
-- end quote --
Unfortunately, the source for the BizTalkOM assembly is not included with the Orchestration Profiler, so it is impossible to patch the bug at the client site either.