Skip to content

Overview

The Diagnostics system allows users of Spoke Zone to gather detailed diagnostics information from devices in the field.

Device Diagnostics Page

The device diagnostics page includes tools for inspecting diagnostics information and configuring diagnostics behavior for a specific device.

For more information, see:

Diagnostics Data Files

The following data file types are considered to be Diagnostics Data Files

  • debug
  • dmesg
  • journal

Diagnostic Settings

There are two main settings that can be used to configure a device’s diagnostics.

Changes to these settings are configured specific to each device. The changes are applied for a set amount of time, with a maximum of 2 weeks. After the changes have expired, the diagnostics level will revert to normal and the broadcast interval will revert to being disabled.

Level

The type of diagnostics information that should be uploaded by a device can be configured using the level setting.

  • normal
  • debug
  • debug-only
    • The same as debug, but with the added stipulation that the device should only use MQTT for broadcasting diagnostics information.
      • The device should not send any other MQTT messages during this time.
    • This level will usually be used in conjunction with a low Broadcast Interval.
    • In general, this level should only be used in extreme cases where all other diagnostics tools are not providing the necessary information.

Broadcast Interval

Devices with support for the diagnostics system will periodically broadcast diagnostics information. By default, this broadcast is disabled to save data.

The broadcast interval setting is used to configure the interval of time between these broadcasts. For example, a value of 1 indicates that the device should broadcast every second, and a value of 3600 indicates that the device should broadcast once an hour.

Debug Level

The amount of debug information included in debug data files can be configured using the debug_level setting.

The default debug level is info.

The following values are supported:

  • debug
  • info
  • warn
  • error
  • fatal

The debug level acts as a filter of debug information. For example, if the debug level is set to warn, only warn, error, and fatal debug messages should be included in the debug data file.

Here are the equivalent debug levels in other systems:

Spoke Zone LevelQt EquivalentJS Equivalent
debugqDebugconsole.debug (and console.log)
infoqInfoconsole.info
warnqWarningconsole.warn
errorqCriticalconsole.error
fatalqFatalN/A