Here is a detailed breakdown of two ways you can get timing information back for decision execution times:
###############################################################################################################
# Specifies whether the Server Execution start and stop times are appended to the CorticonResponse document
# after ICcServer.execute(String) or ICcServer.execute(Document) is performed.
#
# Default value is false
###############################################################################################################
com.corticon.ccserver.appendservertimes=false
*** The description for this property only states that the execution start and stop times will be appended. This description is pretty outdated. Many more metrics will
be added to the CorticonResponse than just those two numbers.
Now, by setting this property to “true” on the CcServer, this means that
every execution will append the execution values to the CorticonResponse. Just in case the customer doesn’t want all this information in every CorticonResponse, you can set an Attribute in the CorticonRequest to append the execution times for just that
execution while keeping the above property set to “false”. You do have that option.
Here is an example of what is returned in the CorticonResponse when the flag is set to true or the addTimes=”true”:
<CorticonResponse xmlns="urn:Corticon" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" decisionServiceName="11COL_RECIPIENT-flow"
ccExeStart="1471979260789" ccExeStop="1471979265281" ccPreprocessPayloadStart="1471979260789" ccPreprocessPayloadStop="1471979261070" ccReactorWaitStart="1471979261070" ccReactorWaitStop="1471979261304" ccExecutionWaitStart="1471979261304" ccExecutionWaitStop="1471979261304"
ccExecutionProcessStart="1471979261304" ccExecutionProcessStop="1471979265281" ccExecutionPreprocessStart="1471979261304" ccExecutionPreprocessStop="1471979261491" ccExecutionTranslationStart="1471979261491" ccExecutionTranslationStop="1471979263597" ccExecutionRulesStart="1471979263597"
ccExecutionRulesStop="1471979265172" ccExecutionRulesPostProcessStart="1471979265172" ccExecutionRulesPostProcessStop="1471979265281" ccExecutionSuccessful="true" ccUnderutilizedExecution="false">
***
A little overwhelming…I know. Here is maybe a better look at how things are broken down:
ccExeStart :: ccExeStop =Total Execution
ccPreprocessPayloadStart :: ccPreprocessPayloadStop =Preprocess Payload
ccReactorWaitStart :: ccReactorWaitStop = Reactor Wait
ccExecutionWaitStart :: ccExecutionWaitStop = Execution Wait
ccExecutionProcessStart :: ccExecutionProcessStop = Core Rule Processing
ccExecutionPreprocessStart :: ccExecutionPreprocessStop = Preprocess Execution
ccExecutionTranslationStart :: ccExecutionTranslationStop = Payload to CDO
ccExecutionRulesStart :: ccExecutionRulesStop = Rule Execution
ccExecutionRulesPostProcessStart :: ccExecutionRulesPostProcessStop = Post Process Execution
I do not breakdown the buckets in
RED…I actually thought that would be too much detail.
Round Trip Execution
|
Transmission
|
Total Execution
|
|
Preprocess Payload
|
Reactor Wait
|
Execution Wait
|
Core Rule Processing
|
|
|
|
|
Preprocess Execution
|
Payload to CDO
|
Rule Execution
|
Post Process Execution
|
|
|
|
|
Logger
|
EDC (EntityManager)
|
|
|
EDC (commit/rollback)
|
Add RuleMessages to Response
|
Record Metrics
|
|
|
|
|
|
|
|
|
|
|
|
Christopher S. Hogan
|
Principal Systems Engineer
|
|
office
|
346-352-0699
|
mobile
|
646-243-4282
|
|
|
|