Speckle Telemetry: Do I need to turn it off during development? If yes, how?

Hello everyone,

Question

Do I need to turn off Speckle telemetry/logging while developing a connector? If yes, how?

Details

  • 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

1 Like

Hey @smz!

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.

2 Likes