Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tcnksm/go-httpstat
Tracing golang HTTP request latency
https://github.com/tcnksm/go-httpstat
golang trace
Last synced: 4 days ago
JSON representation
Tracing golang HTTP request latency
- Host: GitHub
- URL: https://github.com/tcnksm/go-httpstat
- Owner: tcnksm
- License: mit
- Created: 2016-09-25T08:09:28.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-08-31T23:36:43.000Z (over 2 years ago)
- Last Synced: 2024-11-17T00:00:32.869Z (25 days ago)
- Topics: golang, trace
- Language: Go
- Homepage:
- Size: 26.4 KB
- Stars: 423
- Watchers: 15
- Forks: 72
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - tcnksm/go-httpstat - Tracing golang HTTP request latency (Go)
README
# go-httpstat [![Go Documentation](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)][godocs] [![Build Status](http://img.shields.io/travis/tcnksm/go-httpstat.svg?style=flat-square)][travis] [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)][license]
[godocs]: http://godoc.org/github.com/tcnksm/go-httpstat
[travis]: https://travis-ci.org/tcnksm/go-httpstat
[license]: /LICENSE`go-httpstat` is a golang package to trace golang HTTP request latency (DNSLookup, TCP Connection and so on). Because it uses [`httptrace`](https://golang.org/pkg/net/http/httptrace/) internally, just creating `go-httpstat` powered `context` and giving it your `http.Request` kicks tracing (no big code modification is required). The original idea came from [`httpstat`](https://github.com/reorx/httpstat) command ( and Dave Cheney's [golang implementation](https://github.com/davecheney/httpstat)) 👏. This package now traces same latency infomation as them.
See usage and example on [GoDoc][godocs].
*NOTE*: Since [`httptrace`](https://golang.org/pkg/net/http/httptrace/) was introduced after go1.7, this package may not work with old HTTP client. Especially, if you don't use `net.DialContext` it can not trace DNS and connection.
## Install
Use `go get`,
```bash
$ go get github.com/tcnksm/go-httpstat
```## Author
[Taichi Nakashima](https://github.com/tcnksm)