https://github.com/xgfone/go-opentelemetry
A library to install the opentelemetry exporters rapidly.
https://github.com/xgfone/go-opentelemetry
Last synced: 7 months ago
JSON representation
A library to install the opentelemetry exporters rapidly.
- Host: GitHub
- URL: https://github.com/xgfone/go-opentelemetry
- Owner: xgfone
- License: apache-2.0
- Created: 2022-07-31T14:22:42.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-08-13T02:51:49.000Z (about 3 years ago)
- Last Synced: 2025-01-31T08:43:49.191Z (8 months ago)
- Language: Go
- Size: 58.6 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-opentelemetry [](https://pkg.go.dev/github.com/xgfone/go-opentelemetry) [](https://raw.githubusercontent.com/xgfone/go-opentelemetry/master/LICENSE)
A library to install the opentelemetry exporters rapidly.
## Example
```go.mod
module myapprequire (
github.com/prometheus/client_golang v1.12.2
github.com/xgfone/go-opentelemetry v0.3.1
github.com/xgfone/go-opentelemetry/jaegerexporter v0.3.0
github.com/xgfone/go-opentelemetry/otelhttpx v0.3.1
github.com/xgfone/go-opentelemetry/promexporter v0.3.0
)go 1.17
``````go
package mainimport (
"net/http""github.com/prometheus/client_golang/prometheus"
"github.com/xgfone/go-opentelemetry"
"github.com/xgfone/go-opentelemetry/jaegerexporter"
"github.com/xgfone/go-opentelemetry/otelhttpx"
"github.com/xgfone/go-opentelemetry/promexporter"
)func init() {
registry := prometheus.NewRegistry()
http.Handle("/metrics", promexporter.Handler(registry))opentelemetry.SetServiceName("ServiceName")
jaegerexporter.Install(nil, nil)
promexporter.Install(registry)
otelhttpx.InstallClient()
}func wrapHandler(handler http.HandlerFunc) http.Handler {
return otelhttpx.Handler(handler, "Operation")
}func main() {
http.Handle("/path", wrapHandler(func(w http.ResponseWriter, r *http.Request) {
// TODO
}))http.ListenAndServe(":80", nil)
}
```