diff options
Diffstat (limited to 'app/assets/javascripts/runner/sentry_utils.js')
-rw-r--r-- | app/assets/javascripts/runner/sentry_utils.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/assets/javascripts/runner/sentry_utils.js b/app/assets/javascripts/runner/sentry_utils.js new file mode 100644 index 00000000000..29de1f9adae --- /dev/null +++ b/app/assets/javascripts/runner/sentry_utils.js @@ -0,0 +1,20 @@ +import * as Sentry from '@sentry/browser'; + +const COMPONENT_TAG = 'vue_component'; + +/** + * Captures an error in a Vue component and sends it + * to Sentry + * + * @param {Object} options + * @param {Error} options.error - Exception or error + * @param {String} options.component - Component name in CamelCase format + */ +export const captureException = ({ error, component }) => { + Sentry.withScope((scope) => { + if (component) { + scope.setTag(COMPONENT_TAG, component); + } + Sentry.captureException(error); + }); +}; |