You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2021/02/27 16:27:20 UTC

[skywalking] branch master updated: Refine Compatible-with-other-javaagent-bytecode-processing.md and rename to Compatibility-with-other-Java-agent-bytecode-processes.md (#6467)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new a11a048  Refine Compatible-with-other-javaagent-bytecode-processing.md and rename to Compatibility-with-other-Java-agent-bytecode-processes.md (#6467)
a11a048 is described below

commit a11a0487431882f143815ceaba0ceda7b7115aa1
Author: Wing <69...@users.noreply.github.com>
AuthorDate: Sun Feb 28 00:27:09 2021 +0800

    Refine Compatible-with-other-javaagent-bytecode-processing.md and rename to Compatibility-with-other-Java-agent-bytecode-processes.md (#6467)
---
 ...ble-with-other-javaagent-bytecode-processing.md | 42 +++++++++++-----------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/docs/en/FAQ/Compatible-with-other-javaagent-bytecode-processing.md b/docs/en/FAQ/Compatible-with-other-javaagent-bytecode-processing.md
index 0c9715b..fa9591f 100644
--- a/docs/en/FAQ/Compatible-with-other-javaagent-bytecode-processing.md
+++ b/docs/en/FAQ/Compatible-with-other-javaagent-bytecode-processing.md
@@ -1,52 +1,52 @@
-## Compatible with other javaagent bytecode processing
+## Compatibility with other Java agent bytecode processes
 
 ### Problem
-1. When use skywalking agent, some other agent, such as Arthas, can't work well 
+1. When using the SkyWalking agent, some other agents, such as Arthas, can't work properly. 
 https://github.com/apache/skywalking/pull/4858
 
-2. Java agent retransforming class fails with Skywalking agent, such as in this [demo](https://github.com/SkyAPMTest/retransform-conflict-demo)
+2. The retransform classes in the Java agent conflict with the SkyWalking agent, as illustrated in this [demo](https://github.com/SkyAPMTest/retransform-conflict-demo)
  
-### Reason
-SkyWalking agent uses ByteBuddy to transform classes when the Java application starts. 
+### Cause
+The SkyWalking agent uses ByteBuddy to transform classes when the Java application starts. 
 ByteBuddy generates auxiliary classes with different random names every time. 
 
-When another java agent retransforms the same class, it triggers the SkyWalking agent to enhance the class again. 
-The bytecode regenerated by ByteBuddy is changed, the fields and imported class names are modified, the JVM verifications about class bytecode fail, causing the retransform fails.
+When another Java agent retransforms the same class, it triggers the SkyWalking agent to enhance the class again. 
+Since the bytecode has been regenerated by ByteBuddy, the fields and imported class names have been modified, and the JVM verifications on class bytecode have failed, the retransform classes would therefore be unsuccessful.
 
 
-### Resolve
+### Resolution
 
-**1.Enable the class cache feature**  
+**1. Enable the class cache feature**  
 
 Add JVM parameters:  
 `-Dskywalking.agent.is_cache_enhanced_class=true -Dskywalking.agent.class_cache_mode=MEMORY`    
 
-Or uncomment options in `agent.conf`:
+Or uncomment the following options in `agent.conf`:
   
 ```
-# If true, SkyWalking agent will cache all instrumented classes files to memory or disk files (decided by class cache mode),
-# allow other javaagent to enhance those classes that enhanced by SkyWalking agent.
+# If true, the SkyWalking agent will cache all instrumented classes files to memory or disk files (as determined by the class cache mode),
+# Allow other Java agents to enhance those classes that are enhanced by the SkyWalking agent.
 agent.is_cache_enhanced_class = ${SW_AGENT_CACHE_CLASS:false}
 
 # The instrumented classes cache mode: MEMORY or FILE
-# MEMORY: cache class bytes to memory, if instrumented classes is too many or too large, it may take up more memory
-# FILE: cache class bytes to user temp folder starts with 'class-cache', automatically clean up cached class files when the application exits
+# MEMORY: cache class bytes to memory; if there are too many instrumented classes or if their sizes are too large, it may take up more memory
+# FILE: cache class bytes to user temp folder starts with 'class-cache', and automatically clean up cached class files when the application exits
 agent.class_cache_mode = ${SW_AGENT_CLASS_CACHE_MODE:MEMORY}
 
 ```
 
 If the class cache feature is enabled, save the instrumented class bytecode to memory or a temporary file. 
-When other java agents retransform the same class, SkyWalking agent first attempts to load from the cache.
+When other Java agents retransform the same class, the SkyWalking agent first attempts to load from the cache.
 
-If the cached class is found, it will be used directly without regenerating a new random name auxiliary class, 
-which will not affect the processing of the subsequent java agent.
+If the cached class is found, it will be used directly without regenerating an auxiliary class with a new random name. 
+Then, the process of the subsequent Java agent will not be affected.
 
-**2.Class cache save mode**  
-It is recommended to put the cache class in memory, meanwhile if it costs more memory resources. Another option is using the local file system. Set the class cache mode through the following options:  
-`-Dskywalking.agent.class_cache_mode=MEMORY` : save cache classes to java memory.    
+**2. Class cache save mode**  
+We recommend saving cache classes to memory, if it takes up more memory space. Alternatively, you can use the local file system. Set the class cache mode in one of the folliwng ways:  
+`-Dskywalking.agent.class_cache_mode=MEMORY` : save cache classes to Java memory.    
 `-Dskywalking.agent.class_cache_mode=FILE` : save cache classes to SkyWalking agent path '/class-cache'.  
 
-Or modify the option in `agent.conf`:
+Or modify these options in `agent.conf`:
   
 `agent.class_cache_mode = ${SW_AGENT_CLASS_CACHE_MODE:MEMORY}`    
 `agent.class_cache_mode = ${SW_AGENT_CLASS_CACHE_MODE:FILE}`