-
Notifications
You must be signed in to change notification settings - Fork 369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: telemetry api #4968
feat: telemetry api #4968
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'd like to see the server API support event batching instead of processing singular events since the payloads are small.
The client should then implement a pooling mechanism that processes the events in batches of 10 or 20. This will allow the client-side telemetry to scale better.
Some things to consider with this approach:
- Set an interval to process all events in queue (like you have now, but call
flush
every n seconds). - Be sure to drain the queue when navigating away from the page.
Also, I might have missed this, but is logPageView
being called anywhere?
@a-b-r-o-w-n No, |
break; | ||
} | ||
} catch (error) { | ||
// swallow the exception on a failed attempt to collect usage data |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider adding in retry logic here and in the client.
* feat: telemetry api * lint * persist machine id * move telemetry settings to user settings * reverted changes to en-US * pool telemetry events * changed batch size * fix uuid * add telemetry classes * requested changes * shorted interval * fix integration test * change parameter type Co-authored-by: Andy Brown <asbrown002@gmail.com>
Description
Adds support for telemetry api in the client and the server. Also adds the hashed mac address to the electron context.
Task Item
Closes #4765