Skip to content
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

Sentry fails to track Vue components and produces "deadline_exceeded" transactions #5693

Closed
3 tasks done
filips123 opened this issue Sep 4, 2022 · 11 comments · Fixed by #5918
Closed
3 tasks done

Comments

@filips123
Copy link

filips123 commented Sep 4, 2022

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which package are you using?

@sentry/vue

SDK Version

7.12.1

Framework Version

Vue 2.7.10

Link to Sentry event

No response

Steps to Reproduce

The repository of a website where this happens is https://github.com/filips123/GimVicUrnik, and the website code is in the website directory. The commit which updated Sentry SDK to 7.8.1 is filips123/GimVicUrnik@e9c16ea. I use a custom vueRouterInstrumentation function so transactions are named in a different style than default instrumentation, but the same problem happens even on default instrumentation.

All screenshots and transactions provided below are from the development Vue build, but the problem also happens in a production version.

Instructions for running the projects are in the repo but may be a bit complicated. I can try to create a new repository with easier reproduction steps if needed.

Expected Result

  1. Sentry correctly tracks Vue components and ends the transaction shortly after the site finished loading.

    Screenshot of a working transaction (Sentry 6.17.9):
    screenshot

    Link to the transaction: https://sentry.io/organizations/filips/performance/test-vue:a993ea1348174e78aec08500c6fcc77c


  1. Sentry correctly tracks components and ends the transaction even on transactions with navigations/redirects.

    Screenshot of a working transaction (Sentry 6.3.5):
    screenshot

    Link to the transaction: https://sentry.io/organizations/filips/performance/test-vue:672077d580f0495f9030717680401e3e

Actual Result

  1. Sentry only tracks "ui.vue - Application Renderer" (but not actual components) which never ends, causing the transaction to be canceled after ~15s with the status "deadline_exceeded".

    This started to happen after the update to Sentry SDK 7.0.0.

    Screenshot of an incorrect transaction (Sentry 7.12.1):
    screenshot

    Link to the transaction: https://sentry.io/organizations/filips/performance/test-vue:4063bce05108426c8e25531c702c2953


  1. On transactions with redirection, some component updates are taking forever, causing the transaction to be canceled with "deadline_exceeded".

    This started to happen even before Sentry SDK 7.0.0, but I'm not sure when. It was fine in 6.3.5.

    Screenshot of an incorrect transaction (Sentry 6.17.9):
    screenshot
    screenshot

    Link to the transaction: https://sentry.io/organizations/filips/performance/test-vue:9d82327c31e2428c8a4c4d2076e6ee4f

     

    On newer Sentry SDK versions, the problem is a bit different. Sentry tracks nothing except "pageload" and "ui.vue", but still cancels transaction with "deadline_exceeded".

    Screenshot of an incorrect transaction (Sentry 7.12.1):
    screenshot

    Link to the transaction: https://sentry.io/organizations/filips/performance/test-vue:0fe82c5e71654a679dcb2380f74bee53

@lforst
Copy link
Member

lforst commented Sep 5, 2022

Hi @filips123, thanks for reporting these issues, and thank you for providing such detailed explanations. We will take a look!

@akasummer
Copy link

Hi, I am experiencing exactly the same issue:

Screenshot 2022-10-03 at 14 29 45

@lforst
Copy link
Member

lforst commented Oct 5, 2022

To help me debug this, what have you set the trackComponents and hooks options to in createTracingMixins()?

@filips123
Copy link
Author

I've set trackComponents to true and haven't set hooks (source).

@akasummer
Copy link

I have trackComponents: true and hooks: ['activate', 'mount', 'update']

@akasummer
Copy link

akasummer commented Oct 5, 2022

Also, before 5th of September it was showing correct performance values with the same sentry config. On 5th of September we updated dependencies and did a release and since then statistics are broken.

@lforst
Copy link
Member

lforst commented Oct 14, 2022

Hi everybody, we attempted to fix this in #5918 which got released in version 7.15.0 of the SDK. Would you mind trying out the new version and report back whether that resolves the issue? Thank you!

@filips123
Copy link
Author

filips123 commented Oct 14, 2022

Unfortunately, it doesn't fix the issue for me (also, I now updated Vue to 2.7.13 and Vuetify to 2.6.11).

Example transaction:

screenshot

@lforst
Copy link
Member

lforst commented Oct 19, 2022

Hi again, we released version 7.16.0 which may contain a fix (related #5917).

May I ask you again to try it out? Thank you!

@filips123
Copy link
Author

It seems it's fixed now.

slika

@lforst
Copy link
Member

lforst commented Oct 19, 2022

@filips123 Amazing. Thanks for checking!

I will close this issue. Feel free to ping me here if any new issues come up!

@lforst lforst closed this as completed Oct 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants