Исходные карты / артефакты Sentry не работают

Я создаю, минимизирую и генерирую исходные карты моего приложения с помощью веб-пакета. Артефакты отправляются на sentry.io с помощью webpack-sentry-plugin.

Код JavaScript запускается из localhost:8080/js/app.js, Это содержит //# sourceMappingURL=app.js.map в конце. Исходные карты работают правильно на Chrome devtools.

Релизы / Артефакты Sentry содержат следующие файлы:

js/app.js
js/app.js.map

В любом случае, когда Sentry регистрирует ошибку, stacktrace находится из уменьшенного файла. Он не использует исходные карты.

Что я делаю неправильно в моей настройке? Или какую другую информацию я должен дать, чтобы получить помощь?

1 ответ

Решение

Я разместил этот вопрос на forum.sentry.io и получил ответ от парня по имени @benvinegar.

Дело в том, что при отправке исходной карты / артефакта мы предоставляем файл, а также имя файла. Под именем файла подразумевается полный URL-адрес, на котором будет размещена исходная карта, если она была загружена на хост вместе с минимизированными файлами JS. То есть: если наш уменьшенный Javascript находится по адресу www.example.com/js/app.js, тогда имя файла карты источника / артефакта должно быть www.example.com/js/app.js.map, В противном случае мы можем назвать это ~/js/app.js.map если мы хотим, чтобы исходная карта применялась в других ситуациях, таких как запуск приложения в localhost:8080/js/app.js,

Как я использую webpack-sentry-plugin, это просто вопрос добавления следующего свойства к плагину:

{
  plugins: [
    new SentryPlugin({
      filenameTransform: filename => '~/' + filename
    })
  ]
}

В нашем случае это не сработало долгое время.

Кажется, все просто отлично. Артефакты загружены, версии помечены, ошибки зарегистрированы, но нет исходных карт.

Суть вопроса: мы сами размещаем Sentry, а часовой разделен на разные контейнеры. Они не правильно поделились данными.

Одним из решений является обмен данными между контейнерами (см. Этот пост) или даже загрузка исходных карт на сервер S3, и Sentry также может работать с этим.

Другие вопросы по тегам