You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2019/08/11 04:33:03 UTC

[skywalking] branch kezhenxu94-patch-1 created (now 445ae6c)

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

kezhenxu94 pushed a change to branch kezhenxu94-patch-1
in repository https://gitbox.apache.org/repos/asf/skywalking.git.


      at 445ae6c  Add attention note to plugin development guide

This branch includes the following new commits:

     new 445ae6c  Add attention note to plugin development guide

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[skywalking] 01/01: Add attention note to plugin development guide

Posted by ke...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a commit to branch kezhenxu94-patch-1
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit 445ae6c43ae2a0b79fc10d8ac6364bc887a5fe87
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Sun Aug 11 12:32:57 2019 +0800

    Add attention note to plugin development guide
---
 docs/en/guides/Java-Plugin-Development-Guide.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/en/guides/Java-Plugin-Development-Guide.md b/docs/en/guides/Java-Plugin-Development-Guide.md
index e5ee13a..fe08dbb 100644
--- a/docs/en/guides/Java-Plugin-Development-Guide.md
+++ b/docs/en/guides/Java-Plugin-Development-Guide.md
@@ -225,7 +225,8 @@ ClassMatch represents how to match the target classes, there are 4 ways:
 * byHierarchyMatch, through the class's parent classes or interfaces
 
 **Attentions**:
-* Forbid to use `*.class.getName()` to get the class String name. Recommend you to use literal String. This is for 
+* Never use `ThirdPartyClass.class` in the instrumentation definitions, such as `takesArguments(ThirdPartyClass.class)`, or `byName(ThirdPartyClass.class.getName())`, because of the fact that `ThirdPartyClass` dose not necessarily exist in the target application and this will break the agent; we have `import` checks to help on checking this in CI, but it doesn't cover all scenarios of this limitation, so never try to work around this limitation by something like using full-qualified-clas [...]
+* Even you are perfectly sure that the class to be intercepted exists in the target application (such as JDK classes), still, don't use `*.class.getName()` to get the class String name. Recommend you to use literal String. This is for 
 avoiding ClassLoader issues.
 * `by*AnnotationMatch` doesn't support the inherited annotations.
 * Don't recommend to use `byHierarchyMatch`, unless it is really necessary. Because using it may trigger intercepting