Fibernewrelic


Fiber용 NewRelic 지원.

참고: Go 1.18 이상 버전 필요

Installation

go get -u github.com/gofiber/fiber/v2
go get -u github.com/gofiber/contrib/fibernewrelic

Signatures

fibernewrelic.New(config fibernewrelic.Config) fiber.Handler

Config

Property
Type
Description
Default

License

string

필수 - New Relic 라이센스 키

""

AppName

string

New Relic 애플리케이션 이름

fiber-api

Enabled

bool

New Relic 활성화/비활성화

false

TransportType

string

HTTP 또는 HTTPS 가능 (Deprecated)

"HTTP"

Application

Application

기존 New Relic 앱

nil

ErrorStatusCodeHandler

func(c *fiber.Ctx, err error) int

newrelic 상태 코드를 변경하고자 하는 경우 사용 가능

DefaultErrorStatusCodeHandler

Examples

package main

import (
  "github.com/gofiber/fiber/v2"
  "github.com/gofiber/contrib/fibernewrelic"
)

func main() {
  app := fiber.New()

  app.Get("/", func(ctx *fiber.Ctx) error {
    return ctx.SendStatus(200)
  })

  cfg := fibernewrelic.Config{
    License: "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
    AppName: "MyCustomApi",
    Enabled: true,
  }

  app.Use(fibernewrelic.New(cfg))

  app.Listen(":8080")
}

기존 New Relic 애플리케이션과 함께 사용

package main

import (
  "github.com/gofiber/fiber/v2"
  "github.com/gofiber/contrib/fibernewrelic"
  "github.com/newrelic/go-agent/v3/newrelic"
)

func main() {
  newrelicApp, err := newrelic.NewApplication(
    newrelic.ConfigAppName("MyCustomApi"),
    newrelic.ConfigLicense("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"),
    newrelic.ConfigEnabled(true),
  )

  app := fiber.New()

  app.Get("/", func(ctx *fiber.Ctx) error {
    return ctx.SendStatus(200)
  })

  app.Get("/foo", func(ctx *fiber.Ctx) error {
    txn := newrelic.FromContext(ctx)
    segment := txn.StartSegment("foo segment")
    defer segment.End()
    // foo 수행 
    return nil
  })

  cfg := fibernewrelic.Config{
    Application: newrelicApp,
  }

  app.Use(fibernewrelic.New(cfg))

  app.Listen(":8080")
}

Last updated