minidump.tsx 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import {Fragment} from 'react';
  2. import ExternalLink from 'sentry/components/links/externalLink';
  3. import List from 'sentry/components/list';
  4. import ListItem from 'sentry/components/list/listItem';
  5. import {Layout, LayoutProps} from 'sentry/components/onboarding/gettingStartedDoc/layout';
  6. import {ModuleProps} from 'sentry/components/onboarding/gettingStartedDoc/sdkDocumentation';
  7. import {t, tct} from 'sentry/locale';
  8. // Configuration Start
  9. export const steps = ({
  10. dsn,
  11. }: Partial<Pick<ModuleProps, 'dsn'>> = {}): LayoutProps['steps'] => [
  12. {
  13. title: t('Creating and Uploading Minidumps'),
  14. description: (
  15. <Fragment>
  16. {t(
  17. 'Depending on your operating system and programming language, there are various alternatives to create minidumps and upload them to Sentry. See the following resources for libraries that support generating minidump crash reports:'
  18. )}
  19. <List symbol="bullet">
  20. <ListItem>
  21. <ExternalLink href="https://docs.sentry.io/platforms/native/">
  22. Native SDK
  23. </ExternalLink>
  24. </ListItem>
  25. <ListItem>
  26. <ExternalLink href="https://docs.sentry.io/platforms/native/guides/breakpad/">
  27. Google Breakpad
  28. </ExternalLink>
  29. </ListItem>
  30. <ListItem>
  31. <ExternalLink href="https://docs.sentry.io/platforms/native/guides/crashpad/">
  32. Google Crashpad
  33. </ExternalLink>
  34. </ListItem>
  35. </List>
  36. </Fragment>
  37. ),
  38. configurations: [
  39. {
  40. description: (
  41. <p>
  42. {tct(
  43. 'If you have already integrated a library that generates minidumps and would just like to upload them to Sentry, you need to configure the [minidumpEndpointUrlItalic:Minidump Endpoint URL], which can be found at [projectSettingsItalic:Project Settings > Client Keys (DSN)]. This endpoint expects a [postCode:POST] request with the minidump in the [uploadFileMinidumpCode:upload_file_minidump] field:',
  44. {
  45. postCode: <code />,
  46. uploadFileMinidumpCode: <code />,
  47. minidumpEndpointUrlItalic: <i />,
  48. projectSettingsItalic: <i />,
  49. }
  50. )}
  51. </p>
  52. ),
  53. language: 'bash',
  54. code: `
  55. curl -X POST \
  56. '${dsn}' \
  57. -F upload_file_minidump=@mini.dmp
  58. `,
  59. },
  60. ],
  61. additionalInfo: (
  62. <p>
  63. {tct(
  64. 'To send additional information, add more form fields to this request. For a full description of fields accepted by Sentry, see [passingAdditionalDataLink:Passing Additional Data].',
  65. {
  66. passingAdditionalDataLink: (
  67. <ExternalLink href="https://docs.sentry.io/platforms/native/guides/minidumps/" />
  68. ),
  69. }
  70. )}
  71. </p>
  72. ),
  73. },
  74. ];
  75. // Configuration End
  76. export function GettingStartedWithMinidump({dsn, ...props}: ModuleProps) {
  77. return <Layout steps={steps({dsn})} {...props} />;
  78. }
  79. export default GettingStartedWithMinidump;