OK so I figured out the solution to this. Honestly I think this is something Sentry (raven-js) could do by default:
Raven.config('xxx', { dataCallback: (data) => {
if (!data.breadcrumbs.values) {
return data
}
const cleanBreadcrumbs = data.breadcrumbs.values.sort((prev, next) => {
if (prev.timestamp > next.timestamp) {
return 1
}
if (prev.timestamp < next.timestamp) {
return -1
}
return 0
})
data.breadcrumbs.values = cleanBreadcrumbs
return data
}
})
With this I basically sort all the breadcrumbs being sent to the server by timestamp attribute.