metacpdump

Synopsis

metacpdump [-a]
    [-c [!] ComponentNameList]
    [-h]
    [-l NoOfLookAheadEntries ]
    [-m]
    [-p]
    [-s [!] SubComponentNameList]
    [-t [!] ThreadIdentificationList ]
    ClientLogFileName …​

Purpose

Displays the contents of a binary DirX Identity client trace log file that are written by metacp.

Arguments

ClientLogFileName

A string that represents the name of a serviceability log file on which to operate.

Options

-a

Suppresses display of additional information available in a directory log file entry, for example, the contents of structured function arguments. (To enable the logging of additional information, set debug level 9 for one or more components in the routing specification file.)

-c [!] ComponentNameList

If the ! character is specified, displays the directory log file entries that are not associated with the components specified in ComponentNameList, otherwise, displays the directory log file entries associated with the components in ComponentNameList. ComponentNameList is a string that contains one or more component names associated with the log file entries. All directory log file entries are currently associated with the dir component name. All DirX Identity log file entries are currently associated with the mdi component name.

-h

Prints a command usage message.

-l NoOfLookAheadEntries

Is an integer that represents the number of log file entries to look ahead when searching for function entry/exit log file pairs. Merging between a function entry/exit log file entry is not performed if the corresponding entry cannot be found in the specified range. If this option is not specified, metacpdump uses the value 512 as its search range.

-m

Suppresses merging of function entry log file entries and function exit log file entries. Invalid or non-existent function input/output and result parameters of a log file entry are represented as a ??? sequence. If this option is specified, metacpdump ignores the -l option.

-p

Suppresses display of the prolog information for each log file entry.

-s [!] SubComponentNameList

If the ! character is specified, displays the directory log file entries that are not associated with the subcomponents specified in SubComponentNameList, otherwise, displays the log file entries associated with the subcomponents in SubComponentNameList. SubComponentNameList is a string that contains a single subcomponent name or a comma-separated list of subcomponent names associated with the log file entries.

The metacpdump command recognizes the following directory service subcomponent names for the component mdi:

Keyword Meaning

meta

DirX Identity client interface

The metacpdump command recognizes the following directory service subcomponent names for the component dir:

Keyword Meaning

adm

Administration

api

Application interface

bth

Bind table handling

icom

Internal thread communication interface

osi

OSI communication

ros

Remote operation service

rpc

RPC interface

sock

Socket interface

sys

System call interface

util

Utility functions

vthr

Virtual thread interface

-t [!] ThreadIdentificationList

If the ! character is specified, displays the log file entries not associated with the threads specified in ThreadIdentificationList. Otherwise, displays log file entries associated with the threads specified in ThreadIdentificationList. ThreadIdentificationList is a single integer or a comma-separated list of integers that represent one or more thread Ids. Alternately, it is a single keyword or a comma-separated list of keywords representing thread types. The metacpdump command recognizes the following thread types:

Keyword Meaning

"abort thread"

Handles aborted connections.

MainThread

Initial (main) thread

OsiThread

OSI communication handling thread

OsiIComThread

OSI communication handling thread (supports the primary OSI thread during internal event handling)

Description

The DirX Identity client (metacp) subcomponents log important information about their activities and state through an internal serviceability interface. You specify how client trace log messages are to be routed with the file install_path/client/conf/dirxlog.cfg. Each log entry is written as a machine-independent binary record of data defined as the contents of a serviceability prolog structure. The metacpdump command displays the contents of this binary file in readable text format. The default location of the client trace log files is install_path/client/log.

Example

The following example is based on a log file LOG20861.01. The logging level has been set to 1 for the meta subcomponents.

Create a readable log file log.all of the whole content:

metacpdump LOG20861.01 > log.all

The following output is written to the file log.all. (For readability a few lines were removed from the result):

--------------------------------------------------------------------------------
MainThread 0x00000001 METACP mdi Wed 06/14/00 15:25:15
--------------------------------------------------------------------------------
DEBUG1 meta gcimeta.c 1899 25:15:655[2:410]
0 md_t_initialize
(info_block : IN: NULL OUT: 0x2a51d0,
gc_t_in_vect : 0xefffc5a4,
local_strings : TRUE,
out_vect : efffc5b8) = SUCCESSFUL

 DEBUG1 meta gcimeta.c 598 25:18:510[5:461]
