# How to use Apm for tracing all http request coming in go application, application use \`net/http\`?

**URL:** <https://discuss.elastic.co/t/how-to-use-apm-for-tracing-all-http-request-coming-in-go-application-application-use-net-http/357361>\
**Category:** APM\
**Tags:** go\
**Created:** [April 14, 2024, 12:40pm UTC](https://discuss.elastic.co/t/how-to-use-apm-for-tracing-all-http-request-coming-in-go-application-application-use-net-http/357361 "2024-04-14T12:40:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![codeimmortal](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/codeimmortal/32/133500_2.png) [@codeimmortal](https://discuss.elastic.co/u/codeimmortal)\
**Post date:** [April 14, 2024, 12:40pm UTC](https://discuss.elastic.co/t/how-to-use-apm-for-tracing-all-http-request-coming-in-go-application-application-use-net-http/357361/1 "2024-04-14T12:40:21Z")

</div>

How can add APM tracing in below very simple go code, which use `net/http`.

```auto

package main
import (
    "fmt"
    "net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "Hello, World!")
}
func main() {
    http.HandleFunc("/hello", helloHandler)
    http.ListenAndServe(":8080", nil)
}

```

Do we use [Built-in instrumentation modules | APM Go Agent Reference [2.x] | Elastic](https://www.elastic.co/guide/en/apm/agent/go/current/builtin-modules.html#builtin-modules-apmhttp) module for that how?

New to golang and Apm. I see most of example either with mux or gin.
