import {Layout, LayoutProps} from 'sentry/components/onboarding/gettingStartedDoc/layout'; import {ModuleProps} from 'sentry/components/onboarding/gettingStartedDoc/sdkDocumentation'; import {StepType} from 'sentry/components/onboarding/gettingStartedDoc/step'; import {t, tct} from 'sentry/locale'; // Configuration Start export const steps = ({ dsn, }: { dsn?: string; } = {}): LayoutProps['steps'] => [ { type: StepType.INSTALL, description: (

{tct('Install our Go SDK using [code:go get]:', { code: , })}

), configurations: [ { language: 'bash', code: 'go get github.com/getsentry/sentry-go', }, ], }, { type: StepType.CONFIGURE, description: t( "Import and initialize the Sentry SDK early in your application's setup:" ), configurations: [ { language: 'go', code: ` package main import ( "log" "github.com/getsentry/sentry-go" ) func main() { err := sentry.Init(sentry.ClientOptions{ Dsn: "${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) } } `, }, ], }, { type: StepType.VERIFY, description: t( 'The quickest way to verify Sentry in your Go program is to capture a message:' ), configurations: [ { language: 'go', code: ` 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!") } `, }, ], }, ]; // Configuration End export function GettingStartedWithGo({dsn, ...props}: ModuleProps) { return ; } export default GettingStartedWithGo;