kubernetes golang gofiber框架在k8s中演示与Datadog APM集成--如何添加跟踪器和分析器?

btxsgosb  于 2022-11-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(92)

我有一个小的概念验证项目,要将DataDog APM/跟踪功能添加到gofiber(https://github.com/gofiber)Web应用程序中。该应用程序在EKS环境中启动并运行,该环境已经具有强大的DataDog集成(代理、为整个集群启用APM等)。
我还在学习gofiber的诀窍。我的问题是,将跟踪器和配置文件添加到我的项目中最简单有效的方法是什么?
DataDog推荐以下两个软件包:

go get gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer
go get gopkg.in/DataDog/dd-trace-go.v1/profiler

目前,我有一个简单的main.go文件在/上提供“Hello World”,使用的是gofiber的一个方法。
我可以在同一个文件中将跟踪器和配置文件作为单独的函数添加吗?或者我应该在项目中为它们创建单独的文件吗?
绝对要避免在我的pod中运行一个完全独立的容器来实现这个跟踪功能。谢谢你的任何建议或建议。

myzjeezk

myzjeezk1#

您需要在main.go中添加datadog跟踪器,并将其作为fiber中间件来跟踪fiber框架请求。请参考以下示例来启用对fiber应用程序的datadog跟踪。
main.go示例

package main

import (
        
    "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
)

func main() {
    
        tracer.Start(tracer.WithAgentAddr("localhost:8200")
        tracer.WithService("APP NAME")
        tracer.WithEnv("TRACE ENV")
        defer tracer.Stop()
}

光纤中间件示例

import (
        "github.com/gofiber/fiber/v2"

        fibertrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/gofiber/fiber.v2"
    )
    
    func main() {
        
            app := fiber.New()
            app.Use(fibertrace.Middleware(fibertrace.WithServiceName("APP Name value")))
    }

相关问题