To collect user-specific performance data:
The following subsections describe the steps in this procedure.
The fields of a user-defined record store two types of information, key information and data information. You will need to consider what to store as key information and what to store as data information.
A user-defined record for storing user-specific performance data is a multi-instance record in which one or more rows can be stored by one collection run. To identify each record instance in one user-defined record, key information must be set. If you specify multiple user-created data files in the jpcuser command, you must set key information that uniquely identifies each record instance across all of the specified files. The following table describes the types of key information.
Table 5-19 Types of key information
Type | Field name | Explanation |
---|---|---|
Transaction type | Trans Type | Identifies the instance type. |
Transaction key | Trans Data Key (numeric type) | Identifies each of the instances that have the same transaction type. |
Trans String Key (string type) |
The transaction type is used to identify the type of the performance data. For example, assume that information about a database is stored in one record and information about a Web server is stored in another record. In this case, you can use DATABASE and WEB as transaction types to indicate which type of information (information about a database or information about a Web server) is stored.
When there are multiple instances that have the same transaction type, the transaction key is used to identify each instance. If neither the Trans Data Key field nor the Trans String Key field is set or the same value is set for multiple transaction keys, the record instances cannot be identified uniquely. As a result, the first record instance is used.
As data information, user-defined records can store three types of numeric data (double, long, and ulong types), three lengths of string data, and time data. The number of data items that can be stored differs depending on the user-defined record. For numeric data of the PI record type, either average or cumulative can be selected as the consolidation rule.
Select the user-defined record to be used based on the performance data to be collected. Note that a user-defined record that can store a larger amount of information consumes a larger amount of memory and other resources. We recommend that you select the user-defined record whose size is the minimum necessary.
The following table lists the number of fields for each type of user-defined record.
Table 5-20 Number of fields for each type of user-defined record
Record type | User-defined record type | Number of fields | ||
---|---|---|---|---|
Numeric data | String data | Time data | ||
PD record type | User Data Detail (PD_UPD) | 2 ![]() | 1 + 2 + 4 = 7 | 1 |
User Data Detail - Extended (PD_UPDB) | 5 ![]() | 5 + 5 + 5 = 15 | 1 | |
PI record type | User Data Interval (PI_UPI) | 4 ![]() | 1 + 2 + 4 = 7 | 1 |
User Data Interval - Extended (PI_UPIB) | 10 ![]() | 5 + 5 + 5 = 15 | 1 |
The following table lists the criteria for selecting the recommended user-defined record.
Table 5-21 Criteria for selecting the recommended user-defined record
Will cumulative data be stored as the performance data? | Will many types of performance data be stored? | Recommended user-defined record |
---|---|---|
Yes | No | PI_UPI |
Yes | Yes | PI_UPIB |
No | No | PD_UPD |
No | Yes | PD_UPDB |
User commands are scripts that are used to collect performance data to generate user-created data. You must code the scripts so that performance data is output in the format used for user-created data files.
For details about the format of user-created data files, see 5.8.4 Format of user-created data files.
To verify the user-created data output by the user commands, execute the jpcuser command in the following format:
installation-folder\agtt\agent\jpcuser\jpcuser PI_UPI -file user-created-data -debug 1
When the command is executed, the following debug log file is generated:
installation-folder\agtt\agent\jpcuser\debug\jpcuser_dbg_01.log
Use the debug log file to check for errors.
For details about the jpcuser command, see 5.8.3 Format of the jpcuser command.
The following explains how to set up the functionality for periodically executing user commands, to periodically collect user-specific performance data.
To periodically collect user-specific performance data:
Figure 5-4 Properties for functionality for periodically executing user commands
Table 5-22 Setting properties for user records
Property | Value | Description | Default value |
---|---|---|---|
Execute | Yes/No | Specify whether to execute functionality for periodically executing user commands.
| No |
UserCommand | Absolute path | Specify the absolute path for user commands. The maximum length of the string that can be specified for an absolute path is 255 bytes. Half-width alphanumeric characters and half-width symbols can be specified, except for the following characters: | < > | Blank |
The user data file contains data that the jpcuser command has converted from user-created data into a record format that can be managed by PFM - Agent for Platform. The data in the user data file is stored in user-defined records every time PFM - Agent for Platform collects records. Make sure that PFM - Web Console is set so that PFM - Agent for Platform will collect user-defined records.
For details about how to collect records, see the chapter on Performance Management functionality in the Job Management Partner 1/Performance Management Planning and Configuration Guide.
This subsection provides an example of collecting process information into the PI_UPI record under the conditions shown in the following table.
Table 5-23 Conditions for collecting performance data in the example
Option | Explanation | Corresponding field | Value |
---|---|---|---|
tt | Transaction type | Trans Type | PROCESS |
ki | Transaction key (numeric type) | Trans Data Key | Process ID |
ks | Transaction key (string type) | Trans String Key | Process name |
u | Unsigned long type | User Unsigned Long 1 | Number of threads |
The following are examples of user commands (userproc1.vbs and userproc2.vbs) that acquire process information from Windows and output user-created data.
' Output header.
WScript.Echo "Product Name=PFM-Agent for Platform (Windows)"
WScript.Echo "FormVer=0001"
' Output option header.
WScript.Echo "tt ki ks u"
' Get and output a list of processes. A string including a space is enclosed in Chr(34) codes.
for each Process in GetObject("winmgmts:").InstancesOf("win32_process")
WScript.Echo "Process", Process.ProcessId, Chr(34) & Process.Name & Chr(34), Process.ThreadCount
next
' Output header.
WScript.Echo "Product Name=PFM-Agent for Platform (Windows)"
WScript.Echo "FormVer=0001"
' Output option header.
WScript.Echo "tt u"
' Get and output total amount of physical memory.
for each Memory in GetObject("winmgmts:").InstancesOf("Win32_LogicalMemoryConfiguration")
WScript.Echo "TotalPhysicalMemory", Memory.TotalPhysicalMemory
next
The following examples are examples of user-created data output by the user commands above.
Product Name=PFM-Agent for Platform (Windows)
FormVer=0001
tt ki ks u
Process 0 "System Idle Process" 1
Process 8 "System" 41
Process 172 "SMSS.EXE" 6
Process 200 "CSRSS.EXE" 12
Process 196 "WINLOGON.EXE" 19
Process 248 "SERVICES.EXE" 41
Product Name=PFM-Agent for Platform (Windows)
FormVer=0001
tt u
TotalPhysicalMemory 1048052
The following gives an example of a batch file (userperf.bat) using functionality for periodically executing user commands to perform periodic execution.
Move the REM folder
cd C:\Program Files\Hitachi\jp1pc\agtt\agent\jpcuser
REM Generate user-created data.
cscript //nologo userproc1.vbs > UPI1.txt
cscript //nologo userproc2.vbs > UPI2.txt
REM Use the jpcuser command to convert the data into a record format.
jpcuser PI_UPI -file UPI1.txt -file UPI2.txt#
#: If -debug 2 is specified, debug log information is output to the following folder:
installation-folder\agtt\agent\jpcuser\debug\
Store the batch file (userperf.bat) and VB script in the following location:
C:\Program Files\Hitachi\jp1pc\agtt\agent\jpcuser