1 md_t_readattrconf
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffc5a4,
local_strings : TRUE,
out_vect : efffc5b8) = SUCCESSFUL
DEBUG1 meta mdt_readattr.c 267 25:19:196[4:705]
2 md_read_attr_config_file
(file_name: "./../../conf/ldifattr.cfg",
ctx_id: 0x2eaaa0,
attr_tab: 0x2eaaf8,
global_info:0x2eab00,
error_line: 2601975) = SUCCESSFUL
DEBUG1 meta mdGetAttrConf.c 803 25:19:735[450]
DEBUG1 meta mdGetAttrConf.c 831 25:22:663[067]
3 md_get_attr_info
(attr_tab: 0x2eaaf8,
abbr: "NEW_RDN") = 0x2ed45c
DEBUG1 meta mdGetAttrConf.c 838 25:22:816[124]
...
...
1 md_t_readattrconf
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffc5a4,
local_strings : TRUE,
out_vect : efffc5b8) = SUCCESSFUL
DEBUG1 meta mdt_readattr.c 267 25:24:273[1:965]
2 md_read_attr_config_file
(file_name: "./../../conf/x500attr.cfg",
ctx_id: 0x2eeaa8,
attr_tab: 0x2eeb00,
global_info:0x2eeb08,
error_line: 2601975) = SUCCESSFUL
DEBUG1 meta mdGetAttrConf.c 831 25:24:483[424]
3 md_get_attr_info
(attr_tab: 0x2eeb00,
abbr: "NEW_RDN") = 0x2f0974
DEBUG1 meta mdGetAttrConf.c 838 25:25:132[130]

...
...
4 md_t_supinfo
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffbdbc,
local_strings : TRUE,
out_vect : efffbdd0) = SUCCESSFUL
DEBUG1 meta gcimeta.c 1247 25:27:784[298]
1 md_t_openconn
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffc5a4,
local_strings : TRUE,
out_vect : efffc5b8) = SUCCESSFUL
DEBUG1 meta mdt_openconn.c 719 25:29:323[130]
2 md_get_attr_info
(attr_tab: 0x2eaaf8,
abbr: "AR") = 0x2ec74c
DEBUG1 meta mdt_openconn.c 719 25:29:545[168]

...
...
1 md_t_openconn
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffc5a4,
local_strings : TRUE,
out_vect : efffc5b8) = SUCCESSFUL
DEBUG1 meta mdt_openconn.c 854 25:35:344[032]
2 md_get_attr_info
(attr_tab: 0x2eeb00,
abbr: "DDN") = 0x2f0160

