---
title: "Automatic Instrumentation"
description: "Learn what gets captured automatically when using Sentry's HTTP framework middleware."
url: https://docs.sentry.io/platforms/go/guides/fiber/tracing/instrumentation/auto-instrumentation/
---

# Automatic Instrumentation | Sentry for Fiber

If you're using one of Sentry's HTTP framework middlewares, transactions are created automatically for all incoming HTTP requests when tracing is enabled. No additional code is needed beyond the middleware setup.

## [What Gets Captured](https://docs.sentry.io/platforms/go/guides/fiber/tracing/instrumentation/auto-instrumentation.md#what-gets-captured)

The Sentry middleware for this framework **automatically creates transactions** for all incoming HTTP requests when tracing is enabled. Each transaction includes:

* **Transaction name**: HTTP method and route path (e.g., `GET /users/:id`)
* **HTTP status code**: Captured when the response is sent
* **Distributed tracing**: Continues traces from upstream services via Sentry trace headers
* **Request context**: Hub attached for additional error capture and custom spans

You can add custom child spans within your handlers to track specific operations.

## [Supported Frameworks](https://docs.sentry.io/platforms/go/guides/fiber/tracing/instrumentation/auto-instrumentation.md#supported-frameworks)

Sentry provides middleware for the following Go HTTP frameworks:

| Framework | Package              | Guide                                                                    |
| --------- | -------------------- | ------------------------------------------------------------------------ |
| Gin       | `sentry-go/gin`      | [Gin guide](https://docs.sentry.io/platforms/go/guides/gin.md)           |
| Echo      | `sentry-go/echo`     | [Echo guide](https://docs.sentry.io/platforms/go/guides/echo.md)         |
| Fiber     | `sentry-go/fiber`    | [Fiber guide](https://docs.sentry.io/platforms/go/guides/fiber.md)       |
| net/http  | `sentry-go/http`     | [net/http guide](https://docs.sentry.io/platforms/go/guides/http.md)     |
| Iris      | `sentry-go/iris`     | [Iris guide](https://docs.sentry.io/platforms/go/guides/iris.md)         |
| FastHTTP  | `sentry-go/fasthttp` | [FastHTTP guide](https://docs.sentry.io/platforms/go/guides/fasthttp.md) |
| Negroni   | `sentry-go/negroni`  | [Negroni guide](https://docs.sentry.io/platforms/go/guides/negroni.md)   |

Each middleware is installed and configured as part of the framework setup. See the individual guide pages for installation instructions.

## [HTTP Client Spans](https://docs.sentry.io/platforms/go/guides/fiber/tracing/instrumentation/auto-instrumentation.md#http-client-spans)

For outbound HTTP requests, use the `sentryhttpclient` package to automatically create spans for client requests. See the [HTTP Requests](https://docs.sentry.io/platforms/go/guides/fiber/tracing/instrumentation/custom-instrumentation/requests-module.md) documentation for details.

## [Adding Custom Spans](https://docs.sentry.io/platforms/go/guides/fiber/tracing/instrumentation/auto-instrumentation.md#adding-custom-spans)

Once the middleware creates a transaction, you can add child spans within your handlers to track specific operations. See [Custom Instrumentation](https://docs.sentry.io/platforms/go/guides/fiber/tracing/instrumentation/custom-instrumentation.md) for details.
