• Also how do I grab the calling procs name. Its giving me my history procs name.

    You are setting @ProcedureName to Object_Name(@@ProcID) when you are in the ExecutionHistory procedure...so it's giving you that procedure name.

    Pretty sure you need another input parameter added to GetExecutionHistoryStart and then pass in the Object_Name(@@ProcID)

    So in your test procedure:

    ALTER PROCEDURE Test

    AS

    DECLARE @MainID INT

    DECLARE @ProcName nvarchar(128)

    SET @ProcName = Object_Name(@@ProcID)

    EXEC GetExecutionHistoryStart'Start', @ProcName, @MainID OUTPUT

    WAITFOR DELAY '00:01:10'

    EXEC GetExecutionHistoryStart 'End', @ProcName, @MainID

    Sue