ADMGETINFO


8.7

 

The ADMGETINFO instruction obtains data from a Sunbelt administrative server. The instruction uses the following format:

 

 

[label]

ADMGETINFO

{admin},{id},{type},{mask},{result}

 

Where:

label

Optional. A Program Execution Label.

admin

Required. A previously defined ADMIN variable.

id

Required. The admin identification number of the variable.

type

Required. The type of information returned.

mask

Required. The mask used to filter the results.

result

Required. The data variable containing the results.

Flags Affected: EOS, ZERO

Note the following:

  1. {id} can be zero (0) for all tasks or a specific admin identification number.

  2. {type} is a number or keyword as defined in ADMEQU.INC indicating the type or types of data to return. If a string is used, it contains semicolon separated numbers. (e.g. "1;2;4").

  3. Valid values for child data {type}s are:
     

  4. Value

    Keyword

    Returns ...

    0

    $ADMITEMADMID

    an {id} assigned to each task upon startup.

    1

    $ADMITEMUSERIP

    the I/P address of the client for this task.

    2

    $ADMITEMPROGRAMNAME

    the name of the PL/B program running this task.

    3

    $ADMITEMFILENAME

    zero or more files the program has open.

    4

    $ADMITEMUPTIME

    the number of seconds that the task has been running.

    5

    $ADMITEMLOGLEVEL

    the task logging level (0-2).

    6

    $ADMITEMCLIVER

    the basic client version (see description below).

    7

    $ADMITEMTASKID

    the client connection ID and the child process ID.

    8

    $ADMITEMFULLCLIVER

    the full client version (see description below).

    9

    $ADMITEMSHAREDMEM

    the bit mask value that identifies the current running state(s) for a server child task. The $ADMITEMSHAREDMEM bit mask state values are defined as follows: (9.7C)

     

    ADM_FLAG_RUNNING 0x10000

    The child task is running.

     

    ADM_FLAG_SHUTDOWN 0x20000

    The child tasks should gracefully shutdown.

     

    ADM_FLAG_HAS_MSG_ERR 0x40000

    The child task got an error during a message.

     

    ADM_FLAG_PUT_MSG 0x80000

    A message was posted to the child task queue.

     

    ADM_FLAG_NO_LOGGING 0x100000

    Logging is not being performed for the child task.

     

    ADM_FLAG_IDLE 0x200000

    The child task is in the 'idle' state using the PWS server.

     

    ADM_FLAG_SUSPENDED 0x400000

    The child task is in the 'suspended' state using the PWS server.

     

    ADM_LOG_LEVEL1 0x1000000

    The child task is using log level1 logging.

     

    ADM_LOG_LEVEL2 0x2000000

    The child task is using log level 2 logging.

    10

    $ADMITEMKEYNAME

    the key file name if used.

    11

    $ADMITEMLOGSTATE

    whether logging is on (1) or off (0).

    12

    $ADMITEMSENDBYTES

    the number of bytes sent to the client from this child server task.

    13

    $ADMITEMRECVBYTES

    the number of bytes received from the client to this child server task.

    14

    $ADMITEMRUNTYPE

    the runtime type of the child task (see below).

    15

    $ADMITEMIDLETIME

    the number of minutes the child task has been idle since the last socket message was received from the client. Under normal conditions, this value should be reported as a zero value since the client and server have persistent communications. However, if there is a communications problem that causes the child task to not receive any socket messages for a period of time longer than one minute, the value is reported as the number of minutes since the last message was received from the client.

    16

    $ADMITEMUSERNAME

    the client user name string. The user name is the name identified by the OS for the client workstation.

    17

    $ADMITEMCOMPUTERNAME

    the client computer name string. The computer name is the name identified by the OS for the client workstation.

    18

    $ADMITEMMODULENAME

    the names of all load modules currently in use by a Application Server PL/B program. The load module data is not available for the Data Manager Server.

    19

    $ADMITEMAAMFILENAME

    the AFILE names currently opened by a program.

    20

    $ADMITEMISIFILENAME

    the IFILE names currently opened by a program.

    21

    $ADMITEMPRTFILENAME

    the print spool file names currently opened by a program.

    22

    $ADMITEMTXTFILENAME

    the FILE names currently opened by a program.

    25

    $ADMITEMCHILDCPUTIME

    the hundredths of a second (.01) of cpu execution time for the child task.

     

  5. Valid values for server data {type}s are:
     

  6. Value

    Keyword

    Retrieves the ...

    100

    $ADMITEMSRVVER

    version of the server.

    101

    $ADMITEMLOGONCNT

    number logons since startup.

    102

    $ADMITEMLOGONFAIL

    number logon failures since startup.

    103

    $ADMITEMSRVUPTIME

    number of seconds since startup.

    104

    $ADMITEMSRVTYPE

    server type: 1 = Application, 2 = Data Manager, 3 = Automation Server, 4 = License Server, 5 = Web Server

    105

    $ADMITEMSRVEXENAME

    name of the server executable file.

    106

    $ADMITEMSRVININAME

    name of the server configuration file.

    107

    $ADMITEMSRVLOGNAME

    name of the server log file.

    108

    $ADMITEMSRVCHILDCNT

    current number of licenses in use at the server.

    109

    $ADMITEMSRVCHILDMAX

    maximum number of child tasks allowed.

    110

    $ADMITEMSRVLOGCUR

    current log record number for the server log file. The record number returned is a one-based value

    111

    $ADMITEMSRVLOGMAX

    maximum allowed record count. If the returned value is zero, an unlimited number of records are being logged. The server DM_LOGMAX or PLBCS_LOGMAX keywords control this value.

    112

    $ADMITEMSRVLOGSTART

    starting record number of the user data records in the log file. The value is one based and identifies the first user data record after the server header information records.

    113

    $ADMITEMSRVLOGRECS

    log file records. The {mask} parameter identifies a starting record number and a record count to retrieve. The {mask} string is specified as "nnnn,mmmm" where "nnnn" identifies the starting record and "mmmm" identifies the number of records to retrieve.

     

    Note that log records are packed into the result operand as data groups separated by a semicolon (;) character that represents an end of record.

    114

    $ADMITEMSRVNAME

    server name. The server name is identified by the server keyword named ADMIN_SRVNAME. It has a maximum length of twenty characters.

    115

    $ADMITEMSRVUSERNAME

    admin client user name string. The user name is identified by the OS for the client workstation that is logged on to the Admin Services.

    116

    $ADMITEMSRVCOMPUTERNAME

    admin client computer name string. The computer name is identified by the OS for the client workstation that is logged on to the Admin Services.

    117

    $ADMITEMSRVPROGMEM

    largest program memory size used by one of the clients that has connected to the application server. This value is a high water mark value and it never decreases. The returned value in this case helps determine the largest setting required for a the runtime command line '-m' or '-mv' options.

    118

    $ADMITEMSRVHEAPMEM

    largest heap memory size used by one of the clients that has connected to the application server. This value is a high water mark value and it never decreases.

    119

    $ADMITEMSRVLOCALMEM

    largest local memory size used by one of the clients that has connected to the application server. This value is a high water mark value and it never decreases.

    120

    $ADMITEMSRVCHILDCOUNT

    largest logon child count since an application or data manager server has started. This value is a high water mark value and it never decreases.

    121

    $ADMITEMSRVMEMAVAILABLEBYTES

    amount of physical memory in bytes available to all processes running on the computer. This value is calculated by adding the amount of space on the zeroed, free, and standby memory lists. Free memory is ready for use. Zeroed memory consists of pages of memory filled with zeros to prevent subsequent processes from seeing data used by a previous process. Standby memory is memory that has been removed from a process'working set (its physical memory) on route to disk but is still available to be recalled. This counter displays the last observed value only. It is not an average.

    122

    $ADMITEMSRVMEMCOMMITTEDINUSE

    percentage of Committed Bytes in use. This is the ratio of Memory\\Committed Bytes to the Memory\\Commit Limit. Committed memory is the physical memory in use for which space has been reserved in the paging file should it need to be written to disk. The commit limit is determined by the size of the paging file. If the paging file is enlarged, the commit limit increases and the ratio is reduced). This counter displays the current percentage value only. It is not an average.

    123

    $ADMITEMSRVPROCPRIVATEBYTES

    current size in bytes of memory that this process has allocated that cannot be shared with other processes. This value applies to the PLBSERVE/SUNFDM server that is in use for the Admin Services.

    124

    $ADMITEMSRVPROCVIRTUALBYTES

    current size in bytes of the virtual address space the process is using. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite and the process can limit its ability to load libraries. This value applies to the PLBSERVE/SUNDM server that is in use for the Admin Services.

    125

    $ADMITEMSRVPAGEFILEPERCENTUSAGE

    peak usage of the Page File instance in percentage.

    126

    $ADMITEMSRVPROCTHREADCOUNT

    number of threads currently active in this process. An instruction is the basic unit of execution in a processor and a thread is the object that executes instructions. Every running process has at least one thread.

    127

    $ADMITEMSRVMEMCOMMITLIMIT

    amount of virtual memory that can be committed without having to extend the paging file(s). It is measured in bytes. Committed memory is the physical memory that has space reserved on the disk paging files. There can be one paging file on each logical drive). If the paging file(s) are be expanded, this limit increases accordingly. This counter displays the last observed value only. It is not an average.

    128

    $ADMITEMSRVMEMCOMMITTEDBYTES

    amount of committed virtual memory in bytes. Committed memory is the physical memory, that has space reserved on the disk paging file(s). There can be one or more paging files on each physical drive. This counter displays the last observed value only. It is not an average.

    129

    $ADMITEMSRVLOGRECTYPE

    value of zero (0) for fixed length log records and a value of one (1) for variable length records.

    130

    $ADMITEMSRVALLCHILDCOUNT

    current total number of threads/tasks existing for all of the current users logged on to the Application Server.

    131

    $ADMITEMSRVALLCHILDHIGH

    highest number of threads/tasks every used for all of the users logged on to an Application Server.

    132

    $ADMITEMSRVMAILMASK

    a bit mask value that controls if email messages are to be sent for server events. The bit mask definitions are defined as follows:

     

    0x1 - Send Data Manager replication errors via an email.

    0x2 - Send email to indicate when users can not logon because the maximum licensed user count has been exceeded for a Data Manager or Application Server.

    0x4 - Send email when a Data Manager or Application Server has started.

    0x8 - Send email when a Data Manager or Application Server has shutdown.

    133

    $ADMITEMSRVHTTPMASK

    a bit mask value that controls behaviors for the HTTP support of a server. The bit mask definitions are defined as follows:

    0x1 - send GPF data to a Web Server that has been configured for a Data Manager or Application Server.

    134

    $ADMITEMSRVREPID

    the current replication identification for a Data Manager. If the returned value is zero, the Data Manager is executing as a Primary Server when replication is enabled. If the returned value is non-zero, the Data Manager is executing as a Secondary/Backup Server.

    135

    $ADMITEMSRVREPSTATE

    the current replication state value for a Data Manager. The following replication states can be returned:

     

    0 = Replication is Not Active

    1 = Replication is Starting

    2 = Secondary is waiting for Primary

    3 = Secondary is contacting Primary

    4 = Secondary is synchronizing with Primary

    5 = Server is online as Secondary

    6 = Primary Communication Failure

    7 = Automatic Rollback to Primary replication server

    100 = Primary is waiting for Secondary

    101 = Server is online as Primary when $ADMITEMSRVREPID value is zero.

    101 = Server is online as Rollover Primary when the $ADMITEMSRVREPID is non-zero.

    136

    $ADMINITEMSRVWALMAIN

    current write position of the WAL file.

    137

    $ADMINITEMSRVWALMAN

    current processed position of the WAL file by the managed transaction handler on a Secondary/Backup server.

    138

    $ADMITEMSRVWALUMAN

    current processed position of the WAL file by the unmanaged transaction handler on a Secondary/Backup server.

     

  7. Valid values for PL/B runtime data {type}s are listed below. These items are filtered out by default. To turn them on, use the ADMIN_DATASET or ADMIN_CLR options:
     

  8. Value

    Keyword

    200

    $ADMITEMLOCKIO

    201

    $ADMITEMRECORDLOCK

    202

    $ADMITEMXPIO

    203

    $ADMITEMW33RETR

     

  9. Valid values for Authorization License Information requests are:
     

  10. Value

    Keyword

    Retrieves the ...

    1

    $AdmItemSerialNumber

    Sunbelt serial number assigned to the Authorization License.

    2

    $AdmItemProductName

    Sunbelt product name assigned to the Authorization License.

    13

    $AdmItemMaxLic

    maximum number of users allowed for the Authorization License.

    15

    $AdmItemUsedLic

    current number of users that are using the Authorization License.

    16

    $AdmItemCompanyName

    end-user Company Name that is assigned to the Authorization License.

    24

    $AdmItemMisAddr

    value of zero or not zero that identifies whether a License Requestor LS_ADDR has an invalid order for the {hostip} and {hostalt} IP addresses.

    25

    $AdmItemProductVer

    Sunbelt version for the Sunbelt product that is assigned to the Authorization License.

     

  11. Valid values for License Requestor Information requests are:
     

  12. Value

    Keyword

    Retrieves the ...

    1

    $AdmItemUserIp

    the IP address for the License Requestor.

    12

    $AdmItemMinLic

    minimum user count allowed as configured for the LS_ID being used by the License Requestor.

    13

    $AdmItemMaxLic

    maximum user count allowed as configured for the LS_ID being used by the License Requestor.

    15

    $AdmItemUsedLic

    current number of users that are in use by the License Requestor.

    23

    $AdmItemLicAdmId

    administration id of the parent Authorization License information. This matches multiple License Requestors to the parent Authorization License.

    24

    $AdmItemLicThresh

    the current {nextsize} parameter from the 'LS_{id}' group identifier that is being used by the License Requestor. This value identifies the available token count at the License Requestor when another token allocation is to be requested.

    25

    $AdmItemLicBlock

    current {blocksize} parameter from the 'LS_{id}' group identifier that is being used by the License Requestor. This value identifies the number of user tokens that are allocated to the License Requestor for a single allocation request.

     

  13. Valid values for PL/B runtime types are:
     

  14. Value

    Runtime Type

    0

    Unknown

    1

    ODBC

    2

    SunAccess

    3

    Windows version of the PL/B runtime

    4

    Linux version of the Application Server

    5

    Linux version of the PL/B runtime

    6

    WindowsCE Hand Held Runtime

    7

    WindowsCE Palm Top Runtime

    8

    WindowsCE Pocket PC Runtime

    9

    Windows Console version PL/B Runtime

    10

    Windows version of the Application Server

    13

    Authorization License for License Server

    14

    License Requestor

     

  15. {mask} is specific to the first data item in the {type} parameter and may contain any of the following:
     

  16. Characters

    Usage

    {null}

    match all characters

    *

    match a group of characters

    ?

    match any single character

    <,>,=,>=,<=, <>

    numeric test

     

  17. Data items in result are separated by commas(,). Data groups in result are separated by semicolons (;).

  18. When {id} is set to zero, the data group starts with the admin ID.

  19. File names are stored as <index name>%<data name>.

  20. The ADMITEMFULLCLIVER data is in the format XXXXMNRR. The ADMITEMCLIVER only returns the MNRR value. Note that the ADMITEMFULLCLIVER and ADMITEMCLIVER values are returned as a decimal value in an ASCII string format.
     

  21. The 'XXXX' value identifies the client module type as follows:

    0x1 - PLBCLIENT for Windows

    0x2 - PLBCLIENT for Windows CE Handle Held

    0x3 - PLBCLIENT for Windows CE Palm Top

    0x4 - PLBCLIENT for Windows CE Pocket PC

    0x5 - PLBCLICON console client

    0x6 - PLBCLIUNX Linux client

     

    The 'MN' value identifies the client module as a major and minor release values where:

    M - Major version.

    N - Minor version.

     

    The 'RR' value identifies the client module as a revision level where:

    0 = beta release

    1 = First release

    2 = Patch release 'A'

    3 = Patch release 'B'

    ....etc

     

    Example:

    Value returned: 8703

    Major version '8'

    Minor version '7'

    Release '03' (Patch release 'B')

     

  22. The ZERO flag is set if the instruction is returning data in the {result} variable. If there is no data returned, the ZERO flag is cleared.

  23. The EOS flag is set if the {result} variable is too small to accept all the returned data and data was truncated.

 

 

See Also: System Interface Instructions

 



PL/B Language Reference ADMCOMMAND ADMLOGOFF