灵活、动态地使用byteman注入结构化建议

Andrew Dinn
{"title":"灵活、动态地使用byteman注入结构化建议","authors":"Andrew Dinn","doi":"10.1145/1960314.1960325","DOIUrl":null,"url":null,"abstract":"Byteman is a flexible, dynamic advice injection tool for Java. It uses an Event Condition Action rule script language to structure placement and control execution of injected Java code fragments. The Byteman agent can be loaded at application startup or into a running application and rules can be loaded, unloaded and reloaded while the application continues running.\n This makes Byteman ideal for use in live deployments, simplifying tracing and diagnosis of bugs and investigation and monitoring of performance issues. Byteman is also very useful during all stages of testing. Tests can inject rules into an application or subsystem during test initialisation or as the test progresses, redirecting or breaking the application code at strategic points and validating application behaviour. This limits the need to write harness or mock code, and minimises the extent to which the test distorts normal execution, ensuring that test conditions are as close to live running as possible.\n Byteman is being used widely within JBoss to perform unit, integration and system testing. Our customer support team use it to perform tracing, debugging and validation of JVM, JBoss and customer code, both inhouse and in live deployments. We are currently developing an extensible, reconfigurable statistical performance monitoring package for JBoss AS based on Byteman. We expect this to be easily extended by JBoss AS customers to enable monitoring of their own applications.\n This paper employs real examples of these use cases to demonstrate how Byteman works. It shows how Byteman makes advice injection simpler, quicker and more interactive than alternative tools without sacrificing power or rigour.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-03-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":"{\"title\":\"Flexible, dynamic injection of structured advice using byteman\",\"authors\":\"Andrew Dinn\",\"doi\":\"10.1145/1960314.1960325\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Byteman is a flexible, dynamic advice injection tool for Java. It uses an Event Condition Action rule script language to structure placement and control execution of injected Java code fragments. The Byteman agent can be loaded at application startup or into a running application and rules can be loaded, unloaded and reloaded while the application continues running.\\n This makes Byteman ideal for use in live deployments, simplifying tracing and diagnosis of bugs and investigation and monitoring of performance issues. Byteman is also very useful during all stages of testing. Tests can inject rules into an application or subsystem during test initialisation or as the test progresses, redirecting or breaking the application code at strategic points and validating application behaviour. This limits the need to write harness or mock code, and minimises the extent to which the test distorts normal execution, ensuring that test conditions are as close to live running as possible.\\n Byteman is being used widely within JBoss to perform unit, integration and system testing. Our customer support team use it to perform tracing, debugging and validation of JVM, JBoss and customer code, both inhouse and in live deployments. We are currently developing an extensible, reconfigurable statistical performance monitoring package for JBoss AS based on Byteman. We expect this to be easily extended by JBoss AS customers to enable monitoring of their own applications.\\n This paper employs real examples of these use cases to demonstrate how Byteman works. It shows how Byteman makes advice injection simpler, quicker and more interactive than alternative tools without sacrificing power or rigour.\",\"PeriodicalId\":353153,\"journal\":{\"name\":\"Aspect-Oriented Software Development\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2011-03-21\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"9\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Aspect-Oriented Software Development\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1960314.1960325\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Aspect-Oriented Software Development","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1960314.1960325","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9

摘要

Byteman是一个灵活的、动态的Java通知注入工具。它使用事件条件操作规则脚本语言来组织注入的Java代码片段的放置和控制执行。Byteman代理可以在应用程序启动时加载,也可以加载到正在运行的应用程序中,并且可以在应用程序继续运行时加载、卸载和重新加载规则。这使得Byteman非常适合用于实时部署,简化了对bug的跟踪和诊断,以及对性能问题的调查和监控。Byteman在所有测试阶段都非常有用。测试可以在测试初始化期间或随着测试的进展将规则注入到应用程序或子系统中,在策略点重定向或破坏应用程序代码,并验证应用程序行为。这限制了编写控制或模拟代码的需要,并最小化了测试对正常执行的扭曲程度,确保测试条件尽可能接近实时运行。Byteman在JBoss中被广泛用于执行单元、集成和系统测试。我们的客户支持团队使用它来执行跟踪、调试和验证JVM、JBoss和客户代码,无论是在内部还是在实际部署中。我们目前正在基于Byteman为JBoss AS开发一个可扩展的、可重构的统计性能监控包。我们希望JBoss AS客户能够很容易地扩展这一点,从而能够监视他们自己的应用程序。本文使用这些用例的真实示例来演示Byteman是如何工作的。它展示了Byteman如何使建议注入比其他工具更简单、更快、更具交互性,同时又不牺牲功能或严格性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Flexible, dynamic injection of structured advice using byteman
Byteman is a flexible, dynamic advice injection tool for Java. It uses an Event Condition Action rule script language to structure placement and control execution of injected Java code fragments. The Byteman agent can be loaded at application startup or into a running application and rules can be loaded, unloaded and reloaded while the application continues running. This makes Byteman ideal for use in live deployments, simplifying tracing and diagnosis of bugs and investigation and monitoring of performance issues. Byteman is also very useful during all stages of testing. Tests can inject rules into an application or subsystem during test initialisation or as the test progresses, redirecting or breaking the application code at strategic points and validating application behaviour. This limits the need to write harness or mock code, and minimises the extent to which the test distorts normal execution, ensuring that test conditions are as close to live running as possible. Byteman is being used widely within JBoss to perform unit, integration and system testing. Our customer support team use it to perform tracing, debugging and validation of JVM, JBoss and customer code, both inhouse and in live deployments. We are currently developing an extensible, reconfigurable statistical performance monitoring package for JBoss AS based on Byteman. We expect this to be easily extended by JBoss AS customers to enable monitoring of their own applications. This paper employs real examples of these use cases to demonstrate how Byteman works. It shows how Byteman makes advice injection simpler, quicker and more interactive than alternative tools without sacrificing power or rigour.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信