2.1.0-RELEASE
Feature
-
Add two run modes :
- agent-launcher :
Start XPocket with agent-launcher mode with command,e.g sh xpocket.sh -run_mode agent-launcher -pid 1 -port 9527. XPocket will attach the xpocket-agent to the target process, and start a telnet-server with port that be defined in args (Default : 9527). It will load all on-attach mode Java Agent Plugins. Then start a telent-client UI in current terminal. - once : Start XPocket with once mode with command,e.g sh xpocket.sh -run_mode once "echo test".XPocket will start,and run command echo test.And the process exit directly.
- agent-launcher :
-
Revised XPocket Plugin SPI
- Add a new interface XPocketAgentPlugin to define initial operation for a new type of plugin - XPocketAgentPlugin.
<dependency>
<groupId>com.perfma.xlab</groupId>
<artifactId>xpocket-plugin-spi</artifactId>
<version>2.1.0-RELEASE</version>
</dependency>
- Revised XPocket Framework SPI
- Add a new start method in UIEngine|MainUIManager on purpose transfering Instrumentation object for XPocketAgentPlugins.
- Add a new loadPlugins method in PluginLoader|PluginManager on purpose transfering Instrumentation object for XPocketAgentPlugins.
<dependency>
<groupId>com.perfma.xlab</groupId>
<artifactId>xpocket-framework-spi</artifactId>
<version>2.1.0-RELEASE</version>
</dependency>
- XPocket-SDK
- Add a new module xpocket-sdk. This module will be used by developers for Testing/Debugging developing-plugins. It can run your plugin in the IDE.
<dependency>
<groupId>com.perfma.xlab</groupId>
<artifactId>xpocket-sdk</artifactId>
<version>2.1.0-RELEASE</version>
</dependency>
- XPocket Plugin Archtype
- Setup a maven archtype for plugin developers.
<dependency>
<groupId>com.perfma.xlab</groupId>
<artifactId>xpocket-plugin-archetype</artifactId>
<version>2.0.1-RELEASE</version>
</dependency>
-
XPocket-JLine
- Add a new module xpocket-jline. The module integrates jline2 & jline3 for comprehensive using of ConsoleReader in jline2.
-
A new render algorithm for default AsciiArt logo has been used. Now new logo will like this:
_ _ _ _____ _____ ____
| | | | | | / ____| | __ \ | _ \
| | | |__| | | (___ | | | | | |_) |
_ | | | __ | \___ \ | | | | | _ <
| |__| | | | | | ____) | | |__| | | |_) |
\____/ |_| |_| |_____/ |_____/ |____/
Bugfix
- Input keyboard operation has missed when some plugin running in full-screen mode (Just like top). Now XPocket will transfer this operations to target plugin correctly.
- Now XPocket will switch thread context classloader with correct XPocketPluginClassLoader when plugin is initialing and running.
Reference
Issues: https://github.com/PerfMa/xpocket/milestone/1?closed=1
[#17] FEATURE: 目标进程统一agent控制,统一管理目标进程与XPocket进程的通讯
[#14] FEATURE: XPocket插件开发SDK,提供直接启动入口,在IDE中直接调试开发中的插件
[#15] BUG: 执行过程中的用户输入未正确传递的问题