3.3.3.1 Version and Interface Identifier

The following listing provides a version and identifier example.

Version and Interface Identifier

#define ED_PERF_MON_MAJOR_VERSION 1
#define ED_PERF_MON_MINOR_VERSION 0
/* Interfaces defined in this module */
#define ED_PERF_MON_INTF_ID "engine/performance/monitoring"
Value Definitions and Data Structure

The following listing shows the Oracle TSAM Plus framework and plug-in core data structure.

Core Data Structure

typedef struct {
unsigned char fieldsmap[MAXMAPSIZE];
char monitoring_policy[MAXPOLICYLEN]; /* monitor policy */
char corr_id[MAXCORRIDLEN]; /* plug-in supplied correlation ID */
int ulen;
void * udata;
long mon_flag;
} MONITORCTL;

The following table lists the MONITORCTL members.

Table 3-4 MONITORCTL Members

Members Description
monitoring_policy Internal use only
corr_id It is used to bring the correlation ID from plug-in to TSAM Plus framework
ulen The data length of the application buffer.
udata The application buffer. It is a typed buffer and only available for call path monitoring and service monitoring. tptypes(5) can be used to check the type and subtype.
mon_flag The flag set both by TSAM Plus framework and plug-in to indicate the requirement and changes.

The following table lists the MONITORCTL array size definitions.

Table 3-5 MONITORCTL Array Size Definitions

Array Size Description
/* Size of fieldsmap*/ #define MAXMAPSIZE 128
/* Size of monitoring_policy */ #define MAXPOLICYLEN 128
/* Size of corr_id*/ #define MAXCORRIDLEN 256

The following table lists the mon_flag Values.

Table 3-6 mon_flag Values

Members Description
#define PI_CORRID_REQUIRED 0x00000001 PI_CORRID_REQUIRED is set by TSAM Plus framework when a call path monitoring is started. It means the plug-in must supply a correlation ID to the framework by the corr_id member of MONITORCTL.