帮助手册

自定义插桩

默认情况下,Site24x7 APM Insight 代理会捕获所有应用程序事务、已知类和方法以及 Web 框架。在某些情况下,为了最大限度地减少代理对应用程序的负载,不会捕获默认以外的方法或框架。

要查看所有方法和框架并在调试过程中获取更细粒度的信息,您可以对自定义方法或框架进行插桩——此过程在监控领域称为自定义插桩。

自定义插桩在以下情况下非常有用:

  1. 当您希望对所有应用程序方法和框架实现 100% 的可见性时
  2. 当您在检查事务跟踪时看到"未插桩代码块"时。在这种情况下,您可以对代理未捕获的方法或类进行插桩,以检查其性能
  3. 当框架默认不受支持或未进行插桩时

对于上述情况,您可以部署自定义插桩。

注意
  • 此方法仅支持 Java 和 .NET Core 代理。
  • 您可以通过代理 API 对 RubyNode.js 应用程序进行自定义插桩。
  • 此外,这些配置特定于 APM Insight 应用程序,并将应用于所有实例。对于特定实例的自定义插桩,您可以根据应用程序平台使用 Java 代理 API.NET 代理 API
  • 请参阅此帮助页面,了解如何对 .NET 代理进行自定义插桩。

如何对方法、类或框架进行自定义插桩?

  1. 登录 Site24x7 > APM Insight > 您的应用程序。
  2. 导航至编辑应用程序 > 自定义插桩
  3. 您可以以文本或 JSON 格式输入配置文件。下面给出了两种格式的说明。
    注意

    对于 JSON 和文本两种类型,请使用以下格式指定完全限定类名:
    Java 类格式 - com/site24x7/apminsight/agent/JavaAgent
    Dotnet 类格式 - Com.Site24x7.Apminsight.Agent.DotAgent

JSON 类型:

格式

{"Fully qualified ClassName":{"MethodName1" : "ComponentName", "MethodName2" : "ComponentName" }}

示例

{
"com.sample.web.tasks.ModelUpdateHandler":
;{"doHandle":"MODEL_UPDATE",
"update":"MODEL_UPDATE"}
}

文本类型:

格式

Fully qualified ClassName : methodNames separated by comma(,) : Component Name

示例

com.sample.web.tasks.ModelUpdateHandler : doHandle,update : MODEL_UPDATE
com.sample.web.services.SystemCheck : doCheck, isHealthy :
com.sample.web.store.DataModifier : : MODIFIER
com.sample.web.utils.FileUtils : :
  1. 自定义插桩前后的对比

本文档对您有帮助吗?

您愿意帮助我们改进文档吗?请告诉我们哪些方面可以做得更好。


很抱歉本文档未能让您满意。我们希望了解可以从哪些方面改进您的体验。


感谢您抽出时间分享反馈。我们将利用您的反馈来改进在线帮助资源。

短链接已复制!