Information About Trace Management
The tracing functionality logs internal events. Trace files are automatically created and saved on the persistent storage device of specific platforms.
If the device has issues, the contents of the trace files are useful to troubleshoot the issue. The trace file outputs provide logs that are used to locate and solve the issue, and helps to get a detailed view of system actions and operations.
To view the recent trace information for a specific process, use the show logging [process | Profile | process-helper] command. The process keyword uses the first few letters of the name of a process and provides trace logs of the process that starts or matches with the entered string, the profile keyword lists the predefined set of process names, and the profile-helper keyword displays the available names.
To change the verbosity in a trace message output, you can adjust the trace level of processes using the set platform software trace level command. You can choose the all keyword to adjust the trace level for all the processes listed or you can select a specific process. When you select a specific process, there's also the option to adjust the trace level for a specific module, or you can use the all-modules keyword to adjust all the modules of processes.
Introduction to Binary Tracing
Binary tracing is helpful in gathering trace information with a minimal impact on performance. In binary tracing, the tracing is always on for the system components and a basic level of trace is collected on all the time; thus, the data necessary for troubleshooting a problem has been captured the first time it occurs.
Introduction to Conditional Debugging and Radioactive Tracing
The Conditional Debugging feature allows you to enable debugging and logging for specific features based on the set of conditions you define. This feature is useful in systems where many features are supported.
The Conditional debug allows granular debugging in a network that is operating at a large scale with a large number of features. It allows you to observe detailed debugs for granular instances within the system. This type of debugging is useful when we need to debug only a particular session among thousands of sessions. It's also possible to specify multiple conditions.
A condition refers to a feature or identity, where an identity could be an interface, IP Address, or a MAC address and so on.
Conditional debugging is in contrast to the general debug command, that produces its output without discriminating on the feature objects that are being processed. General debug command consumes numerous system resources and impacts the system performance.
Radioactive tracing provides the ability to form a chain of execution for operations of interest across the system, at an increased verbosity level. This provides a way to print conditionally debug information (up to DEBUG Level or a specified level) across threads, processes, and function calls.
Radioactive Tracing when coupled with Conditional Debugging, provides a single debug command to debug all execution contexts related to the condition. You can execute this command without being aware of the various control flow processes of the feature within the box and without having to issue debugs at these processes individually.
Tracing Levels
Trace level determines the types of traces outputted. Each trace message is assigned a trace level. If the trace level of a process or its module it set as greater than or equal to the level as the trace message, the trace message is displayed otherwise, it's skipped. For example, the default trace level is Notice level, so all traces with the Notice level and below the notice level are included while the traces above the Notice level are excluded.
The following table shows the available tracing levels, and provides descriptions of the message that are displayed with each tracing level. The tracing levels listed in the table are from the lowest to the highest order. The default trace level is Notice.
Tracing Level |
Description |
---|---|
Fatal |
The message stating the process is aborted. |
Emergency |
The message is regarding an issue that makes the system unusable. |
Alert |
The message indicating that an action must be taken immediately. |
Critical |
The message is regarding a critical event causing loss of important functions. |
Error |
The message is regarding a system error. |
Warning |
The message is regarding a system warning. |
Notice |
The message is regarding a significant event. |
Informational |
The message is useful for informational purposes only. |
Debug |
The message provides debug-level output. |
Verbose |
All possible trace messages are sent. |
Noise |
All possible trace messages for the module are logged. The noise level is always equal to the highest possible tracing level. Even if a future enhancement to tracing introduces a higher tracing level, the noise level will become equal to the level of that new enhancement. |