Do I need to turn off Speckle telemetry/logging while developing a connector? If yes, how?
- Language: C#
- Packages: Speckle.DesktopUI (2.1.26) , Speckle.Objects (2.1.26)
- 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).
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.
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.
Tracker.TrackPageView method when some of these actions are performed, example.
Hope it all makes sense, any other questions just ask!
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.