minidump.tsx 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 {StoreCrashReportsConfig} from 'sentry/components/onboarding/gettingStartedDoc/storeCrashReportsConfig';
  6. import type {
  7. Docs,
  8. DocsParams,
  9. OnboardingConfig,
  10. } from 'sentry/components/onboarding/gettingStartedDoc/types';
  11. import {CrashReportWebApiOnboarding} from 'sentry/components/onboarding/gettingStartedDoc/utils/feedbackOnboarding';
  12. import {t, tct} from 'sentry/locale';
  13. type Params = DocsParams;
  14. const getCurlSnippet = (params: Params) => `
  15. curl -X POST \
  16. '${params.dsn.public}' \
  17. -F upload_file_minidump=@mini.dmp`;
  18. const onboarding: OnboardingConfig = {
  19. install: params => [
  20. {
  21. title: t('Creating and Uploading Minidumps'),
  22. description: (
  23. <Fragment>
  24. {t(
  25. '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:'
  26. )}
  27. <List symbol="bullet">
  28. <ListItem>
  29. <ExternalLink href="https://docs.sentry.io/platforms/native/">
  30. Native SDK
  31. </ExternalLink>
  32. </ListItem>
  33. <ListItem>
  34. <ExternalLink href="https://docs.sentry.io/platforms/native/guides/breakpad/">
  35. Google Breakpad
  36. </ExternalLink>
  37. </ListItem>
  38. <ListItem>
  39. <ExternalLink href="https://docs.sentry.io/platforms/native/guides/crashpad/">
  40. Google Crashpad
  41. </ExternalLink>
  42. </ListItem>
  43. </List>
  44. </Fragment>
  45. ),
  46. configurations: [
  47. {
  48. description: tct(
  49. 'If you have already integrated a library that generates minidumps and would just like to upload them to Sentry, you need to configure the [italic:Minidump Endpoint URL], which can be found at [italic:Project Settings > Client Keys (DSN)]. This endpoint expects a [code:POST] request with the minidump in the [code:upload_file_minidump] field:',
  50. {
  51. code: <code />,
  52. italic: <i />,
  53. }
  54. ),
  55. language: 'bash',
  56. code: getCurlSnippet(params),
  57. },
  58. ],
  59. additionalInfo: tct(
  60. '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].',
  61. {
  62. passingAdditionalDataLink: (
  63. <ExternalLink href="https://docs.sentry.io/platforms/native/guides/minidumps/" />
  64. ),
  65. }
  66. ),
  67. },
  68. ],
  69. configure: () => [],
  70. verify: params => [
  71. {
  72. title: t('Further Settings'),
  73. description: (
  74. <StoreCrashReportsConfig
  75. organization={params.organization}
  76. projectSlug={params.projectSlug}
  77. />
  78. ),
  79. },
  80. ],
  81. };
  82. const docs: Docs = {
  83. onboarding,
  84. crashReportOnboarding: CrashReportWebApiOnboarding,
  85. };
  86. export default docs;