When data is flushed and published from a History Store, the com.cirruslink.mqtt.edge.history.HistoryPublisher logger will generate messages to INFO level that report how many metrics have been published from the Edge device


If MQTT Transmission is configured to Flush In-Order, then all the historic data will be flushed before the publishing of live data resumes otherwise the historic data messages will be intermingled with the live DDATA messages.

The DDATA messages containing the historic data can be identified as the property of isHistorical will be included in the messages set to True.

Using a simple MQTT Client

One easy way to do this is to use a simple MQTT client such as MQTT.fx and subscribe to the Sparkplug Edge node publishing the data.


{"timestamp":1722278983086,"metrics":[{"name":"OPC Tag","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 1","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 2","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 3","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 4","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 5","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 6","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 7","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 8","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 9","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 10","timestamp":1722278926816,"dataType":"Int32","isHistorical":true,"value":83},{"name":"Reference Tag 985","timestamp":1722278944845,"dataType":"Int32","isHistorical":true,"value":92},{"name":"Reference Tag 986","timestamp":1722278944845,"dataType":"Int32","isHistorical":true,"value":92},{"name":"Reference Tag 987","timestamp":1722278944845,"dataType":"Int32","isHistorical":true,"value":92},{"name":"Reference Tag 988","timestamp":1722278944845,"dataType":"Int32","isHistorical":true,"value":92},{"name":"Reference Tag 989","timestamp":1722278944845,"dataType":"Int32","isHistorical":true,"value":92},{"name":"Reference Tag 990","timestamp":1722278944845,"dataType":"Int32","isHistorical":true,"value":92}],"seq":3}

Using a file editor such as Notepad++, you can easily examine the message text to query the data content.

Using MQTT Engine

Another option is to use MQTT Engine as your MQTT client to subscribe to the Sparkplug Edge node publishing the data.

Navigate to the Ignition Diagnostic > Logs and set the com.cirruslink.mqtt.engine.gateway.sparkplug.SparkplugPayloadHandler logger to TRACE.

Incoming Sparkplug messages will be logged showing the content of the payload



There are a couple of ways to view these generated logs:

  • Export the logs using the Download Logs icon and use a database browser such as DB Browser (SQLite) to easily examine the downloaded Ignition logs .idb file and query the message contents
  • Export the Ignition Wrapper Logs and use a file editor such as Notepad++ to easily examine the message text to query the data content.
  • No labels