Traditional logging provides you with a trail of events. Some of those events are errors, but many times they’re simply informational. Sentry is fundamentally different because we focus on exceptions, or in other words, we capture application crashes. We discuss in more detail here and on our blog." } }, { "@type": "Question", "name": "What languages does Sentry support?", "acceptedAnswer": { "@type": "Answer", "text": "

Sentry supports every major language, framework, and library. You can browse each of them here." } }, { "@type": "Question", "name": "How much does Sentry cost?", "acceptedAnswer": { "@type": "Answer", "text": "

You can get started for free. Pricing depends on the number of monthly events, transactions, and attachments that you send Sentry. For more details, visit our pricing page." } }, { "@type": "Question", "name": "How does Sentry impact the performance of my app?", "acceptedAnswer": { "@type": "Answer", "text": "

Sentry doesn’t impact a web site’s performance.

If you look at the configuration options for when you initialize Sentry in your code, you’ll see there’s nothing regarding minimizing its impact on your app’s performance. This is because our team of SDK engineers already developed Sentry with this in mind.

Sentry is a listener/handler for errors that asynchronously sends out the error/event to Sentry.io. This is non-blocking. The error/event only goes out if this is an error.

Global handlers have almost no impact as well, as they are native APIs provided by the browsers." } } ] }

Go Error Tracking and Performance Monitoring

Debug Go apps and prevent crashes across your entire stack. Trace Go performance issues back to a poor performing API call and surface any related code errors. Sentry provides a single platform to optimize the performance of Go code and deliver fast customer experiences.

Getting Started is Simple

Grab the Sentry Go SDK:

Click to Copy
go get "github.com/getsentry/sentry-go"

Configuration should happen as early as possible in your application's lifecycle. :

Click to Copy
package main import ( "log" "time" "github.com/getsentry/sentry-go" ) func main() { err := sentry.Init(sentry.ClientOptions{ Dsn: "https://<key>@sentry.io/<project>", EnableTracing: true, // Specify a fixed sample rate: // We recommend adjusting this value in production TracesSampleRate: 1.0, // Or provide a custom sample rate: TracesSampler: sentry.TracesSampler(func(ctx sentry.SamplingContext) float64 { // As an example, this does not send some // transactions to Sentry based on their name. if ctx.Span.Name == "GET /health" { return 0.0 } return 1.0 }), }) if err != nil { log.Fatalf("sentry.Init: %s", err) } // Flush buffered events before the program terminates. // Set the timeout to the maximum duration the program can afford to wait. defer sentry.Flush(2 * time.Second) }

Check our documentation for the latest instructions.

See all platforms

Go Error Monitoring With Complete Stack Traces

See details like filename and line number so you never have to guess with Go errors. Filter and group Go exceptions intuitively to eliminate noise. Monitor errors at scale without impacting throughput in production.

Fill In The Blanks About Go Errors

Reproduce errors without user feedback. Sentry’s Go error monitoring includes each bug’s history of events and actions.

Understand The Bigger Picture

Use issue graphs to understand frequency, scope, and impact of Goerrors and prioritize what needs to be fixed. Get alerts via email, SMS, or chat when bugs make it into production without disrupting your development workflow.

“Sentry helps our team fix the most important issues in each release.”

Jaylum Chen
Staff Software Engineer, Eventbrite

See The Full Picture Of Any Go Error

Understand the context that contributed to errors with tags and relevant information about your software, environment, and users.

You can also submit optional custom data to provide extra context for bug tracking that is unique to your application and business.

Find answers to key questions: Which clients’ users experienced this bug? Was their game running in 32 bit or 64 bit mode?

It’s why companies that don’t have a complete view of their infrastructure are being punished:

The average cost of network downtime is around $5,600 per minute — or $300,000 per hour.

1 out of 5 online shoppers will abandon their cart because the transaction process was too slow.

On average, a two-second slowdown in page load decreases revenues by 4.3 percent.

FAQs

Traditional logging provides you with a trail of events. Some of those events are errors, but many times they’re simply informational. Sentry is fundamentally different because we focus on exceptions, or in other words, we capture application crashes. We discuss in more detail here and on our blog.

Sentry supports every major language, framework, and library. You can browse each of them here.

You can get started for free. Pricing depends on the number of monthly events, transactions, and attachments that you send Sentry. For more details, visit our pricing page.

Sentry doesn’t impact a web site’s performance.

If you look at the configuration options for when you initialize Sentry in your code, you’ll see there’s nothing regarding minimizing its impact on your app’s performance. This is because our team of SDK engineers already developed Sentry with this in mind.

Sentry is a listener/handler for errors that asynchronously sends out the error/event to Sentry.io. This is non-blocking. The error/event only goes out if this is an error.

Global handlers have almost no impact as well, as they are native APIs provided by the browsers.

Supporting Resources

Two Keys to Faster Resolution of Ruby Errors

A better experience for your users. An easier life for your developers.

© 2024 • Sentry is a registered Trademark of Functional Software, Inc.