- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Buffalo 将 Elastic APM 和 Sentry 集成到我的网站中。有趣的文件如下:handlers/sentryHandler.go
package handlers
import (
sentryhttp "github.com/getsentry/sentry-go/http"
"github.com/gobuffalo/buffalo"
)
func SentryHandler(next buffalo.Handler) buffalo.Handler {
handler := buffalo.WrapBuffaloHandler(next)
sentryHandler := sentryhttp.New(sentryhttp.Options{})
return buffalo.WrapHandler(sentryHandler.Handle(handler))
}
handlers/elasticAPMHandler.go
package handlers
import (
"fmt"
"github.com/gobuffalo/buffalo"
"go.elastic.co/apm/module/apmhttp"
)
func ElasticAPMHandler(next buffalo.Handler) buffalo.Handler {
fmt.Println("AAA")
handler := apmhttp.Wrap(buffalo.WrapBuffaloHandler(next))
return buffalo.WrapHandler(handler)
}
actions/app.go
package actions
import (
"github.com/gobuffalo/buffalo"
"github.com/gobuffalo/envy"
forcessl "github.com/gobuffalo/mw-forcessl"
paramlogger "github.com/gobuffalo/mw-paramlogger"
"github.com/unrolled/secure"
"my_website/handlers"
"my_website/models"
"github.com/gobuffalo/buffalo-pop/pop/popmw"
csrf "github.com/gobuffalo/mw-csrf"
i18n "github.com/gobuffalo/mw-i18n"
"github.com/gobuffalo/packr/v2"
)
func App() *buffalo.App {
if app == nil {
app = buffalo.New(buffalo.Options{
Env: ENV,
SessionName: "_my_website_session",
})
// Automatically redirect to SSL
app.Use(forceSSL())
// Catch errors and send them to Sentry.
app.Use(handlers.SentryHandler)
// Get tracing information and send it to Elastic.
app.Use(handlers.ElasticAPMHandler)
// Other Buffalo middleware stuff goes here...
// Routing stuff goes here...
}
return app
}
application.html: line 24: "showPagePath": unknown identifier
这样的错误。 .但是,如果我将其移至设置路由之前,则会收到未找到事务错误。所以,我猜测处理程序包装器正在删除
buffalo.Context
信息。那么,除了尝试重新实现它们的包装器之外,我还需要做什么才能在 Buffalo 中集成 Sentry 和 Elastic?
最佳答案
So, I'm guessing that the handler wrappers are dropping the buffalo.Context information.
buffalo.WrapHandler
(
Source ) 丢弃除底层
http.Request
之外的所有上下文/
http.Response
:
// WrapHandler wraps a standard http.Handler and transforms it
// into a buffalo.Handler.
func WrapHandler(h http.Handler) Handler {
return func(c Context) error {
h.ServeHTTP(c.Response(), c.Request())
return nil
}
}
So, what would I need to do to be able to integrate Sentry and Elastic in Buffalo asides from trying to reimplement their wrappers?
buffalo.WrapHandler
/buffalo.WrapBuffaloHandler
停止扔掉 buffalo.Context。这将涉及存储 buffalo.Context
在底层 http.Request
的上下文,然后在另一侧再次将其拉出,而不是创建一个全新的上下文。 Wrap*
的情况下为 Sentry 和 Elastic APM 实现 Buffalo 特定的中间件职能。 关于go - 在 Buffalo 中集成 Sentry 和 Elastic APM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60920952/
我有一个 Elastic APM-Server 启动并运行,它已成功建立与 Elasticsearch 的连接。 然后我安装了一个 Elastic APM Go 代理: go get -u go.el
我有一个独立的JAVA应用程序。 并已成功将其与Elastic APM(+ ElasticSearch + Kibana)集成以捕获遥测。 Java版本: 8-OpenJDK flex 代理和库版本:
我已经使用elasticsearch,filebeat,kibana和apm服务器设置了一个 flex 堆栈,并使用apm java代理设置了一个spring-boot-application,并在d
我为 .jar 创建了一个绑定(bind),它在测试分支中工作正常,但是当将这个相同的 .jar 绑定(bind)移动到我们的生产分支时,会抛出以下错误。 Java.Lang.ClassNotFoun
我目前正在执行PoC,以将Elastic APM集成到我的spring应用程序中。我正在关注此页面:-https://www.elastic.co/guide/en/apm/agent/java/1.
我想知道 .net API 中现有的 I/O 绑定(bind) APM 调用(BeginGetResponse、BeginRead 等)是使用线程池中的线程还是使用当前线程直到回调。我知道它一直“异步
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 7年前关闭。 Improve this qu
logstash 的 elasticsearch 输出具有关闭 SSL 验证的选项 https://www.elastic.co/guide/en/logstash/current/plugins-o
我正在尝试发布 Atom 包的小更新,但我不断收到“ header 内容包含无效字符” 我做了什么:克隆了 repo 协议(protocol),设置远程分支,获取分支, pull 内容。修改东西。更改
我正在尝试设置 ElasticSearch APM,我的操作系统是 Ubuntu 16.04, 我在系统上安装了 ElasticSearch 和 Kibana, 我指的是以下站点的安装步骤 - htt
如果我想读取或写入文件,我可以使用 stream.BeginRead 和 stream.EndRead,但这需要回调和大量使用异步编程模型的丑陋、复杂的代码。 p> 为什么我要使用这些异步 IO 方法
我的内核使用 GRUB 启动,因此它以保护模式启动并且 A20 行已经解锁。然后它重新路由设备 irq 并加载它自己的。现在我想关闭设备。它可以用 APM 完成,但 APM 只能从实模式启用,所以我编
我已经配置了 InspectIT 和示例 springboot 应用程序。有一个请求映射被配置为泄漏一些内存。问题是 InspectIT 没有深入研究方法调用。 它下降的唯一级别是 doFilter-
如果你有一个挂起的操作,例如 stream.BeginRead(_buffer, 0, _buffer.Length, _asyncCallbackRead, this); 然后您关闭流提供程序,例如
我在运行 (sudo) apm install minimap(或任何其他软件包)时遇到的错误: gyp info it worked if it ends with ok gyp info usin
给定此docker文件以设置后端服务,其中包括:elasticsearch,apm服务器,kibana,jaeger-collector,jaeger-agent,jaeger-query,grafa
我已经通过 IHttpAsyncHandler 使用 .Net 异步编程模型在 C# 中实现了异步 http 请求处理。 我是 java 的新手,但想完成相同的目的——开始一个请求,让它交出请求处理线
我正在尝试使用 Elasticsearch、Kibana 和 APM 服务器将 Elastic APM 安装为 docker-compose 的 3 项服务。现在我对如何使用文档在 app-serve
我对音频处理很陌生。我创建了一个程序,可以以一种方式录制和流式传输音频,而不会在另一端录制。基本上,它将一个位置记录的任何内容传输到另一个位置。但是,在很多情况下,该程序也会在与录音源相同的位置输出音
我正在处理我的 osx 10.11 系统中的 apm 错误。当我运行时 apm 在我的命令行中,由于文件路径错误而引发错误: /usr/local/bin/apm: line 32: /Applica
我是一名优秀的程序员,十分优秀!