-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Duplication of PV writes seen by camonitor #803
Comments
Just to confirm, you commented out the other two stats and the behavior went away? My concern is that because you are setting the value the alarm state I wonder if we are not correctly de-bouncing something and the 2 extra messages are from that (not the other two PVs)? |
Yes, if you comment out writes one by one, you get successively less
duplication. I copied most of this from the mirror ioc example so I haven't
thought about the alarm states at all. Would be good to try to cut that out
and see if it goes away.
I don't know if I mentioned that the duplication is visible for every PV
you monitor, not just the first one.
…On Sun, Nov 6, 2022, 00:42 Thomas A Caswell ***@***.***> wrote:
Just to confirm, you commented out the other two stats and the behavior
went away?
My concern is that because you are setting the value the alarm state I
wonder if we are not correctly de-bouncing something and the 2 extra
messages are from that (not the other two PVs)?
—
Reply to this email directly, view it on GitHub
<#803 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKY73NUXETQMPNWRPKVSLLWG4ZMVANCNFSM6AAAAAARXTTTZI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Try passing a unique |
or filtering your monitor to value only (no alarm updates). |
I think it's almost certainly as @tacaswell indicates - the alarm group is causing the other two to send updates. caproto's handling of alarm updates could definitely be improved here. Something like only causing the linked alarm group to publish if the status/severity differ from the current setting: Lines 708 to 709 in 57e0c56
|
Indeed, taking out the |
Short Description
I am building a caproto IOC that monitors an external PV, collects its values, and then outputs statistics, every 10 seconds. I have three pvproperty attributes that I am trying to write to --
mean
,std
, andnpts
.When I do
camonitor myioc:mean
I see that the value is re-broadcast whenever any pvproperty in the caproto IOC is written to. In particular, it is tripled, as it is broadcast wheneverstd
andnpts
are written, as well as whenmean
is written.You can see that it gets tripled.
A complete version of this IOC is available https://gist.github.com/cjtitus/83235e4aa3441c7d417955ace1f37766
It's got my beamline's PV hardcoded into the
__main__
method, but it should be trivial to run it to point at any PV you have access to in order to test this.I am on caproto 0.8.1, but should be easy enough for someone to check if it happens on v1.0.0
The text was updated successfully, but these errors were encountered: