This is a migrated thread and some comments may be shown as answers.

Are there any other blocking operations for IAnalyticsMonitor except Stop()?

5 Answers 18 Views
Monitor integration
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Guest
Top achievements
Rank 1
Guest asked on 05 Oct 2011, 06:40 AM
I find very little information which operations takes time etc, or waits for internet.

5 Answers, 1 is accepted

Sort by
0
Guest
Top achievements
Rank 1
answered on 05 Oct 2011, 06:40 AM
Hi Mattias We have some documentation alongside our API (see http://api.eqatec.com/analytics/dotnet or http://api.eqatec.com/analytics/dotnet/html/efec4d2e-5faa-40ca-9f25-88297614b0a4.htm) but you are right that it is not front and center on our website. In general we have no blocking calls in our monitor libraries. When called we take the data that is passed in (e.g. an Exception in the TrackException method), extracts it into our internal statistics structures and return to the caller. Sending data to our servers are performed asynchronously on background threads and failures/delays in sending data does not affect you application. That was a relatively short answer. If you have further questions or need more in-depth information I'll be happy to elaborate here or offline. Best regards Soren EQATEC Team
0
Guest
Top achievements
Rank 1
answered on 05 Oct 2011, 06:40 AM
Hi Mattias Forgot to mention that the Stop method is indeed blocking for up to 2 seconds (as you mention in the question). This has been done intentionally to allow for data to be delivered to the server before the process shuts down (and background threads are aborted). However, we are looking for feedback on that particular aspect of the monitor and if you find you have issues with the Stop method blocking we will be very happy to hear from you Best regards Soren EQATEC Team
0
Guest
Top achievements
Rank 1
answered on 05 Oct 2011, 06:40 AM
Hi S?ren, I would actually prefer that Stop was blocking would be optional. Exactly how does Lookup and VersionAvailable work? Will these only work if the monitor been running for a while, or are these values cached locally. Is Lookup blocking? How long does it take from startup until the VersionAvailable-event is raised? The question is if I can look at the values directly at startup? If I do, do I get the values from yesterday, or whenever the user executed the application last time and the monitor were active. BR, Mattias
0
Guest
Top achievements
Rank 1
answered on 05 Oct 2011, 06:40 AM
Hi Mattias Thanks for getting back to us. We have been considering exposing an overload to the Stop call that allows the caller to set a timeout (which could be zero) so with your feedback confirming this need, I'll be trying to get some rework into our priorities as soon as possible. The Lookup and VersionAvailable both work by the monitor contacting our servers and querying the configuration you have set up for the product. This setup includes a list of publicly available versions as well as a list of "lookup-key" which (when matched) will return a predefined value to the calling monitor. If the servers cannot be reached, neither the VersionAvailable nor the Lookup can return anything meaningful. In this case the VersionAvailable event will not be raised at all and the Lookup callback will be invoked with information that the server was not reached (see the http://api.eqatec.com/analytics/dotnet/html/T_EQATEC_Analytics_Monitor_LookupReply.htm struct). The Lookup call itself is not blocking, since it merely registered the lookup to be included the next time the server is contacted so it really behaves as the other calls on the monitor. The VersionAvailable event is raised after contacting the server. The monitor will attempt to contact the server shortly after the call to Start so you should expect the event to be raised shortly after the Start method has been called. We have no caching of neither the lookup replies or the version avaialble events internally in our monitor. If you need such functionality, we recommend building a simple wrapper around our monitor which utilizes such caching. Let me know if we can do anything to improve on this scenario from our side it is not something we havbe been focussing on but we are always actively looking for feedback. Hope this answers your questions. Feel free to send more questions our way when you run into them. Best regards S?ren EQATEC Team
0
Guest
Top achievements
Rank 1
answered on 05 Oct 2011, 06:40 AM
Thank you S?ren for the good answers. You should add the texts you written to the documentation or faq. BR, Mattias
Tags
Monitor integration
Asked by
Guest
Top achievements
Rank 1
Answers by
Guest
Top achievements
Rank 1
Share this question
or