自定义插桩
默认情况下,Site24x7 APM Insight 代理会捕获所有应用程序事务、已知类和方法以及 Web 框架。在某些情况下,为了最大限度地减少代理对应用程序的负载,不会捕获默认以外的方法或框架。
要查看所有方法和框架并在调试过程中获取更细粒度的信息,您可以对自定义方法或框架进行插桩——此过程在监控领域称为自定义插桩。
自定义插桩在以下情况下非常有用:
- 当您希望对所有应用程序方法和框架实现 100% 的可见性时
- 当您在检查事务跟踪时看到"未插桩代码块"时。在这种情况下,您可以对代理未捕获的方法或类进行插桩,以检查其性能
- 当框架默认不受支持或未进行插桩时
对于上述情况,您可以部署自定义插桩。
注意
- 此方法仅支持 Java 和 .NET Core 代理。
- 您可以通过代理 API 对 Ruby 和 Node.js 应用程序进行自定义插桩。
- 此外,这些配置特定于 APM Insight 应用程序,并将应用于所有实例。对于特定实例的自定义插桩,您可以根据应用程序平台使用 Java 代理 API 或 .NET 代理 API。
- 请参阅此帮助页面,了解如何对 .NET 代理进行自定义插桩。
如何对方法、类或框架进行自定义插桩?
- 登录 Site24x7 > APM Insight > 您的应用程序。
- 导航至编辑应用程序 > 自定义插桩。

- 您可以以文本或 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 : :
- 自定义插桩前后的对比

