问题标签 [elastic-apm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - 如何分离 Elastic APM 代理?
我正在试用 Elastic APM。
我使用了自动设置apm-agent-attach-standalone.jar
。(我也使用-javaagent
了标志(手动设置),效果很好)
数据已成功从代理接收,我使用 APM UI 进行监控。
如何将此代理从流程中分离出来?
如果我想停止这个代理怎么办?
vue.js - 如何将 Elastic APM 集成到 Vuejs SPA?
Elastic APM
我如下集成到我的 Vue.js 应用程序中。它成功记录到 Elastic APM。
但是,它没有在日志中正确显示当前页面名称。它似乎总是显示应用程序在 APM 中安装的第一页。
我希望始终看到当前页面链接到相应的 APM 事件。任何建议如何实现这一目标?
文档说要设置pageLoadTransactionName
. 但是,它似乎没有在路线更改时更新此内容:
https ://www.elastic.co/guide/en/apm/agent/rum-js/current/custom-transaction-name.html
应用程序.js
elastic-stack - Elastic APM for Java 是否捕获日志?
我不明白 Elastic APM for Java 是应该从 slf4j 捕获日志还是只能跟踪异常?我有使用 slf4j 的 Spring Boot 服务,但在 apm 索引中找不到日志条目。有人可以澄清期望吗?谢谢
spring - 如何在 Spring 应用程序中附加 Elastic APM
我目前正在做一个 PoC 以将 Elastic APM 集成到我的 spring 应用程序中。我正在关注此页面:- https://www.elastic.co/guide/en/apm/agent/java/1.x/setup-attach-api.html 以编程方式附加elastic-apm jar。
我已将所需的 jar 添加到 pom.xml 中,但我不知道应该如何将 Elastic Apm (ElasticApmAttacher.attach()) 附加到我的正常 spring 代码中。给出的示例适用于 SpringBoot。但我的应用程序位于 Spring 核心(spring-core、spring-web ..)上,其余服务使用 Jax-Rs 公开。
django - Elastic APM:如何关闭 django 的日志记录
由于自上次刷新 9.060s > max_flush_time 9.060s 以来的时间而刷新
我在 django 调试中听到了这些消息。
我尝试更改为他们的默认设置
仍然得到很多日志。如何关闭此功能?
c# - 如何在仍然允许可配置性/设置的同时重构有状态的单例?
我希望对遵循此处System.Lazy<T>
描述的设计的标准单例设计模式进行更改。更改是在 Elastic APM 代理中,可以在 GitHub 中看到。为简洁起见,这是分解的代码:Agent
一个明显的问题是,如果Agent.Instance
在调用之前访问过Agent.Setup
,则Foo
对象 in被实例化为传递给其构造函数Agent.Lazy
的 null ( )。因此,传递给的对象将用于底层证券_bar
的期望将不会得到满足。Bar
Setup
Foo
问题当然是这是一个反模式,因为这个单例封装了全局状态。正如此链接所述:
单例是从应用程序代码中的任何位置访问服务的便捷方式。
当服务不仅提供对操作的访问而且还封装状态,这会影响其他代码的行为方式时,该模型很快就会崩溃。应用程序配置就是一个很好的例子。在最好的情况下,配置在应用程序启动时被读取一次,并且在应用程序的整个生命周期内都不会改变。
然而,不同的配置可能导致方法返回不同的结果,尽管没有可见的依赖关系发生变化,即构造函数和方法已使用相同的参数调用。如果单例状态可以通过重新读取配置文件或通过编程操作在运行时更改,这可能会成为一个更大的问题。这样的代码很快就会变得非常难以推理:
如果没有注释,不了解上述代码的读者无法期望 和 的值
before
不同after
,只能在查看各个方法的实现后进行解释,这些方法读取和修改隐藏在Configuration
单例中的全局状态。
文章提倡使用 DI 来解决这个问题。但是,有没有更简单的方法来解决这种情况,即 DI 是不可能的或涉及太多重构?
python - Python 代理如何使用 ElasticAPM 跟踪各种计数器/值随时间的演变?
我对 APM 和 Kibana 真的很陌生,但是可以使用 Python 和 ElasticSearch。在我拥有 Graphite 之前,进行自定义跟踪非常容易。
我希望跟踪 3 个简单的自定义指标及其随时间的演变。
- CounterName 及其值。例如 queue_size: 23 并由任何工作人员发送。当不同的工人发送不同的值时会发生什么?(由于时间的原因,该值可能会迅速增加/减少)。
我确实有 20 个要跟踪的队列名称。我应该将所有内容放在 service_name 下还是应该使用标签?
在我使用之前:
不知道现在在这里有什么:....
- 在方法中花费的时间。我在这里看到可以有一个上下文管理器。
在我有之前:
会变成
- 请求数。(只算不计其他跟踪)
在我有之前
这个对吗?
多谢!
spring - 非法状态异常:附件使用时出错:co.elastic.apm.attach.bytebuddy.agent.ByteBuddyAgent
我刚刚使用 springboot 创建了一个应用程序,使用了 APM 工具的 Elastic APM attacher。当我运行 apm 附加程序时,它会生成错误异常,如下所示。用于生成错误的代码:
但是,如果我尝试运行应用程序注释行即 //ElasticApmAttacher.attach(); 从相同的代码,它成功运行
我正在寻找解决方案,但到目前为止一无所知。有人可以建议如何解决它
vue.js - 如何在 Vue.js 中获取当前的 Elastic APM 实例?
Elastic APM
我已根据文档(https://www.elastic.co/guide/en/apm/agent/rum-js/current/vue-integration.html)集成到我的 Vue.js 应用程序中
除了默认事件之外page-load
,route-change
我还想为某些按钮单击添加自定义事务/跨度。
我坚持检查是否已经存在可用于添加自定义跨度的现有事务开始:
但是获取当前事务失败(第一行)。
node.js - 为什么我们在使用 elastic-apm-node 时收到 SyntaxError: Unexpected token in JSON?
在我们的后端服务器上添加 elastic-apm-node 后,我们每天会收到数百次以下错误。谁能建议可能导致这种情况的原因?
我们看到的错误是这样的:
我认为我们运行 node v10.x 但我不确定。
该服务是建立在feathersJS 之上的,而feathersJS 又是建立在Express 之上的。
我们像这样启动 APM:
package.json 中列出的依赖项是: