Question on Internal Metric - Previous Sequential Successful Polls
I am trying to use the internal metric "Previous Sequential Successful Polls" (PSSP) on one of my data sources but am unsure of a value I'm currently seeing. Any help to provide info around this is appreciated. Maybe I'm overlooking something obvious.
How I Understand This To Work:
- This metric doesn't seem to actually count the previous successful poll, but the number of successful polls since the last aborted poll, with a max value of 10
- A value of -1 indicates that the data source has not had an aborted poll since it's last restart
What I'm seeing in reality:
- This was working how I understood it to work until this morning
- I started to get all zeros for the value and not sure why
Below is an image of the runtime status of the data source that PSSP is using to get its value:
You can see that I did have 2 aborted polls in 2 consecutive seconds (The DS polls every second)
This image is a chart of the PSSP data point showing the values over the past 24 hours. The interal data source polls every 5 seconds and this data point logs the average every minute.
Yesterday it was 10 (assume this just says the previous 10 polls were successful) until we did a reboot. After that it was -1 (assume since no other polls aborted)
Then around 11:30, when we got 2 consecutive polls being aborted, the value went to 0 and stayed there. Shouldn't the value have incrementally gone up and back to 10 since these are the only two aborted polls for the data source?
Can the logic behind the values derived for the PSSP be explained in more detail? I looked through documentation, but couldn't find anything. We're using v3.7.7.
I did some experimenting and am getting the same results. I am not quite sure how those points work internally. Maybe we can achieve the same goal another way. What data sources are you using and what exactly are you trying to achieve?
Thanks for checking and offering to help. I'm trying to put a simple method to check if comms to the data source are acceptable (Would be modbus in prod, but for test, just using a scripting source to get the logic correct). My first post to the forum on this topic was around the Poll Success Percentage to get clarity how it worked. (https://forum.infiniteautomation.com/topic/4925/poll-success-percentage-over-what-timeframe)
Since that is from the data source start time, the % wouldn't be affected enough to show if a data source is having comm issues over the previous few minutes.
I was hoping the PSSP would be an easier method than creating scripts to hit the API to get the runtime status. I looked into the scripting/API route a bit but was not sure how I could hit the API from a scripting data source.
To try and avoid that I set up a meta data point to say that if the PSSP value was -1 or > 7.5 then comms are good. If > 5.5 then OK, and if <= 5.5 we had some bad comms.
I then created an event detector to notify us if the comms were bad for more than 2 minutes.
I may be going about this the wrong way, so if you have suggestions I'm all ears (or eyes in this case).
Modbus has slave monitor points. you will need to check the create slave monitor points box and save
This will create boolean points for each slave ID and will automatically set the point to false if there is no response from the slave ID, and back to true when the slave responds.
Awesome, thank you! I'll try this out.