问题标签 [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.

0 投票
2 回答
325 浏览

.net - Datadog 是否支持运行时代码检测?

我正在寻找 APM 的一些替代方案,我喜欢 Datadog 集成点的广泛列表。但是,似乎我必须更改代码才能将统计信息显式发送到 Datadog。Datadog 不支持运行时检测吗?我的技术堆栈是 MS .NET/C# 和 SQL Server 后端。

谢谢!

0 投票
0 回答
268 浏览

java - Apache Spark 的 CoarseGrainedScheduler 如何开始使用?

我正在尝试使用 APM(应用程序性能管理系统)检测 Spark(v 1.6.1)应用程序。要使用所选的 APM 执行此操作,我必须使用-javaagent标志来检测 JVM 启动字符串,指向我的 APM 以及任何相关的 APM 选项(例如,unique-host-id)。

在 Spark Master 服务器上,我成功地完成了这项工作,在各种 Spark Worker 服务器上,我也成功地检测了 spark Worker 进程。

但是,当我查看正在运行的 Java 进程时,我看到了一个不包含我的启动字符串的附加进程:CoarseGrainedScheduler。CoarseGrainedScheduler 是实际的 Spark 执行器,它运行由 Master 提交给 Worker 的 Worker 应用程序代码。

我无法确定从哪里调用 CoarseGrainedScheduler。

因此,对于更多上下文,这是我检测 Spark Worker 启动字符串的方式: 在 中{SPARK_HOME}/conf/spark_env.sh,我添加了以下环境变量:

SPARK_DAEMON_JAVA_OPTS="<java-agent-startup-string>"

这一直持续到最终调用{SPARK_HOME}/bin/spark-class,这是所有 Spark 调用的根源;也就是说,所有发出{SPARK_HOME}/bin{SPARK_HOME}/sbin最终委托给spark_class.

然而,这似乎不是调用 CoarseGrainedScheduler 的地方。但是,查看此文档,这就是它被调用的地方:

那么,为什么我的启动字符串没有被拾起?根据通过 spark-class 调用 CoarseGrainedExecutorBackend 的假设/指令,我实际上编辑了该文件以在运行任何 java 命令时添加我的启动字符串,并且也无法将我的启动字符串添加到 CoarseGrainedExecutorBackend,尽管它确实将它添加到Spark Worker 进程本身。再一次,似乎 CoarseGrainedExecutorBackend 不是通过 spark-class 启动的,即使链接的文档说它是。

谁能帮我找到 CoarseGrainedExecutorBackend 进程的根源以及它是如何调用的?如果我可以提供任何其他详细信息,请告诉我。

0 投票
3 回答
4864 浏览

java - 为什么堆内存使用图是这样的?

我已经在我的 JVM 上安装了 Glowroot(Java 应用程序监控)。当我的应用程序空闲时,我会得到这种内存堆使用情况的图形。图案看起来几乎是均匀的。有人可以解释一下,并指出任何关于为什么图表看起来像这样的博客文章吗?我好奇。

在此处输入图像描述

0 投票
1 回答
395 浏览

performance - 没有侦听器的 PerfMon 服务器代理

PerfMon 服务器代理与 JMeter 的 Listener 一起工作正常jp@gc - PerfMon Metrics Collector

但它可以充当独立的应用程序性能监控 (APM) 代理吗?

我看到我可以连接并请求特定的指标

服务器代理使用简单的纯文本协议,任何人都可以使用代理的能力实现客户端,基于 kg.apc.perfmon.client.Transport 接口。如果有人感兴趣,请在支持论坛上启动主题,我将描述如何将第三方客户端应用程序连接到代理。

但是我可以在我的应用程序启动时启动 PerfMon 服务器并“始终”保存指标(直到应用程序关闭)而无需任何侦听器?

我还可以在其他工具中显示结果jp@gc - PerfMon Metrics Collector吗?

0 投票
1 回答
1611 浏览

elasticsearch - 安装 ElasticSearch APM

我正在尝试设置 ElasticSearch APM,我的操作系统是 Ubuntu 16.04,我在系统上安装了 ElasticSearch 和 Kibana,
我指的是以下站点的安装步骤 -
https://jee-appy.blogspot.com/2018/02/setup -kibana-elastisearch.html

ElasticSearch和Kibana的安装命令如下-

# 安装 Elasticsearch-6

根据要求更改绑定地址和 JVM 堆选项

在 elasticsearch.yml 中将 network.host 更改为 0.0.0.0 并在 jvm.options 中设置 -Xms 4g & -Xmx 4g

如果您正在创建单节点集群,请将只读副本设置为 0

curl -XPUT H 'Content-Type: application/json' 'http://localhost:9200/_all/_settings?preserve_existing=false' -d '{"index.number_of_replicas" : "0"}'

安装 Kibana

安装 nginx

为 kibana 添加 nginx 配置文件

将 mykibana.com 替换为您的 server_name 或 IP。我们将在下一步设置 auth,因此我们在 kibana.conf 中为 auth_basic 放置了一行

设置身份验证

在运行 htpasswd 时安装 apache2-utils 后,它会要求输入密码,提供密码。当您尝试从浏览器访问 kibana 时,此用户名和密码将很有用。

Kibana 的 Web 视图

安装成功后,点击http://localhost:5601
输入用户名和密码,您将看到如下所示的 kibana web。

APM 设置

安装 ElasticSearch 和 Kibana 后,
我正在尝试将 APM 服务器安装到其中。
我使用以下命令来安装它 -

导入仪表板 -

./apm-服务器设置

在触发上述命令时,我收到以下错误 -

请帮助设置 APM

0 投票
0 回答
44 浏览

javascript - 调用异步函数时,将回调包装在一个闭包中,该闭包将在执行原始重新进入代码之前恢复上下文

我刚刚阅读了有关 Context 保存的 NewRelic 文档,他们有这个我不明白的声明:

调用异步函数时,将回调包装在一个闭包中,该闭包将在执行原始重新进入代码之前恢复上下文。

参考:https ://github.com/newrelic/node-newrelic/blob/master/examples/shim/Context-Preservation.md

这里有人可以解释这个说法吗?也许一个示例代码将不胜感激。谢谢

0 投票
1 回答
218 浏览

ibm-cloud - 如何使用 IBM Application Performance Manager 监控 IBM Cloud 原生应用程序的性能?

IBM 提供 APM 作为 SaaS 服务,通过对代码和事务的洞察来端到端监控应用程序性能。它要求将其收集代理安装在各种应用程序组件中以收集指标。我可以看到 IBM Cloud (Bluemix) 应用程序中支持的应用程序模板之一。我喜欢使用它来监控我的 IBM Cloud 本机应用程序。应用程序在云中,我假设所有收集代理都是自动安装的,或者我可以以某种方式配置它们。完成后,APM 应该会帮助我连接到这些应用程序并开始监控它们。虽然这是我的理解,但我没有看到任何文档/文章可以为我提供配置 IBM Cloud 应用程序以进行 APM 集成和连接的步骤。任何人都可以有监控此类应用程序的经验吗?任何人都可以分享文章以实现相同的步骤吗?

谢谢马诺伊

0 投票
0 回答
625 浏览

.net - 如何防止 McAfee 与 .Net 应用程序上的 APM 代理交互?

我们已经使用 AppDynamics APM 代理 (v4.5.2) 在 Windows 2012 上的 IIS8.0 中检测了一个 .Net 4.0 应用程序。

此服务器还安装了 McAfee Endpoint Protection v10.6.0.542 和威胁防护 v10.6.0.672。

安装了 APM 代理后,在典型负载下 CPU 会高得多(在 2 个 vCPU 上,使用代理约为 50-60%,不使用代理时为 10%)。在重负载下,应用程序也开始变得不稳定(请求开始排队和超时,响应时间变得非常长,开始出现错误)。

我们注意到,启用 McAfee 后,它会将两个 DLL 注入 w3wp 进程 - EpMPApi.dll 和 EpMPThe.dll。我们使用 Process Explorer 检查了这一点,查看了为该进程加载的 DLL。

我们运行了各种组合的性能测试:

  • 多个不同版本的 APM 代理(没有区别)
  • 代理的不同配置。我们发现排除系统库(System.dll)后,CPU 会低很多,性能可以接受,但响应时间仍然比没有代理的情况下要长。
  • 在完全禁用 McAfee 的情况下,DLL 不存在,CPU/性能与之前没有代理的测试相似 - 开销在预期/可接受的范围内。

我们尝试在 McAfee 中添加 w3wp.exe 作为异常,但是我们看到 DLL 仍然加载,并且仍然出现高 CPU 和性能不佳的情况。

在内存转储中,我们始终看到应用程序线程等待 EpMPApi.dll 使用的关键部分。它似乎与尝试建立套接字连接的应用程序有关(它经常这样做,因为所有请求都涉及对下游系统的 WCF 调用)。

我们想了解我们是否/如何将 McAfee 配置为完全排除 w3wp.exe,或者停止它正在执行的任何与 APM 代理交互不良的活动。

我们还在 APM 代理方面工作,以了解我们是否可以在那里采取任何措施来防止或解决这种行为。

谢谢!

0 投票
1 回答
520 浏览

c# - Dynatrace OneAgent 如何更改 dotnet 应用程序 HTTP 标头

我对 dotnet 应用程序监控很感兴趣。我发现 Dynatrace 开发的 OneAgent 很棒。

我想知道代理如何将 HTTP 标头添加到 HTTP 请求中,即使我没有更改任何内容。

我发现代理添加了以下标题。

任何人都知道这些标头是如何添加到 http 请求中的吗?

0 投票
1 回答
259 浏览

performance - 在 Dynatrace Appmon Web 中创建一个仪表板,显示一组纯路径/Web 请求

我想创建一个带有 1 个磁贴的仪表板,显示一组与我感兴趣的一些 Web 应用程序流相关的纯路径/Web 请求(如产品搜索请求、将产品添加到购物篮等)。基本上,我对这些纯路径/网络请求的“响应时间”感兴趣,这样我就可以定期跟踪是否可以优化任何纯路径!如何在 Dynatrace Appmon web 中创建相同的内容?服务器上安装的 Dynatrace Appmon 是版本# 7.0.9.1019。