Closed taylorlapeyre closed 3 years ago
There has to be an active transaction in order for sentry-trace
header to be sent. You can try to call Sentry.getCurrentHub().getScope().getTransaction()
just before you send an API request to see whether there's something to be even attached.
Hi Taylor, have you managed to find a solution?
Hey @bzeskis, yes this can be closed!
@taylorlapeyre do you mind sharing you solution? Currently struggling with same :) Pageload metrics are being sent, but later on XHR/Fetch requests are not.
I'm having the same issue. I cannot find documentation that explains how I can configure sentry to keep tracing after the initial pageload.
Sentry.init({
Vue,
dsn: config.api.sentry.dsn,
integrations: [
new Integrations.BrowserTracing({
routingInstrumentation: Sentry.vueRouterInstrumentation(router),
tracingOrigins: [config.hosts.com, config.services.api.host],
}),
],
tracesSampleRate: 1.0,
})
When I look at the options in BrowserTracing, it implies that it will generate a new transaction automatically on each URL change, and that each transaction lasts at most 1 second.
However, only the very first API request will get a sentry-trace
, and everything after doesn't.
Update: I found out the issue in my case is not 'first' vs 'subsequent' requests. My first request was done with window.fetch
, whereas my follow up requests were done with an API client generated by swagger-codegen (typescript-fetch
). Once I change my first request to use the API client as well, no traces are added even for the first request.
In short, there's an issue with tracing using typescript-fetch
api clients with sentry, I may report an issue if I cannot solve it.
Potentially related issue: https://github.com/getsentry/sentry-javascript/issues/4439
Example event: https://sentry.io/organizations/project-wren/issues/2399314422/events/85d536082ab64b56bf22835c708d986f/
Package + Version
@sentry/browser
: "^1.4.9",@sentry/node
: "^6.3.5"@sentry/tracing
: ""^6.3.5""raven-js
raven-node
(raven for node)Version:
Description
It seems like the
sentry-trace
header is not being sent in fetch requests that we send from our app's frontend. We construct our requests this way:We aren't seeing any distributed tracing for our backend service for requests being initiated this way, and the sentry header is not present:
Our Sentry init: