-
Notifications
You must be signed in to change notification settings - Fork 287
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
Support for providing ExceptionTelemetry without actual/original exception object? #498
Comments
Thanks for your proposal. We will likely implement it in the version after the next |
That is good to hear. Right now we can put StackTrace, Message, ClassName .. in custom dimensions/Properties within the ExceptionTelemetry but it would preferable to track them the same way as service-side exceptions. |
I have a similar issue The need: The attempt:
Once again, no attribute is dropped from the exception. Strange result: |
Any updates on this? |
I am facing similar problem that @dnelly is having. Basically I want to record an app exception into AI, but the exception might have PII information that I don't want to send. The approach I am taking currently is extract out interesting non-PII information from the exception objects (this will not be as simple as it sounds), create a new |
@kunalspathak we are open for contributions. Otherwise I cannot give an ETA for the fix. The only workaround for now is to convert |
Thanks @SergeyKanzhelev. I spent some time understanding the code base and it looks like there is already a class ExceptionDetails that can solve the purpose. It gets populated from the exception object and maintains the exception hierarchy. The only problem is this class is not public. I was wondering if we can have a way to let user create try {
// user code
} catch (Exception ex) {
var telemetryEx = new ExceptionTelemetry(ex);
var listOfDetails = telemetryEx.ExceptionDetails;
stripPIIData(listOfDetails);
}
void stripPIIData(IList<ExceptionDetails> details) {
foreach(var detail in details) {
// update message and typeName
}
} |
Ideally there should be separate API level classes with the fields similar to what we have in But yes, that the right approach in general |
@tokaplan and me discussed the design for this and here is our proposal.
Use scenarios it will address –
var te = new TelemetryException(myExceptionObject);
IList<NewExceptionDetails> exceptionDetails = te.NewExceptionDetails;
// Update exceptionDetails to remove PII data
var exceptionData = new NewExceptionData();
// populate with interesting data
var te = new TelemetryException(exceptionData); @SergeyKanzhelev - Feel free to suggest names for |
Version and some minor changes
This issue is stale because it has been open 300 days with no activity. Remove stale label or comment or this will be closed in 7 days. |
This is already addressed in #865. |
Hello, I was wondering if AI could provide support for tracking exceptions (creating an exception telemetry/exception details) without having the actual exception object instance. When using AI in different layers of an app (asp.net (core), JS ...) and adding a small IoT component it would be nice to unify the logs in a central system (AI).
This could work by serializing traces and exceptions, sending them to a blob/webapp/function/... and moving them to AI from there.
As ExceptionTelemetry requires an exception one could implement an exception type that just provides the serialized message and stacktrace but that loses the exception type.
Having a proper API for this use case (without exposing ExceptionDetails?) could be interesting if other people face this use-case as well.
The text was updated successfully, but these errors were encountered: