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 <[email protected]>
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}`    

Reply via email to