stats

HTTP请求的统计中间件,可以根据此中间件将http请求的各类统计信息写入至统计数据库,如:influxdb等,方便根据统计来优化性能以及监控。

Example

  1. package main
  2. import (
  3. "bytes"
  4. "encoding/json"
  5. "fmt"
  6. "github.com/vicanso/elton"
  7. "github.com/vicanso/elton/middleware"
  8. )
  9. func main() {
  10. e := elton.New()
  11. e.Use(middleware.NewStats(middleware.StatsConfig{
  12. OnStats: func(info *middleware.StatsInfo, _ *elton.Context) {
  13. buf, _ := json.Marshal(info)
  14. fmt.Println(string(buf))
  15. },
  16. }))
  17. e.GET("/", func(c *elton.Context) (err error) {
  18. c.BodyBuffer = bytes.NewBufferString("abcd")
  19. return
  20. })
  21. err := e.ListenAndServe(":3000")
  22. if err != nil {
  23. panic(err)
  24. }
  25. }