_EDC_IO_TRACE

Indicates which files to perform file I/O tracing on, the level of detail to provide for file I/O tracing, and the trace buffer size to use for each file. The _EDC_IO_TRACE format is:
_EDC_IO_TRACE=(Filter,Detail,Buffer Size)
The three values (Filter, Detail, Buffer Size) must be surrounded by parenthesis and delimited by commas. Values that are left blank use the default setting for that value.
Value
Description
Filter
Indicates which files to trace.
//DD:filter
Trace will include the DD names matching the specified filter string.
//filter
Trace will include the MVS™ data sets matching the specified filter string. Member names of partitioned data sets cannot be matched without the use of a wildcard.
filter
Trace will include the Unix files matching the specified filter string.
//DD:*
Trace will include all DD names.
//*
Trace will include all MVS data sets. This is the default setting.
/*
Trace will include all Unix files.
*
Trace will include all MVS data sets and Unix files.
Detail
Indicates the level of detail provided by the trace.
0
No tracing will be performed. This is the default setting.
1
First level tracing will be performed. The trace includes the following information:
  • The file being traced.
  • The trace detail level and buffer size.
  • Details describing how the file was opened (the function called and parameters passed).
  • Formatted file data returned from fldata().
  • The file pointer address.
  • The DD name, if applicable.
  • The function flow details for entry to externally documented file I/O functions.
2
Second level tracing will be performed. The trace includes everything that the first level tracing includes, except that the function flow details will be for entry to externally documented and internal slot, exit, OS, and open file I/O functions.
Buffer Size
Indicates the buffer size to use for each file's function flow details.
sizeK
Specifies the size of each file’s trace buffer, where size is a number specified in kilobytes. The default buffer size is 16KB.
sizeM
Specifies the size of each file’s trace buffer, where size is a number specified in megabytes.
Notes:
  1. The wildcard character (*) can be used alone or as a part of a filter. If it is used as a part of a filter, it must be located at the end of the filter string.
  2. The Unix file filter must either be a fully qualified name or a file name with no slashes.
  3. If the trace buffer size is used up, the trace buffer will wrap, overwriting function flow details only.
  4. The usage of setenv() with _EDC_IO_TRACE only has an effect on future files that are opened.

The following examples show different ways you can use this environment variable.

  • The following examples demonstrate two different ways to trace the default of all MVS data sets, using level 1 tracing and the default trace table size:
    export _EDC_IO_TRACE=(,1,)
    setenv("_EDC_IO_TRACE","(,1,)",1);
  • The following examples demonstrate two different ways to trace the UNIX file named posix.data, using level 1 tracing and the default trace table size:
    export _EDC_IO_TRACE=(posix.data,1,)
    setenv("_EDC_IO_TRACE","(posix.data,1,)",1);
  • The following examples demonstrate two different ways to trace all MVS data sets with names that begin with POSIX.DATA, using level 1 tracing and the default trace table size:
    export _EDC_IO_TRACE=(//POSIX.DATA*,1,)
    setenv("_EDC_IO_TRACE","(//POSIX.DATA*,1,)",1);
  • The following examples demonstrate two different ways to trace all MVS data sets with names that begin with POSIX.DATA, using level 1 tracing and size 24K trace tables:
    export _EDC_IO_TRACE=(//POSIX.DATA*,1,24K)
    setenv("_EDC_IO_TRACE","(//POSIX.DATA*,1,24K)",1);