首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mattermost +新文物APM

Mattermost +新文物APM
EN

Stack Overflow用户
提问于 2016-10-06 08:04:16
回答 2查看 261关注 0票数 0

我想在最重要的应用程序中使用新的遗物APM。为了监视性能,我在api/post.go文件中的createpost api请求处理程序之上添加了代码(如新遗留物中提到的)。

代码语言:javascript
复制
func createPost(c *Context, w http.ResponseWriter, r *http.Request) {
    config := newrelic.NewConfig("mylocalstarfp", "####12337")
    app, err1 := newrelic.NewApplication(config)
    fmt.Println("config")
    fmt.Println(config)
    if nil != err1 {
        fmt.Println(err1)
        // os.Exit(1)
    }
    txn := app.StartTransaction("mylocalstar",w, r)
    defer txn.End()
    post := model.PostFromJson(r.Body)
    .....
    .......
}

应用程序显示在新的遗迹仪表板上,并且像CPU和内存这样的属性是displayed.But,没有响应时间,并且显示了吞吐量属性。

根据新的遗留文档(https://github.com/newrelic/go-agent),这段代码必须添加到主/init块中,或者仅仅在我们需要监视性能的函数开始时添加。

但是,由于响应时间和吞吐量属性没有显示,我无法进行监视。可能是我在错误的地方添加了代码。此外,我还尝试在mattermost.go文件中main()函数的开头添加代码。但没有成功。请建议我在哪里添加代码。

第二,他们亦提到:

如果使用的是标准HTTP库包,则可以通过包装HTTP请求来创建事务,以替代检测函数的代码。 下面是包装HTTP处理程序的前后示例: 在此之前: http.HandleFunc("/users", usersHandler) 之后: http.HandleFunc(newrelic.WrapHandleFunc(app, "/users", usersHandler)) 这将自动使用请求和响应编写器启动和结束事务。

根据这一点,我应该在Mattermost中添加代码吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-15 05:25:59

得到了解决方案,因此可以供其他人参考。解决了通过此代码跟踪最重要的每个请求的问题:

代码语言:javascript
复制
BaseRoutes.NeedTeam.Handle(newrelic.WrapHandle(app, "/users", ApiAppHandler(usersHandler))).Methods("POST")
票数 0
EN

Stack Overflow用户

发布于 2016-10-07 20:36:33

您可以尝试使用支持短期进程的最新版本(1.3),然后添加下面的代码部分

代码语言:javascript
复制
newrelic.NewConfig("mylocalstarfp", "####12337")
   app, err1 := newrelic.NewApplication(config)` 

传递给mattermost.go,并将app变量传递到希望监视事务的任何地方。

不过,这不是保证。只是一个没有任何测试支持的想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39890703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档