Search Unity

Exceptions are being grouped even when message is different

Discussion in 'Unity Cloud Diagnostics' started by StephenHodgson-Valorem, Oct 20, 2017.

  1. StephenHodgson-Valorem

    StephenHodgson-Valorem

    Joined:
    Mar 8, 2017
    Posts:
    148
    I've found that even when the message is different, the exceptions are grouped together into the same report.

    Is there any way to separate them by message even when the stack trace is the same?
     
  2. thomasn_unity

    thomasn_unity

    Unity Technologies

    Joined:
    Jun 21, 2016
    Posts:
    60
    This is probably related to a change that recently went live to improve the grouping of reports. We've changed the grouping because we found that a number of people were doing things like putting a timestamp in the exception message, which results in millions of one-off reports with the old grouping. We're now grouping on exception type + top stack frame where possible, which eliminates this problem. However, the more aggressive grouping does lead to cases where things may be grouped despite being unrelated.

    The new dashboard we're working on is going to let you drill into the individual reports, but unfortunately that's not ready yet. If you have a specific issue that you'd like to see all the data for, please email perfsupport@unity3d.com and I can send you a batch of recent raw events for that issue.

    Also, I'd like to learn more about your use case so that we can continue to refine the grouping.
     
  3. StephenHodgson-Valorem

    StephenHodgson-Valorem

    Joined:
    Mar 8, 2017
    Posts:
    148
    I just want to note, that I've got two projects where the same code executes and I get completely different results in grouping. (unless the change was very recent in the last 48 hours).

    Why not just let users put in their own regex options for grouping?

    In either case, our implementation aggregates all the errors we have (coming from both native and managed code) and funnels them through a centralized system, then throws exceptions in the same class, on the same line for each error.
     
    Last edited: Oct 20, 2017
  4. thomasn_unity

    thomasn_unity

    Unity Technologies

    Joined:
    Jun 21, 2016
    Posts:
    60
    This change was very recent; it went live on Thursday October 19th. The change was intended to improve the experience for many users that have been having issues with poorly grouped reports. However it has clearly had the opposite effect for you and I'm sorry we got it wrong in your case.

    I think the quickest fix would be for us to hotfix it so that your project(s) use the old grouping method for the time being. However, that's certainly a temporary fix. If you're interested in that, please email perfsupport@unity3d.com with your UPID(s) and we should be able to tackle that early next week.

    I also like your idea of allowing users to specify a custom regex for grouping the exception message. I'll see if we can work that into our dashboard redesign that's underway. That will take some time though.

    Here's another idea that might work for you: We could add a C# API to allow you to send reports directly to the Performance Reporting service (instead of re-throwing the exceptions), and have this API allow you to specify an optional grouping ID. That would give you full control of the grouping. This option would take the longest time of all, but is the most powerful. It would likely require a new Unity version for an API change though. Still, I'd like to know what you think of that.

    I'm really sorry this change broke things for you. We want to get it right and will keep working on it until we do.
     
  5. StephenHodgson-Valorem

    StephenHodgson-Valorem

    Joined:
    Mar 8, 2017
    Posts:
    148
    I'll be sure to forward the UPID for our project that's already live.

    Definitely like this idea, and would like to even see this embedded directly into the UnityEngine.Debug and logging classes.