So, Jamie's been pestering me about this for what seems like eons!!!
Just kidding Jamie, we appreciate the feedback you give, even if it is late at night and a little garbled... :)
But, one of the new little things finally making it into the product is a system variable that tells when a container actually started executing.
In fact, there are two. One is called, appropriately enough, ContainerStartTime.
The other is called EventHandlerStartTime.
Why two of them? Well, think scope again. Variables are visible down the container tree. Event handlers are containers. They're also considered children of the container on which they handle events. So, if an event handler were to have a ContainerStartTime like other containers, it would hide the parent container's ContainerStartTime variable. The event handler is of course event driven, so it's a little less predictable when it will execute. So, it's likely that the start time for event handlers will be more interesting than for most containers and you'd also like to know what time the parent container (that called the event handler) began to execute as well.
With these two and the package system variable "StartTime", there are now three ways to measure package execution times and durations.
StartTime -> Package Start Time
ContainerStartTime -> The time that the scoped container started
EventHandlerStartTime -> The time that the event handler started
So in an email, you can have a property expression on the MessageSource property something like this:
"Error in the task: " + @[System::SourceName] + "with the ID: " + @[System::SourceID] + " has failed at: " + (DT_WSTR, 20) @[System::ContainerStartTime] + "."
Which yields a message body something like this:
Error in the task: ProcessFacts with the ID: {700ECEEF-3DFE-4D6F-B568-071DC959CF9C} has failed at: 6/6/2005 3:16 PM.
Hopefully, this will keep Jamie happy for a little while.
Just goes to show you that there is something to that old saying about the squeaky wheel. :)
Hope this helps,
Universe.Earth.Software.Microsoft.SQLServer.IS.KirkHaselden