MBean Creator Destination HTTP Request Tracker Destination JRockit Flight Recorder Destination

Oracle Dynamic Monitoring Service 6-21 6-22 Oracle Fusion Middleware Performance and Tuning Guide Table 6–7 Examples of Dynamically Derived Producers and Events DMS JRockit Flight Recorder JFR Noun type: JDBC_Connection Noun path: JDBCDriverCONNECT ION_7 Sensors: CreateStatement P CreateNewStatement P DBWaitTime P JDBC_Connection_Url S JDBC_Connection_ Username S Where: P: Phase Sensor S : State Sensor E : Event Sensor Producer Name: JDBC The Producer Name is based on the leading component of the noun path. Event Type 1 Event Type Name: JDBC_Connection State noun type State Event Type Path: dmsJDBCJDBC_Connection_State dmsleading component of noun pathnoun type_State Fields: ■ ECID ■ RID ■ JDBC_Connection name Value will be the full path of the noun ■ JDBC_Connection_Url Value will be that of the state sensor of this name at the time of the event ■ JDBC_Connection_Username Value will be that of the state sensor of this name at the time of the event ■ Event Name Value will be one of the following: ■ The name of the DMS event sensor whose activation caused this JFR event instance ■ Null if this JFR event instance was created for a state sensor update Producer Name: JDBC Event Type 2 Event Type Name: JDBC_Connection CreateStatement Event Type Path: dmsJDBCJDBC_Connection_CreateStatement Fields: ■ ECID ■ RID ■ JDBC_Connection name ■ JDBC_Connection_Url ■ JDBC_Connection_Username Oracle Dynamic Monitoring Service 6-23 Producer Name: JDBC Event Type 3 Event Type Name: JDBC_Connection CreateNewStatement Event Type Path: dmsJDBCJDBC_Connection_CreateNewStatement Fields: ■ ECID ■ RID ■ JDBC_Connection name ■ JDBC_Connection_Url ■ JDBC_Connection_Username Table 6–7 Cont. Examples of Dynamically Derived Producers and Events DMS JRockit Flight Recorder JFR 6-24 Oracle Fusion Middleware Performance and Tuning Guide

6.7.3 Understanding DMS Event Output

Table 6–8 describes the fields that make up a DMS event. Field elements are separated by : with a few exceptions. Sample events are provided to illustrate the position of the field within an actual event string. Producer Name: JDBC Event Type 4 Event Type Name: JDBC_Connection DBWaitTime Event Type Path: dmsJDBCJDBC_Connection_DBWaitTime Fields: ■ ECID ■ RID ■ JDBC_Connection name ■ JDBC_Connection_Url ■ JDBC_Connection_Username Noun type: webcenter_lifecycle Noun path: oraclewebcenterwe bcenterlifecycle Sensors: ProcessingTime P status S successCount E Where: P: Phase Sensor S : State Sensor E : Event Sensor Producer Name: webcenter Event Type 1 Event Type Name: webcenter_lifecycle State Fields: ■ ECID ■ RID ■ webcenter_lifecycle name ■ status ■ event name Producer Name: webcenter Event Type 2 Event Type Name: webcenter_lifecycle ProcessingTime Fields: ■ ECID ■ RID ■ webcenter_lifecycle name ■ status Table 6–7 Cont. Examples of Dynamically Derived Producers and Events DMS JRockit Flight Recorder JFR Oracle Dynamic Monitoring Service 6-25 Table 6–8 Event Formatting Descriptions Applicable Events Field Number Name Description All 1 Version number The version number of the event format For example: v1: 1280737384058:HTTP_REQUEST:STOP:MyWebAppemp All 2 Event time The time at which the event occurred For example: v1:1280737384058:HTTP_REQUEST:STOP:MyWebAppemp All 3 Source object type The type of object on which an action was performed to produce the event including: ■ NOUN ■ EVENT_SENSOR ■ STATE_SENSOR ■ PHASE_SENSOR ■ EXECUTION_CONTEXT ■ HTTP_REQUEST For example: v1:1280737384058:HTTP_ REQUEST :STOP:MyWebAppemp All 4 Action type The type of action that resulted in the generation of this event. A given source object type may not necessarily produce events for every action type: ■ CREATE ■ UPDATE ■ DELETE ■ START ■ STOP ■ ABORT For example: v1:1280737384058:HTTP_ REQUEST:STOP:MyWebAppemp Nouns 5 Noun type The name of the noun type For example: v1:1281344803506:NOUN:CREATE:JDBC_ Connection :JDBCJDBC Data Source-0CONNECTION_1 6 Noun path The full path identifying the noun to which the sensor belongs For example: v1:1281344803506:NOUN:CREATE:JDBC_ Connection:JDBCJDBC Data Source-0CONNECTION_1 6-26 Oracle Fusion Middleware Performance and Tuning Guide All Sensor Types 5 Noun type The name of the noun type to which this sensor belongs For example: v1:1280503318973:STATE_SENSOR:UPDATE:JDBC_ Connection :LogicalConnection:JDBCJDBC Data Source-0CONNECTION_ 1:State.ANY:LogicalConnection13bed086 6 Sensor name The name of the sensor For example: v1:1280737383069:PHASE_SENSOR:STOP:JDBC_ Connection:DBWaitTime:JDBCJDBC Data Source-0CONNECTION_1:1280737382950:1280737383069 7 Noun path The full path identifying the noun to which the sensor belongs For example: v1:1280737383069:PHASE_SENSOR:STOP:JDBC_ Connection:DBWaitTime:JDBCJDBC Data Source-0CONNECTION_1 :1280737382950:1280737383069 Phase Sensor Types 8 Start token The start token of the phase. For example: v1:1280737383069:PHASE_SENSOR:STOP:JDBC_ Connection:DBWaitTime:JDBCJDBC Data Source-0CONNECTION_1:1280737382950:1280737383069 9 Stop token The end token of the phase. For example: v1:1280737383069:PHASE_SENSOR:STOP:JDBC_ Connection:DBWaitTime:JDBCJDBC Data Source-0CONNECTION_1:1280737382950:1280737383069 Table 6–8 Cont. Event Formatting Descriptions Applicable Events Field Number Name Description Oracle Dynamic Monitoring Service 6-27

