j9九游会登录/ 函数工作流 functiongraph/ api参考/ / / 如何通过扩展完成skywalking的对接
更新时间:2025-05-28 gmt 08:00

如何通过扩展完成skywalking的对接-j9九游会登录

通过以下对接skywalking的示例帮助您理解如何通过扩展api将函数与监控、可观察性、安全性和监管等工具集成。

当用已编译的语言实现扩展时,在本地编译生成二进制文件;使用非编译的语言实现扩展时,需要把对接第三方平台需要的依赖一起打包上传,且需要函数的运行时兼容。

将skywalking agent直接嵌入到扩展代码中,即可通过扩展完成对函数请求的监控。

示例代码:

func startskywalkingagent() {
    r, err := reporter.newgrpcreporter("10.174.242.117:11800", reporter.withcds(100))
    if err != nil {
        log.fatalf("new reporter error %v \n", err)
        return
    }
    defer r.close()
    tracer, err := go2sky.newtracer("testservice", go2sky.withreporter(r))
    if err != nil {
        log.fatalf("create tracer error %v \n", err)
        return
    }
    go2sky.setglobaltracer(tracer)
    sm, err := httpplugin.newservermiddleware(go2sky.getglobaltracer())
    if err != nil {
        log.fatalf("create server middleware error %v \n", err)
        return
    }
    http.handlefunc(invokeurl, sm(requesthandler{}).servehttp)
    http.listenandserve(currentextensionaddr, nil)
}

其中10.174.242.117:11800 用户可以根据自己部署的是sykwalking collector的地址即可,testservice 用户可以根据自己项目服务进行命名。

在本地编译生成二进制文件,将二进制文件和以extension为前缀的.sh文件类型的脚本文件打包上传依赖。扩展依赖包的文件结构如下:

extension -

​ extensiondemo.sh

​extension # 编译后的二进制文件

成功对接后service界面如下:

endpoint界面如下:

相关文档

网站地图