Attribute Events gets missed

Reynald
Can you confirm all the attributes you are subscribing to are spectrum of String of length 6?
Yes for all attributes, spectrum is of length 6.


Reynald
How big are the strings contained in the spectrum?
Four of these strings are of average 10 characters except two. Remaining two strings are of varying length from 40 to 140 characters.
Regards,
TCS_GMRT
Reynald
t depends on your use case. You can use the same callback or a different callback. Both are correct.
In some cases, it is more convenient to have a separate callback and in some cases, a generic callback is better.
It all depends on what you need to do.
Okay. Actually I thought as same callback might be being called simultaneously, so we are missing issue??
I will try to separate the callback and let you know the results.
Regards,
TCS_GMRT
TCS_GMRT
Okay. Actually I thought as same callback might be being called simultaneously, so we are missing issue??
I will try to separate the callback and let you know the results.
I mean events in above post
so we are missing *events??
Regards,
TCS_GMRT
TCS_GMRT
Reynald
t depends on your use case. You can use the same callback or a different callback. Both are correct.
In some cases, it is more convenient to have a separate callback and in some cases, a generic callback is better.
It all depends on what you need to do.
Okay. Actually I thought as same callback might be being called simultaneously, so we are missing issue??
I will try to separate the callback and let you know the results.

Well, this sohould not be the case. The event subsystem is supposed to implement an ingress queue, thus keeping all the received events, but there is a threshold (high watermark) upon which the 0MQ starts dropping the events (default value is 100). This can be changed to a suitable value.
Normally, when ZeroMQ is starting to drop events, Api_MissedEvents error events should be seen on the client side.
Is your callback written in such a way that it displays/reports the error messages when an error event is received?
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Reynald
Is your callback written in such a way that it displays/reports the error messages when an error event is received?
We are getting some event errors in between, but I am not sure about the exact errors.
I will check and let you know.
Regards,
TCS_GMRT
Reynald
Api_MissedEvents error events should be seen on the client side.

Could you elaborate on how to catch these? I'm not finding anything in the C++ documentatino for Api_MissedEvents.
Hi Thomas,

The following piece of code in a C++ callback would display these errors:

void MyCallBack::push_event(Tango::EventData *ev)
{
	if (ev->err == true)
	{
		Tango::Except::print_error_stack(ev->errors);
	}
}

Error events with Api_MissedEvents error are generated on the client side when the client receives an event having a counter which is bigger than the "previous received event counter + 1".

Kind regards,
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Edited 6 years ago
Thanks Reynald, very useful!
Some artifacts encountered during debugging / testing.

Additionally, int the image "Listeners for an attribute", the attribute "UTC" is actually subscribed by only one client, however, the stats show that there are 9. Any thoughts will help.
Regards,
TCS_GMRT
 
Register or login to create to post a reply.