Showing posts with label Itinerary Tracking. Show all posts
Showing posts with label Itinerary Tracking. Show all posts

Wednesday, April 6, 2016

Evalute Itinerary Performance in BizTalk

In one of the requirement client have requested to have evalution of Itinerary Performance from development stand point.

Problem : how can we track itinerary performance with ESB Toolkit

Solution : out of the box ESB Toolkit have capability to track the Itinerary with predefined performance counters

ItineraryBeginTime
ItineraryEndTime

ItineraryState
MessageDirection
ServiceType
ServiceisRequestResponse
ServiceState
ItineraryName
ESBServiceName

here from this we can concentrate only on (ItineraryBeginTime, ItineraryEndTime, ItineraryState) this performance counters available in BAMPrimaryImport database.

There is a step in ESB Toolkit installation where one need to deploy Itinerary Services BAM defination as given in below steps

C:\Program Files (x86)\Microsoft BizTalk Server 2010\Tracking>bm deploy-all -Def
initionFile:"C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Bam\Micros
oft.BizTalk.ESB.BAM.Itinerary.xml"


Once you run above command you can see several tables bam_ItineraryServiceActivity in BAMPrimaryImport database.

now in Itinerary Designer for shape where we need to enable tracking we can achive the same by setting the Tracking Enabled="True" option.



In BAMPrimaryImport database we have table called bam_ItineraryServiceActivity_Completed we can utilize the ItinearryBeginTime and ItineraryEndTime column to take the difference in Seconds/NanoSeconds for messages and take average of same and calculate average time taken, highest time taken and lowest time taken to process the message using Itinerary.

Here is the example:

SELECT DATEDIFF(NS,ItineraryBeginTime,ItineraryEndTime) FROM [BAMPrimaryImport].[dbo].[bam_ItineraryServiceActivity_Completed]

Hope this Helps!!!

Tuesday, April 5, 2016

ItineraryState does not updating with 'Complete' status in BizTalk

I have got one of the requirement wherein i have to analyze the performance of Itinerary. like how much time overall an Itinerary can take.

Problem: Itinerary status does not updates with 'Complete' even though Itinerary flow is completed.

Solution : Whenever you face such issues first checkpoint that you need to look at is see if you have configured the right pipeline on your send port(static or dynamic) and make sure you have selected the Microsoft.Practices.ESB pipelines like ItinerarySend or ItinerarySendPassThrough or any of your custom pipeline having the Dispatcher component.




Hope this helps!!!