THE DAILY DIGEST

The daily edition.

Essential reading from Rocket Enterprise. Straight to the source.

Archived edition
DAILY EDITION1 story· 3 min read
IN FOCUS

Dynamic CTF on Windows: Enable Tracing Live, Configure Emitters Before the First Event

Dynamic CTF changes trace levels and component selection in an already prepared running COBOL process. Its Windows-only utility requires startup configuration through MFTRACE_CONFIG, while emitter settings can change only before the emitter writes its first event. [1] [2]

Read the full briefing

Scope: Rocket Enterprise Developer 12.0 for Eclipse (Windows), COBOL application diagnostics. The Dynamic CTF command-line utility described here is Windows-only.

Dynamic CTF lets you change tracing while a COBOL application is running: adjust trace levels, add components, or remove components from the trace. Run the utility on the same machine as the application. This supports a focused diagnostic session during execution, with one important boundary: an emitter’s configuration can change only before it has written its first qualifying event. See Dynamic Tracing.

The prerequisite is easy to overlook. The target application must already be executing with CTF enabled through MFTRACE_CONFIG. The mandatory -p argument identifies that application’s operating-system process; the utility does not simply enable CTF in an arbitrary unprepared process. Run cblctd from the Enterprise Developer command line. See Dynamic CTF Syntax Options.

Rocket documents a useful preparation sequence:

  1. Define the component events you want in the CTF configuration file.
  2. Set mftrace.level=none in that file to suppress component-event output initially.
  3. Start the application with that configuration.
  4. Change the component trace level when tracing is needed.

For the manual’s example process, PID 4892, whose configuration defines run-time events, enable tracing with:

cblctd -Lc mf.rts:debug -p 4892

Then disable that component’s tracing with:

cblctd -Lc mf.rts:none -p 4892

These are the documented example commands with ordinary command-line hyphens. Rocket states that when no events are enabled, application execution has no tracing performance overhead. See Examples of Using the Dynamic CTF Command Line Utility.

The controls separate event selection from output configuration. -Ct and -Cf enable or disable component properties; -Lc sets a component’s trace level. The -f option loads dynamic CTF options from a text file, allowing the same settings to be reapplied. Emitter controls, including -Ev for an emitter property and -Dd or -Dr for default-emitter membership, have a stricter lifetime rule: they apply only before that emitter has output any events. Its output file is created at the first qualifying event, after which the emitter cannot be reconfigured. See Dynamic CTF Syntax Options.

Takeaway: Prepare CTF at startup, switch component tracing during execution, and configure each emitter before its first event fixes its configuration. See Dynamic Tracing.

Rocket Enterprise Developer 12.0 for Eclipse (Windows), COBOL application diagnostics
Documentation references
That’s the briefing.You’ve reached the end of this edition.
More editions

From the archive

View all
Nov 1

XML PARSE: Event-Driven Processing, Special Register Flow, and XMLPARSE Directive Differences

Nov 1

ESCWA Auditing Has Two Switches: Enable Auditing, Create Audit Events, and the audit.cfg Dependency

Nov 1

MFJUXIT Is Process-Local: Why JCL Events Do Not Form One Timeline