问题标签 [stackify]
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.
asp.net - 如何获得 ASP.NET 请求的完整、有序的调用堆栈?
我正在尝试在我的 ASP.NET(Nancy,OWIN/System.Web 托管)应用程序中寻找一些性能问题。
通过分析(即 Stackify 工具),我注意到某些请求结束时存在一些“差距”,这不是不明显的调用(例如,不是数据库、HTTP、Redis 等)。
概括:
- 请求耗时 1289 毫秒
- “大多数”(热路径)由 SQL 查询获取。(我现在对此很好,可以优化但不是这个问题的重点)
- 几个“未跟踪的应用程序代码”间隙,占用超过 500 毫秒。
特别是最后一个间隙(340ms)我见过很多,是我调查的重点。
前缀允许自定义代码配置,允许通过将程序集列入白名单来获取有关这些“差距”的更多信息,但问题是我不知道这次花费的是哪个程序集。我的直觉是 Nancy/OWIN/一些依赖注入库等(我尝试将所有这些都列入白名单,但无济于事)。我只知道这不是我在这个 URL 中的直接代码。
所以我的问题是:
- 关于如何找出此请求的完整和有序调用堆栈,然后用作前缀白名单的任何想法?我可以使用的工具?
- 关于如何追查这一差距的任何“中心左翼”想法?另一个工具而不是 Prefix,它告诉我时间花在哪里?
谢谢!
java - Java 的 Stackify 前缀
我正在尝试使用 Stackify Prefix v3.0.18 来分析 WebLogic 12c 中的 Spring Boot 应用程序。JVMstackify-java-apm
按照说明通过代理启动:
-javaagent:"C:\Program Files (x86)\StackifyPrefix\java\lib\stackify-java-apm.jar"
在访问 Spring Boot Actuator 的/health
端点时,我没有在http://localhost:2012的前缀仪表板中得到任何报告。这里有什么问题吗?
进行了一些观察;前缀代理正在尝试:
- 从 Linux/Unix 路径加载属性文件但未能这样做
16:16:24.826 [main] WARN com.stackify.apm.config.a - Unable to find properties file /usr/local/stackify/stackify-java-apm/stackify.properties
- 将文件写入不存在的目录
C:\Program Files (x86)\Stackify\stackify-java-apm\log\
我找不到关于设置和使用 Prefix 来分析 Java 应用程序的端到端演示或教程。
jprofiler - 在 Linux 中安装 stackify
安装指南Stackify
指出我们必须修改文件catalina.sh
以tomcat
添加 java 代理。但是在一个spring-boot
应用程序中,我在哪里可以找到修改文件的tomcat位置。
我通过设置更改了application.properties
文件以设置自定义位置。tomcat
server.tomcat.basedir
我现在如何更改catalina.sh
文件?
stackify - 如何知道 Stackify 前缀已启用?
我正在使用 Stackify 前缀 v3.0.28。我可以从系统托盘启用它。我怎么知道它是否已在任何时候启用?我在系统托盘中看不到视觉提示。我期待像复选标记或“启用 .NET Profiler”附近的东西。如果我再次启用它,它并没有说它已经启用。
c# - stackify 前缀可以捕获完整的响应正文吗?
我有 .net 核心项目并添加 stackify 前缀来监视请求,但在响应前缀中仅显示标头而不显示响应正文。可以看到所有响应正文吗?在前缀站点上,我找到了信息:
它可以捕获传入的 post 数据,还可以捕获响应和响应标头以及响应正文的一部分。现在,我们将其限制为一定数量的字符,因此如果它返回更大的字符,它不会捕获所有字符。
有可能改变这个吗?
c# - Stackify 不在 ASP.NET Core 中使用代理
在 ASP.Net Core 网站中,我使用NLog和StackifyTarget来登录Stackify Retrace。我们的代码在企业 HTTP 代理后面运行。
我有一些返回 WebProxy 的自定义代码。然后在StartUp.csStackifyLib.Utils.HttpClient.CustomWebProxy
的Configure方法中设置 WebProxy 。
写入日志时,它会成功写入文件,但不会写入 StackifyTarget。
当我使用Fiddler调查网络流量时,我可以看到到 Stackify 服务器的出站流量存在407/Proxy AuthenticationRequired错误。
在 WinForms 应用程序 .Net Framework 4.7.2 中使用相同的 StackifyTarget,它可以正常工作:
当我在Log.Info上设置断点时,我可以看到代理信息仍然设置在StackifyLib上。StackifyLib 如何在 ASP.Net Core 中与代理一起正常工作?
monolog - 我可以将一个处理器添加到一个 Monolog 处理程序吗?
我可以将一个处理器添加到一个 Monolog 处理程序吗?还是有其他方法可以更改仅发送给一个特定处理程序的消息?
我想在$record['message']
. 我现在可以使用处理器来执行此操作,但它会影响我的所有处理程序,这对我的情况不利。
谢谢。
asp.net-core - 如何使用 Jetbrains Rider 调试(.net 核心项目)配置 Stackify 前缀
Stackify 前缀可以在 .net 核心项目中通过添加中间件并从 IIS Express 中的 Visual Studio 启动它来配置
但我想通过 JetBrains Rider 调试项目。我可以在 IIS 中启动项目,但前缀不显示任何有关请求的信息。在 Visual Studio 中一切正常。有什么建议我可以做到这一点吗?
c# - Stackify Prefix http://localhost:2012 拒绝连接
几天前我安装了 Stackify Prefix 3.0.28.0 并且分析器工作正常,直到我重新启动系统。系统重新启动后,当我尝试打开http://localhost:2012时,它返回标准 chrome 错误localhost 拒绝连接。(ERR_CONNECTION_REFUSED)但是,正如https://docs.stackify.com/docs/prefix-basic-troubleshooting#verify-if-the-stackify-profiler-is-working的故障排除指南中所述,我注意到分析器正在收集数据,只有http://localhost:2012不起作用。
我尝试了故障排除指南中提到的所有选项,包括重新启动系统、IIS、Stackify Prefix Windows Service和验证的系统环境变量。我还尝试用 127:0.0.1 替换 localhost,为端口 2012 设置 Windows 防火墙规则。一切似乎都很好,但无法使http://localhost:2012正常工作。
http://localhost和 asp.net 应用程序工作正常。根据stackify.log我收到以下错误(即使日志通知 Web 服务器,命名管道服务器已启动):
此外还有多个其他条目,例如
配置: