|
@@ -0,0 +1,106 @@
|
|
|
+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: (
|
|
|
+ <p>
|
|
|
+ {tct('Install our Go SDK using [code:go get]:', {
|
|
|
+ code: <code />,
|
|
|
+ })}
|
|
|
+ </p>
|
|
|
+ ),
|
|
|
+ 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 <Layout steps={steps({dsn})} {...props} />;
|
|
|
+}
|
|
|
+
|
|
|
+export default GettingStartedWithGo;
|