6.7.4 Understanding DMS Event Actions

Table 6–9 shows the action types that can be performed on source object types. State Sensor Types 8 State value type The type of value held by the state sensor including: ■ State.DOUBLE ■ State.INTEGER ■ State.LONG ■ State.OBJECT ■ State.ANY For example: v1:1280503318973:STATE_SENSOR:UPDATE:JDBC_ Connection:LogicalConnection:JDBCJDBC Data Source-0CONNECTION_ 1:State.ANY:LogicalConnection13bed086 9 State value The value of the state represented in string form. For example: v1:1280503318973:STATE_SENSOR:UPDATE:JDBC_ Connection:LogicalConnection:JDBCJDBC Data Source-0CONNECTION_ 1:State.ANY:LogicalConnection13bed086 HTTP Requests 5 URI Uniform Resource Identifier URI identifies the resource upon which to apply the request. For example: v1:1280737382889:HTTP_ REQUEST:START:myWebAppshowEmployees v1:1280737384058:HTTP_ REQUEST:STOP:myWebAppshowEmployees Execution Context 5 ECID,RID The context identifier composed of ECID and RID separated by a comma. For execution context events the complete substring starting at the first character after the fourth event field separator : records the ECID,RID identifiers - the context identifiers may contain : but these should not be interpreted as event field separators. For example: v1:1280737384058:EXECUTION_ CONTEXT:STOP:bc4fd0668f79d507:367c127f:12a23f2013c:-80 00-0000000000000f73,0 Table 6–9 Actions Performed on Source Object Types Create Update Delete Start Stop Abort Noun Yes - Yes - - - Event Sensor Yes Yes Yes - - - Phase Sensor Yes - Yes Yes Yes Yes State Sensor Yes Yes Yes - - - Table 6–8 Cont. Event Formatting Descriptions Applicable Events Field Number Name Description 6-28 Oracle Fusion Middleware Performance and Tuning Guide

6.8 DMS Best Practices

The use of DMS metrics can have an impact on application performance. When adding metrics, consider the following: ■ Use a High Resolution Clock to increase DMS Precision By default DMS uses the system clock for measuring time intervals during a PhaseEvent. The default clock reports microsecond precision in C processes such as Apache and reports millisecond precision in Java processes. Optionally, DMS supports a high resolution clock to increase the precision of performance measurements and lets you select the values for reporting time intervals. You can use a high resolution clock when you need to time phase events more accurately than is possible using the default clock or when the systems default clock does not provide the resolution needed for your requirements. System clocks are not necessarily as accurate as their precision implies. For example, a system clock that reports time in milliseconds may not tick change once per millisecond. Instead, it may take up to 15ms to tick as shown in the following example: Table 6–10 shows a phase with a 12ms duration that runs from actual time 12:00:00.002 to 12:00:00.014 would be calculated in system time as having a duration of zero. Similarly, a phase with a 2ms duration running from 12:00:00.014 to 12:00:00.016 would be reported in system time as having a duration of 15ms. ■ Configure DMS Clocks for Reporting Time for Java Execution Context - - - Yes Yes - Http Request - - - Yes Yes - Table 6–10 Default System Clock Time versus Actual Time in milliseconds Actual Time System Time 12:00:00.000 12:00:00.000 12:00:00.001 12:00:00.000 12:00:00.002 12:00:00.000 [...] 12:00:00.014 12:00:00.000 12:00:00.015 12:00:00.015 12:00:00.016 12:00:00.015 Note: These behaviors are more evident on some operating systems than others. Use caution when analyzing individual periods of time that are shorter than the tick period of the system clock. Configuring DMS to use a higher resolution clock will cause DMS to record phase sensor activations with higher resolution, but the accuracy will still be limited by the underlying system. Table 6–9 Cont. Actions Performed on Source Object Types Create Update Delete Start Stop Abort