Skip to content
This repository was archived by the owner on Apr 14, 2022. It is now read-only.

Send telemetry on unhandled exceptions inside the AnalysisQueue #460

Merged

Conversation

jakebailey
Copy link
Member

@jakebailey jakebailey commented Dec 5, 2018

Fixes #445.

I've also reworked the telemetry for exception-type events to a common place. If the exception is an AggregateException, then the first inner exception is the "main" exception reported. The outer exception is also included, but in different fields. This makes it easier to group events by where the first exception thrown actually occurs rather than special casing it in some query later.

AggregateExceptions can of course contain more than one inner exception, but because the telemetry properties must be strings, we can't really represent them without encoding something to JSON first and then re-parsing it later. I'd rather not bother until we have a good reason to send a big blob in the telemetry events.

One thing I want feedback on: Is analyzer.unhandledException alright for the event name?

@jakebailey
Copy link
Member Author

I've changed the event name to analysis_queue.unhandled_exception to better match the look/feel of the VSC exception's events.

@jakebailey jakebailey merged commit 865933c into microsoft:master Dec 7, 2018
@jakebailey jakebailey deleted the telemetry-unhandled-exception branch February 14, 2019 20:21
jakebailey added a commit to jakebailey/python-language-server that referenced this pull request Nov 1, 2019
…osoft#460)

* Telemetrize unhandled AnalysisQueue exceptions

* make the main exception the inner one instead

* don't bother sending isTerminating, we always send false

* rename function, event name
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants