Star us on GitHub
Star
Menu

chi

Learn how to set up highlight.io on your Go chi backend.

1

Add `tracingOrigins` to your client Highlight snippet.

This backend SDK requires one of the Highlight frontend SDKs to be installed, so please make sure you've followed the fullstack mapping guide first.

H.init("<YOUR_PROJECT_ID>", { tracingOrigins: ['localhost', 'example.myapp.com/backend'], networkRecording: { enabled: true, recordHeadersAndBody: true, }, });
Copy
2

Install the Highlight Go SDK.

Install the highlight-go package with go get.

go get -u github.com/highlight/highlight/sdk/highlight-go
Copy
3

Initialize the Highlight Go SDK.

highlight.Start starts a goroutine for recording and sending backend traces and errors. Setting your project id lets Highlight record errors for background tasks and processes that aren't associated with a frontend session.

import ( "github.com/highlight/highlight/sdk/highlight-go" ) func main() { // ... highlight.SetProjectID("<YOUR_PROJECT_ID>") highlight.Start( highlight.WithServiceName("my-app"), highlight.WithServiceVersion("git-sha"), ) defer highlight.Stop() // ... }
Copy
4

Add the Highlight middleware.

highlightChi.Middleware is a Go Chi compatible middleware.

import ( highlightChi "github.com/highlight/highlight/sdk/highlight-go/middleware/chi" ) func main() { // ... r := chi.NewRouter() r.Use(highlightChi.Middleware) // ... }
Copy
5

Record custom errors. (optional)

If you want to explicitly send an error to Highlight, you can use the highlight.RecordError method.

highlight.RecordError(ctx, err, attribute.String("key", "value"))
Copy
6

Verify your errors are being recorded.

Make a call to highlight.RecordError to see the resulting error in Highlight.

func TestErrorHandler(w http.ResponseWriter, r *http.Request) { highlight.RecordError(r.Context(), errors.New("a test error is being thrown!")) }
Copy
7

Set up logging.

Start sending logs to Highlight! Follow the logging setup guide to get started.