Files
2024-02-15 17:01:50 +00:00

112 lines
2.4 KiB
TypeScript

import {StepType} from 'sentry/components/onboarding/gettingStartedDoc/step';
import type {
Docs,
DocsParams,
OnboardingConfig,
} from 'sentry/components/onboarding/gettingStartedDoc/types';
import replayOnboardingJsLoader from 'sentry/gettingStartedDocs/javascript/jsLoader/jsLoader';
import {t, tct} from 'sentry/locale';
type Params = DocsParams;
const getConfigureSnippet = (params: Params) => `
package main
import (
"log"
"github.com/getsentry/sentry-go"
)
func main() {
err := sentry.Init(sentry.ClientOptions{
Dsn: "${params.dsn}",
// Set TracesSampleRate to 1.0 to capture 100%
// of transactions for performance monitoring.
// We recommend adjusting this value in production,
TracesSampleRate: 1.0,
})
if err != nil {
log.Fatalf("sentry.Init: %s", err)
}
}`;
const getVerifySnippet = () => `
package main
import (
"log"
"time"
"github.com/getsentry/sentry-go"
)
func main() {
err := sentry.Init(sentry.ClientOptions{
Dsn: "___PUBLIC_DSN___",
// Set TracesSampleRate to 1.0 to capture 100%
// of transactions for performance monitoring.
// We recommend adjusting this value in production,
TracesSampleRate: 1.0,
})
if err != nil {
log.Fatalf("sentry.Init: %s", err)
}
// Flush buffered events before the program terminates.
defer sentry.Flush(2 * time.Second)
sentry.CaptureMessage("It works!")
}`;
const onboarding: OnboardingConfig = {
install: () => [
{
type: StepType.INSTALL,
description: tct('Install our Go SDK using [code:go get]:', {
code: <code />,
}),
configurations: [
{
language: 'bash',
code: 'go get github.com/getsentry/sentry-go',
},
],
},
],
configure: params => [
{
type: StepType.CONFIGURE,
description: t(
"Import and initialize the Sentry SDK early in your application's setup:"
),
configurations: [
{
language: 'go',
code: getConfigureSnippet(params),
},
],
},
],
verify: () => [
{
type: StepType.VERIFY,
description: t(
'The quickest way to verify Sentry in your Go program is to capture a message:'
),
configurations: [
{
language: 'go',
code: getVerifySnippet(),
},
],
},
],
};
const docs: Docs = {
onboarding,
replayOnboardingJsLoader,
};
export default docs;