Skip to content

Commit

Permalink
feat: Add replay session for sentry (#3720)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrCherry97 authored Feb 20, 2025
1 parent bfe6fc1 commit 2416371
Showing 1 changed file with 29 additions and 22 deletions.
51 changes: 29 additions & 22 deletions src/hooks/useSentry.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,37 @@
import { useState } from 'react';
import { useState, useEffect } from 'react';
import * as Sentry from '@sentry/react';
import { useFeature } from './useFeature';

export function useSentry() {
const [dsn, setDsn] = useState();

const initSentry = dsn => {
Sentry.init({
dsn,
release: 'busola',
integrations: [new Sentry.browserTracingIntegration()],
tracesSampleRate: 1.0,
});
};
const initSentry = dsn => {
Sentry.init({
dsn,
release: 'busola',
integrations: [
new Sentry.browserTracingIntegration(),
Sentry.replayIntegration(),
],
tracesSampleRate: 1.0,
// Session Replay
replaysSessionSampleRate: 0.1,
replaysOnErrorSampleRate: 1.0,
});
};

try {
const feature = useFeature('SENTRY') || {};
if (feature.isEnabled && feature.config?.dsn) {
const nextDsn = feature.config.dsn;
export function useSentry() {
const [dsn, setDsn] = useState(null);
const feature = useFeature('SENTRY');

if (nextDsn !== dsn) {
setDsn(nextDsn);
initSentry(nextDsn);
useEffect(() => {
try {
if (feature?.isEnabled && feature?.config?.dsn) {
const nextDsn = feature.config.dsn;
if (nextDsn !== dsn) {
setDsn(nextDsn);
initSentry(nextDsn);
}
}
} catch (e) {
console.warn('Sentry not enabled due to error', e);
}
} catch (e) {
console.warn('Sentry not enabled due to error', e);
}
}, [feature, dsn]);
}

0 comments on commit 2416371

Please sign in to comment.