Обычно у вас есть параллельные запросы в Node.js. И вы, вероятно, хотите дополнить возможные ошибки данными, специфичными для каждого запроса. Эти специфичные для запроса данные могут быть собраны в различных частях приложения через
Sentry.configureScope(scope => scope.setSomeUsefulData(...))
Sentry.addBreadcrumb({ ... })
Позже где-нибудь вглубокий вложенный асинхронный вызов функции. Выдается ошибка. Как Sentry узнает, какие из ранее собранных данных действительно имеют отношение к этой конкретной ошибке, учитывая, что запросы обрабатываются одновременно, и в момент возникновения ошибки нет доступа к некоторой «области» часового механизма, чтобы получить данные, относящиеся к этому конкретному запросу, что привело кв сообщении об ошибке.
Или я должен пропустить область наблюдения через все мои вызовы функций? Например,
server.on('request', (requestContext) => {
// Create new Sentry scope
Sentry.configureScope(sentryScope => {
Products.getProductById(id, sentryScope); // And pass it on
});
});
// all the way down until...
function parseNumber(input, sentryScope) {
// ...
}
Или часовой использует какую-то магию для сопоставления определенных данных с соответствующими событиями? Или я что-то упустил?