net/http

Installing Airbrake in a net/http application

The gobrake package makes it quick and easy to monitor your net/http app’s performance. It only takes a few minutes to start collecting real performance data so let’s jump right in!

Installation & Configuration

Step 1: Install the latest version of gobrake

go get github.com/airbrake/gobrake/v5
import (
  "net/http"
  "github.com/airbrake/gobrake/v5"
  httpbrake "github.com/airbrake/gobrake/v5/http"
)

Step 2: Configure the Airbrake net/http middleware

Configuration is done through the gobrake.NotifierOptions struct, which you are supposed to pass to gobrake.NewNotifierWithOptions.

var notifier = gobrake.NewNotifierWithOptions(&gobrake.NotifierOptions{
  ProjectId:   <YOUR PROJECT ID>, // <-- Fill in this value
  ProjectKey:  "<YOUR API KEY>", // <-- Fill in this value
  Environment: "production",
})

To find <YOUR PROJECT ID> and <YOUR API KEY> navigate to your project’s Settings and copy the values from the right sidebar.

Now pass the notifier in the custom middleware provided by gobrake i.e. httpbrake and add it as a middleware. httpbrake provide both Handle and Handlefunc method to utilize

mux := http.NewServeMux()
airbrakeRouteNotifier := httpbrake.New(notifier)
d := Date{Date: time.Now().Unix()}
mux.Handle("/date", airbrakeRouteNotifier.Handle(d))
mux.HandleFunc("/locations", airbrakeRouteNotifier.HandleFunc(getLocations))

Voilà you are ready to start performance monitoring to Airbrake from your net/http app. Please look into sample example to get more idea.


Additional Settings

Please visit our Gobrake overview for details on useful features like:


Troubleshoot

In case you have a problem, question or a bug report, feel free to file an issue.