5.8.2 Settings for collecting user-specific performance data

To collect user-specific performance data:

  1. Determine the information to be stored in fields.
  2. Create user commands.
  3. Set the scheduler to collect user-specific performance data periodically.
  4. Specify the settings for collecting information from the user data file.

The following subsections describe the steps in this procedure.

Organization of this subsection
(1) Determining the information to be stored in fields
(2) Creating user commands
(3) Setting a scheduler to collect user-specific performance data periodically
(4) Specifying the settings for collecting information from the user data file
(5) Example of collecting user-specific performance data
(6) Examples of user commands
(7) Example of a batch file used to perform periodic collection

(1) Determining the information to be stored in fields

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.

Key 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

TypeField nameExplanation
Transaction typeTrans TypeIdentifies the instance type.
Transaction keyTrans 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.

Data information

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 typeUser-defined record typeNumber of fields
Numeric dataString dataTime data
PD record typeUser Data Detail (PD_UPD)2 [Figure] 3 = 61 + 2 + 4 = 71
User Data Detail - Extended (PD_UPDB)5 [Figure] 3 = 155 + 5 + 5 = 151
PI record typeUser Data Interval (PI_UPI)4 [Figure] 3 = 121 + 2 + 4 = 71
User Data Interval - Extended (PI_UPIB)10 [Figure] 3 = 305 + 5 + 5 = 151

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
YesNoPI_UPI
YesYesPI_UPIB
NoNoPD_UPD
NoYesPD_UPDB

(2) Creating user commands

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.

(3) Setting a scheduler to collect user-specific performance data periodically

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:

  1. Set up user record collection in PFM - Web Console.
    The execution interval for functionality for periodically executing user commands depends on the Collection Interval setting for each user record.
  2. Set the properties for functionality for periodically executing user commands in PFM - Web Console.
    In PFM - Web Console, set the following properties for each user record to run functionality for periodically executing user commands. The method for setting these properties is the same for PD_UPD records, PD_UPDB records, PI_UPI records, and PI_UPIB records.

    Figure 5-4 Properties for functionality for periodically executing user commands

    [Figure]

    Table 5-22 Setting properties for user records

    PropertyValueDescriptionDefault value
    ExecuteYes/NoSpecify whether to execute functionality for periodically executing user commands.
    • Yes: Perform execution
    • No: Do not perform execution
    No
    UserCommandAbsolute pathSpecify 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
#1
When the Execute property is set to Yes and the UserCommand property is blank, the KAVF11318-W message is output, and the user command is not executed.
#2
If the specified user command does not exist, or the user command does not have execution permissions, the KAVF11007-W message is output.
Reference note
The Windows Task Scheduler can be used to periodically collect user-specific performance data. Windows includes Task Scheduler, which can automatically execute a batch file or program at the specified time and interval. After creating a batch file that executes the user commands and then the jpcuser command, set Task Scheduler so that the batch file is executed periodically.

(4) Specifying the settings for collecting information from the user data file

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.

(5) Example of collecting user-specific performance data

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

OptionExplanationCorresponding fieldValue
ttTransaction typeTrans TypePROCESS
kiTransaction key (numeric type)Trans Data KeyProcess ID
ksTransaction key (string type)Trans String KeyProcess name
uUnsigned long typeUser Unsigned Long 1Number of threads

(6) Examples of user commands

The following are examples of user commands (userproc1.vbs and userproc2.vbs) that acquire process information from Windows and output user-created data.

userproc1.vbs:

' 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

userproc2.vbs:

' 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.

Example of user-created data output by userproc1.vbs:

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

Example of user-created data output by userproc2.vbs:

Product Name=PFM-Agent for Platform (Windows)
FormVer=0001
tt u
TotalPhysicalMemory 1048052

Reference note

(7) Example of a batch file used to perform periodic collection

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

Reference note
This batch file can be periodically executed using the Windows Task Scheduler.