Enable performance logging for SAS® Real-Time Decision Manager


If SAS Technical Support requests performance logs for SAS Real-Time Decision Manager, complete the following steps to enable the performance logging:

  1. Add the following appenders to the ...\Config\Lev1\Web\Common\LogConfig\SASDecisionServicesEngine-log4j.xml file. Place the new appenders below the existing appenders but before the loggers.
     
    <appender name="PerfLog" class="org.apache.log4j.DailyRollingFileAppender">
       <param name="File" value="${config.lev.web.appserver.logs.dir}/DSEngineServer-Perf.log" />
       <param name="datePattern" value="'.'yyyy-MM-dd"/>
       <param name="Append" value="true" />
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d|%c{1}|%m%n" />
       </layout>
    </appender>

    <appender name="ASYNC_FILE_PERF" class="org.apache.log4j.AsyncAppender">
       <param name="BufferSize" value="100000"/>
       <param name="Blocking" value="false"/>
       <appender-ref ref="PerfLog"/>
    </appender>

     

  2. Add the following loggers in the same SAS Decision Services Engine log4j XML file. Place the loggers before the <root> tag.
     
    <logger name="com.sas.rtdm.implementation.EventExecutor.FLOW_TIME" additivity="false">
       <level value="TRACE" />
       <appender-ref ref="ASYNC_FILE_PERF" />
    </logger>

    <logger name="com.sas.rtdm.implementation.EventExecutor.ACTIVITY_TIME" additivity="false">
       <level value="TRACE" />
       <appender-ref ref="ASYNC_FILE_PERF" />
    </logger>

     

  3. By default, the FLOW_TIME and ACTIVITY_TIME loggers sample only one flow or one node, respectively, out of each 200 flows or nodes. This sampling behavior is not sufficient for performance testing, because there is no way to guarantee that you get adequate visibility into the performance of each node. To change this sampling behavior, you must specify two additional JVM options in the JVM configuration file. The location of this configuration file varies by operating system. For Linux, the configuration file is located in setenv.sh. For Windows, the configuration file is located in wrapper.conf. To change the default sampling behavior, add the following options in the JVM configuration file:
     
    -Dcom.sas.rtdm.implementation.flowLogFrequency=1
    -Dcom.sas.rtdm.implementation.activityLogFrequency=1
     
  4. Restart SASServer7 to pick up the performance logging changes.
  5. Verify that your settings work by submitting a request to the SAS® Decision Services Engine Server and checking the DSEngineServer-Perf.log log file.
  6. After a sufficient representative number of runs of the decision flow have been recorded, send the log to SAS Technical Support.