Bug 71 - DEBUG function tracing issue needs resolved
DEBUG function tracing issue needs resolved
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: core
pre-release
All All
: P1 normal
Assigned To: ns-bugs
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-08-22 02:33 UTC by Tom Henderson
Modified: 2007-10-26 17:54 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Henderson 2007-08-22 02:33:51 UTC
multicast code has raised some open questions about the use of NS_DEBUG and possible interaction with the tracing system:

- whether NS_DEBUG should be used widely to perform function call tracing for debugging during model development

- whether traces such as function call tracing should be hooked into the tracing system rather than the debug system

- whether function call tracing is explicit or automated (bozo-profiler)

- format of function call tracing including whether parameters are included and also class namesaaa

- whether more granularity (per-node) is needed in filtering NS_DEBUGs printing out

- whether NS_DEBUG messages should print out simulation time and possibly node or object identifiers

- whether NS_DEBUG needs a few logging levels such as syslog warn, info, etc.  For instance:  1: function call/signature tracing, 2: return values, 3: internal high-level logic of a routine such as an algorithm, 4:  logic inside for loops, etc.

Quote from Craig:  "Assume for a moment that a debug trace facility is very useful.  We
currently have one based on macros with an on-off selector.  We also have a
very powerful low-level tracing subystem.  Does it make sense to integrate
the existing debug print / trace functionality into the tracing subsystem to
leverage some of the flexibility inherent in that system?"
"
Comment 1 Tom Henderson 2007-09-08 18:10:11 UTC
ns-3 developers discussion concluded the following:
- adopt Mathieu's proposed ns-3-logging/src/core/log.{cc,h}
- remove ns-debug.{cc,h} and convert instances of NS_DEBUG to NS_LOG
- disable for optimized builds
- adopt convention that function tracing for packet flows through the system, as well as for algorithmic routines, uses explicit NS_LOG_FUNCTION at top of the function.
- disclaim NS_LOG output as a supported tracing output format; caveat appropriately if used in documentation or tutorials
- merge before next release
Comment 2 Tom Henderson 2007-10-26 17:54:40 UTC
this was resolved as of the 3.0.7 release with the NS_LOG changes, aside from outstanding bug 79