Goal: seeing if I can develop a connector for ETABS
Background for my question
Was testing my app when I noticed a few errors where one was saying logging has encountered an error. I resolved the error, but realized Speckle uses some kinda telemetry for logging error, etc. I’m guessing the Speckle team doesn’t need to get notified when I’m messing around in dev mode
Thanks for asking, this is something that is handled by Core, so you don’t need to worry about it.
To give you some more context, we use 2 services:
sentry, which provides us error logging. We want to catch exceptions thrown in our code, so we can fix it.
matomo, which gives us basic telemetry. When and what functionalities are used so we can improve our products.
This is how you should use them in your code when writing a new connector (I’ll make sure to add this to our tutorial).
Initialization
Both services should be initialized when you connector is first launched, you do so by calling Setup.Init(), with the name of your connector as input, example.
Error Logging
Simply use our SpeckleException, it’ll take care of everything for you, example. Make sure to set the right Sentry.Level. The error is logged in the constructor of the SpeckleException, so you don’t need to always throw it. Just log errors that can be useful.
Telemetry
Use the Tracker.TrackPageView method when some of these actions are performed, example.
Hope it all makes sense, any other questions just ask!
PS
I checked our code and error logging is automatically disabled in Debug mode, Telemetry is not. I’ll make an issue so we can fix it.