You don’t get those other diagnostic metrics because they’re not there. Edge’s “store and forward” uses a different mechanism than standard S+F; it’s “sinking” data directly into a local SQLite file, rather than the multi-stage memory buffer → HSQL disk cache → actual DB pipeline that’s used for “standard” S+F.
Yea, I knew it is different by design…but the web page does show a status of number of records pending. It would be great to get that info as a tag or metric that is available at the central server so we can alarm and have someone look into why the queue is so high. Technically, if the gateway connection is there, then it should be pumping records…but sometimes a few sites take a VERY long time to reduce this number down despite having good network speeds or signal strength.
Ended up creating some tags on Edge to provide the pending records. This means that the data is there...just not provided as System tags in Edge. In fact, the documentation says that if isDataStore() returns true, then you can get statistics from getDataStoreStatus()...while true, that doesn't mean you can't get at least the other integer items like getDroppedDataCount, getMaxRecords, getPendingDataCount, and getQuarantinedDataCount...which are still useful.
from com.inductiveautomation.ignition.gateway import IgnitionGateway
from java.lang import Long
context = IgnitionGateway.get()
si = context.historyManager.getStatusInfo("default")
pdc = 0 #pending data count
mr = 0 #max records
for dsi in si:
dkey = dsi.getDescriptionKey() #Memory Buffer or Local Storage
isStore = dsi.isDataStore() #in Edge, Local Storage returns False, but can still call getDataStoreStatus
dss = dsi.getDataStoreStatus()
pdc = dss.getPendingDataCount()
mr = dss.getMaxRecords()
system.tag.writeBlocking(["[default]" + dkey+ "/IsStore","[default]" + dkey + "/PendingRecords","[default]" + dkey + "/MaxRecords"],[isStore,pdc,mr])
#end for