import Alert from 'sentry/components/alert'; import ExternalLink from 'sentry/components/links/externalLink'; import {StepType} from 'sentry/components/onboarding/gettingStartedDoc/step'; import type { Docs, DocsParams, OnboardingConfig, } from 'sentry/components/onboarding/gettingStartedDoc/types'; import { getCrashReportModalConfigDescription, getCrashReportModalIntroduction, getCrashReportPHPInstallStep, } from 'sentry/components/onboarding/gettingStartedDoc/utils/feedbackOnboarding'; import replayOnboardingJsLoader from 'sentry/gettingStartedDocs/javascript/jsLoader/jsLoader'; import {t, tct} from 'sentry/locale'; type Params = DocsParams; const onboarding: OnboardingConfig = { introduction: () => (
{tct(
'Symfony is supported via the [code:sentry-symfony] package as a native bundle.',
{code: }
)}
,
}),
code: 'composer require sentry/sentry-symfony',
},
...(params.isProfilingSelected
? [
{
description: t('Install the Excimer extension via PECL:'),
language: 'bash',
code: 'pecl install excimer',
},
{
description: tct(
"The Excimer PHP extension supports PHP 7.2 and up. Excimer requires Linux or macOS and doesn't support Windows. For additional ways to install Excimer, see [sentryPhpDocumentationLink: Sentry documentation].",
{
sentryPhpDocumentationLink: (
}),
language: 'shell',
code: `
###> sentry/sentry-symfony ###
SENTRY_DSN="${params.dsn.public}"
###< sentry/sentry-symfony ###
`,
},
...(params.isPerformanceSelected || params.isProfilingSelected
? [
{
description: tct(
'Add further configuration options to your [code:config/packages/sentry.yaml] file:',
{code:
}
),
language: 'yaml',
code: `when@prod:
sentry:
dsn: '%env(SENTRY_DSN)%'${
params.isPerformanceSelected || params.isProfilingSelected
? `
options:`
: ''
}${
params.isPerformanceSelected
? `
# Specify a fixed sample rate
traces_sample_rate: 1.0`
: ''
}${
params.isProfilingSelected
? `
# Set a sampling rate for profiling - this is relative to traces_sample_rate
profiles_sample_rate: 1.0`
: ''
}`,
},
]
: []),
{
description: (
,
}
)}
}
),
},
],
nextSteps: () => [],
};
const crashReportOnboarding: OnboardingConfig = {
introduction: () => getCrashReportModalIntroduction(),
install: (params: Params) => getCrashReportPHPInstallStep(params),
configure: () => [
{
type: StepType.CONFIGURE,
description: getCrashReportModalConfigDescription({
link: 'https://docs.sentry.io/platforms/php/guides/symfony/user-feedback/configuration/#crash-report-modal',
}),
},
],
verify: () => [],
nextSteps: () => [],
};
const docs: Docs = {
onboarding,
replayOnboardingJsLoader,
crashReportOnboarding,
};
export default docs;