Skip to content

Commit e1380f9

Browse files
authored
Migrate mongoclient plugin to indy (#1369)
1 parent 19a619a commit e1380f9

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

CHANGELOG.asciidoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ Even when matching on the main class name or on system properties,
7171
* Fix `NullPointerException` on legacy Apache client instrumentation when host is `null` - {pull}1746[#1746]
7272
* Apply consistent proxy class exclusion heuristic - {pull}1738[#1738]
7373
74+
[float]
75+
===== Refactors
76+
* Migrate MongoDB plugin to indy dispatcher {pull}1369[#1369]
77+
7478
[[release-notes-1.x]]
7579
=== Java Agent version 1.x
7680

apm-agent-plugins/apm-mongoclient-plugin/src/main/java/co/elastic/apm/agent/mongoclient/ConnectionAdvice.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
*/
2525
package co.elastic.apm.agent.mongoclient;
2626

27-
import co.elastic.apm.agent.bci.VisibleForAdvice;
2827
import co.elastic.apm.agent.impl.GlobalTracer;
2928
import co.elastic.apm.agent.impl.transaction.AbstractSpan;
3029
import co.elastic.apm.agent.impl.transaction.Span;
@@ -41,12 +40,11 @@
4140

4241
public class ConnectionAdvice {
4342

44-
@VisibleForAdvice
4543
public static final Logger logger = LoggerFactory.getLogger(ConnectionAdvice.class);
4644

4745
@Nullable
48-
@Advice.OnMethodEnter(suppress = Throwable.class)
49-
public static Span onEnter(@Advice.This Connection thiz,
46+
@Advice.OnMethodEnter(suppress = Throwable.class, inline = false)
47+
public static Object onEnter(@Advice.This Connection thiz,
5048
@Advice.Argument(0) Object databaseOrMongoNamespace,
5149
@Advice.Argument(1) BsonDocument command) {
5250
Span span = null;
@@ -113,9 +111,10 @@ public static Span onEnter(@Advice.This Connection thiz,
113111
return span;
114112
}
115113

116-
@Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class)
117-
public static void onExit(@Nullable @Advice.Enter Span span, @Advice.Thrown Throwable thrown, @Advice.Origin("#m") String methodName) {
118-
if (span != null) {
114+
@Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class, inline = false)
115+
public static void onExit(@Nullable @Advice.Enter Object spanObj, @Advice.Thrown Throwable thrown, @Advice.Origin("#m") String methodName) {
116+
if (spanObj instanceof Span) {
117+
Span span = (Span) spanObj;
119118
span.deactivate().captureException(thrown);
120119
if (!methodName.endsWith("Async")) {
121120
span.end();

apm-agent-plugins/apm-mongoclient-plugin/src/main/java/co/elastic/apm/agent/mongoclient/ConnectionInstrumentation.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ public ElementMatcher<? super MethodDescription> getMethodMatcher() {
6969
}
7070

7171
@Nullable
72-
@Advice.OnMethodEnter(suppress = Throwable.class)
73-
public static Span onEnter(@Advice.This Connection thiz,
72+
@Advice.OnMethodEnter(suppress = Throwable.class, inline = false)
73+
public static Object onEnter(@Advice.This Connection thiz,
7474
@Advice.Argument(0) MongoNamespace namespace,
7575
@Advice.Origin("#m") String methodName) {
7676
Span span = null;
@@ -109,9 +109,10 @@ public static Span onEnter(@Advice.This Connection thiz,
109109
return span;
110110
}
111111

112-
@Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class)
113-
public static void onExit(@Nullable @Advice.Enter Span span, @Advice.Thrown Throwable thrown) {
114-
if (span != null) {
112+
@Advice.OnMethodExit(suppress = Throwable.class, onThrowable = Throwable.class, inline = false)
113+
public static void onExit(@Nullable @Advice.Enter Object spanObj, @Advice.Thrown Throwable thrown) {
114+
if (spanObj instanceof Span) {
115+
Span span = (Span) spanObj;
115116
span.deactivate().captureException(thrown);
116117
span.end();
117118
}

apm-agent-plugins/apm-mongoclient-plugin/src/main/java/co/elastic/apm/agent/mongoclient/MongoClientInstrumentation.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,4 @@ public Collection<String> getInstrumentationGroupNames() {
4949
return Collections.singletonList("mongodb-client");
5050
}
5151

52-
@Override
53-
public boolean indyPlugin() {
54-
return false;
55-
}
5652
}

0 commit comments

Comments
 (0)