Skip to content

Commit

Permalink
重命名+fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Viola-Siemens committed Feb 16, 2025
1 parent 1fa35fe commit da3240f
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -53,24 +53,23 @@ public static void premain(String agentArg, Instrumentation inst) {
logger.error(e);
}

String[] args = agentArg.split(";");
if(INJECT_METHOD) {
String[] args = agentArg.split(";");
if (args.length < 2) {
logger.error("Failed to parse agent arguments. Expect 2 arguments, found %d: [%s].", args.length, Log.buildArrayString(args));
return;
}
inst.addTransformer(new InjectLogTransformer(args[0], args[1]), true);
logger.info("Successfully added transformer for %s of class %s, type %s, phase %s.", args[1], args[0], args[2], args[3]);
logger.info("Successfully added transformer for method %s of class %s.", args[1], args[0]);
} else {
//Parse
String[] args = agentArg.split(";");
if (args.length < 4) {
logger.error("Failed to parse agent arguments. Expect 4 arguments, found %d: [%s].", args.length, Log.buildArrayString(args));
return;
}
//Main
inst.addTransformer(new WrapContainerTransformer(args[0], args[1], Type.fromName(args[2]), Phase.fromName(args[3])), true);
logger.info("Successfully added transformer for %s of class %s, type %s, phase %s.", args[1], args[0], args[2], args[3]);
logger.info("Successfully added transformer for field %s of class %s, type %s, phase %s.", args[1], args[0], args[2], args[3]);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
@SuppressWarnings("unchecked")
public final class Containers {
public static final Log logger;
private static final boolean fix;
private static final boolean transformToThreadSafe;

public static <T> List<T> newWrappedList(Object wrapped) {
try {
if(Log.canWrap()) {
if(fix) {
if(transformToThreadSafe) {
return new CopyOnWriteArrayList<>((List<T>) wrapped);
}
return new WrappedList<>((List<T>) wrapped);
Expand All @@ -34,7 +34,7 @@ public static <T> List<T> newWrappedList(Object wrapped) {
public static <T> Set<T> newWrappedSet(Object wrapped) {
try {
if(Log.canWrap()) {
if(fix) {
if(transformToThreadSafe) {
Set<T> ret = ConcurrentHashMap.newKeySet();
ret.addAll((Set<T>) wrapped);
return ret;
Expand All @@ -50,7 +50,7 @@ public static <T> Set<T> newWrappedSet(Object wrapped) {
public static <K, V> Map<K, V> newWrappedMap(Object wrapped) {
try {
if(Log.canWrap()) {
if(fix) {
if(transformToThreadSafe) {
return new ConcurrentHashMap<>((Map<K, V>) wrapped);
}
return new WrappedMap<>((Map<K, V>) wrapped);
Expand All @@ -73,9 +73,9 @@ private Containers() {
}
boolean fixConcurrent = false;
try {
fixConcurrent = Boolean.parseBoolean(System.getProperty("cme_suck_my_duck.fix"));
fixConcurrent = Boolean.parseBoolean(System.getProperty("cme_suck_my_duck.transform_to_thread_safe"));
} catch (Exception ignored) {
}
fix = fixConcurrent;
transformToThreadSafe = fixConcurrent;
}
}

0 comments on commit da3240f

Please sign in to comment.