Files
ds-pages/src/sentry.ts
2024-12-07 19:20:04 +08:00

32 lines
1.2 KiB
TypeScript

import * as Sentry from "@sentry/react";
export const client = Sentry.init({
dsn: "https://fee4fec58516c464f60613b40b5d3a7d@sentry.yoshino-s.xyz/2",
integrations: [
Sentry.browserProfilingIntegration(),
Sentry.browserTracingIntegration(),
Sentry.replayIntegration({
maskAllText: false,
blockAllMedia: false,
}),
],
// Performance Monitoring
tracesSampleRate: 1.0, // Capture 100% of the transactions
// Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled
tracePropagationTargets: ["localhost", "ds.pages.yoshino-s.xyz"],
// Session Replay
replaysSessionSampleRate: 1.0, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.
replaysOnErrorSampleRate: 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.
profilesSampleRate: 1.0, // Capture 100% of the profiles
enabled: localStorage.getItem("sentryDisabled") !== "true",
});
export function disableSentry(disable: boolean) {
if (!client) {
return;
}
client.getOptions().enabled = !disable;
}