DEBUG1 meta mdt_openconn.c 854 25:35:473[083]
...
...
2 md_t_search
(info_block: 0x2a51d0,
session: 0x2c3188,
gc_t_in_vect: 0xefffc5a0,
abbrv_result: TRUE,
local_strings: TRUE,
out_vect: efffc5b8) = SUCCESSFUL
DEBUG1 meta gcimeta.c 670 25:39:791[165]
3 md_t_sortresult
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffc1b4,
local_strings : TRUE,
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta gcimeta.c 2192 25:40:067[1:672]
3 md_t_getentry
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffc1b4,
local_strings : TRUE,
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta mdt_getentry.c 1378 25:40:161[1:415]
4 md__getentry_generic
(info_block : 0x2a51d0,
source_handle : 0x2e23e8,
handle_name : "rh",
tag_val : "",
search_key : "",
count_matches : FALSE,
ret_tcl : "0",
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta mdt_getentry.c 407 25:40:379[900]
5 md__getrecord_from_handle
(info_block : 0x2a51d0,
source_handle : 0x2e23e8,
handle_name : "rh",
search_key : "",
count_matches : FALSE,
ret_tcl : "0",
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta mdGetEntry.c 1311 25:40:523[171]
6 md_read_entry
(fp: 0xeefa6ee8,
ctx_id: 0x315128,
global_info: 0x2eab00,
mem_len: 0,
entry: "dn: o=PQR
o: PQR
description: PQR Company
postalAddress: PQR Company$ABC Street 123$D-01234 City$Germany
telephoneNumber: +49 12 345 67 890
objectClass: organization
objectClass: top
createTimestamp: 20000308120944Z
") = SUCCESSFUL
DEBUG1 meta mdGetEntry.c 1343 25:40:976[177]
6 md_split_attr
(entry: "dn: o=PQR
o: PQR
description: PQR Company
postalAddress: PQR Company$ABC Street 123$D-01234 City$Germany
telephoneNumber: +49 12 345 67 890
objectClass: organization
objectClass: top
createTimestamp: 20000308120944Z
",
global_info: ",
attr_s"eq: 0x2f2d44,
is_tagged: TRUE,
attr_table: 0x2eaaf8,
ctx_id: 0x315128,
rec_info: 0x31518c,
last_byte: "") = SUCCESSFUL
DEBUG1 meta gcimeta.c 2046 25:41:860[096]
3 md_t_gethandle
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffc1b4,
local_strings : TRUE,
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta gcimeta.c 742 25:42:073[052]
3 md_t_findentry
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffc1b4,
local_strings : TRUE,
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta gcimeta.c 1682 25:42:336[1:095]
4 md_t_modifyentry
(info_block : 0x2a51d0,
session : 0x2c3188,
gc_t_in_vect : 0xefffc1b4,
local_strings : TRUE,
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta mdUtil.c 3586 25:42:430[179]
5 md_get_attr_info
(attr_tab: 0x2eeb00,
abbr: "DDN") = 0x2f0160

DEBUG1 meta mdt_modifyentry. 553 25:42:790[480]
5 md_x500_modify
(fp_trace: 0xeefa6ed8,
comment_sign: "#",
trace_level: 2,
entry: "dn: o=PQR
o: PQR
description: PQR Company
postalAddress: PQR Company$ABC Street 123$D-01234 City$Germany
telephoneNumber: +49 12 345 67 890
objectClass: organization
objectClass: top
createTimestamp: 20000308120944Z
",
x500_attrconf: 0x2eeb00,
flags: 0x30d17c,
rec_info: 0xefffc0bc,
x500_entry: 0x2a1740,
ctx_id: 0x2e4a88,
sup_info: 0x2e1bbc,
info_block: 0x2a51d0,
session: 0x2c3188,
local_strings: TRUE,
ignore_mod: FALSE,
allow_rename: FALSE,
stat_info: 0x2a51e8,
success: TRUE) = SUCCESSFUL
DEBUG1 meta gcimeta.c 2192 26:14:309[604]
3 md_t_getentry
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffc1b4,
local_strings : TRUE,
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta mdt_getentry.c 1378 26:14:438[389]
4 md__getentry_generic
(info_block : 0x2a51d0,
source_handle : 0x2e23e8,
handle_name : "rh",
tag_val : "",
search_key : "",
count_matches : FALSE,
ret_tcl : "1",
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta mdt_getentry.c 407 26:14:532[185]
5 md__getrecord_from_handle
(info_block : 0x2a51d0,
source_handle : 0x2e23e8,
handle_name : "rh",
search_key : "",
count_matches : FALSE,
ret_tcl : "1",
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta mdGetEntry.c 1311 26:14:621[068]
6 md_read_entry
(fp: 0xeefa6ee8,
ctx_id: 0x3247e8,
global_info: 0x2eab00,
mem_len: 0,
entry: "") = MD_EOF
DEBUG1 meta gcimeta.c 742 26:14:969[074]
7 md_t_findentry
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffbc3c,
local_strings : TRUE,
out_vect : efffbc50) = SUCCESSFUL
DEBUG1 meta gcimeta.c 1320 26:15:130[089]
4 md_t_removeentries
(info_block : 0x2a51d0,
session : 0x2c3188,
gc_t_in_vect : 0xefffc1b4,
local_strings : TRUE,
out_vect : efffc1c8) = SUCCESSFUL
DEBUG1 meta gcimeta.c 1827 26:15:273[049]
99 md_t_unset
(info_block : 0x2a51d0,
gc_t_in_vect : 0xefffcdcc,
local_strings : TRUE,
out_vect : efffcde0) = SUCCESSFUL
DEBUG1 meta gcimeta.c 1827 26:15:394[108]

...
...
DEBUG1 meta gcimeta.c 1974 26:16:985[224]
99 md_t_shutdown
(info_block : IN: 0x2a51d0 OUT: NULL,
gc_t_in_vect : 0xefffd21c,
local_strings : TRUE,
out_vect : efffd230) = SUCCESSFUL

Exit Codes

The metacpdump command returns an exit code of 0 on success or a 1 if it encountered an error. The text of the error message is displayed on stderr.

See Also

dirxlog.cfg (in DirX Identity Program Files)