Skip to content

Commit b142954

Browse files
committed
Follow existing SQL telemetry conventions
1 parent ba653bf commit b142954

File tree

2 files changed

+39
-15
lines changed
  • agent/exporter/src/main/java/com/microsoft/applicationinsights/agent
  • test/smoke/testApps/Jdbc/src/smokeTest/java/com/microsoft/applicationinsights/smoketestapp

2 files changed

+39
-15
lines changed

agent/exporter/src/main/java/com/microsoft/applicationinsights/agent/Exporter.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,19 @@ private void applyDatabaseQuerySpan(SpanData span, RemoteDependencyTelemetry tel
371371
// this is needed until all database instrumentation captures the required db.url
372372
telemetry.setTarget(type);
373373
} else {
374-
telemetry.setTarget(dbUrl);
374+
String dbInstance = getString(span, "db.instance");
375+
if (dbInstance != null) {
376+
dbUrl += " | " + dbInstance;
377+
}
378+
if (span.getInstrumentationLibraryInfo().getName().equals("io.opentelemetry.auto.jdbc")) {
379+
// TODO this is special case to match 2.x behavior
380+
// because U/X strips off the beginning in E2E tx view
381+
telemetry.setTarget("jdbc:" + dbUrl);
382+
// TODO another special case to match 2.x behavior until we decide on new behavior
383+
telemetry.setName(dbUrl);
384+
} else {
385+
telemetry.setTarget(dbUrl);
386+
}
375387
}
376388
// TODO put db.instance somewhere
377389
}

test/smoke/testApps/Jdbc/src/smokeTest/java/com/microsoft/applicationinsights/smoketestapp/JdbcSmokeTest.java

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ public void hsqldbPreparedStatement() throws Exception {
5252

5353
assertTrue(rd.getSuccess());
5454
assertEquals("SQL", rdd.getType());
55-
assertEquals("select * from abc where xyz = ?", rdd.getName());
55+
assertEquals("hsqldb:mem: | test", rdd.getName());
56+
assertEquals("select * from abc where xyz = ?", rdd.getData());
5657
assertTrue(rdd.getSuccess());
5758

5859
assertParentChild(rd, rdEnvelope, rddEnvelope);
@@ -72,7 +73,8 @@ public void hsqldbStatement() throws Exception {
7273

7374
assertTrue(rd.getSuccess());
7475
assertEquals("SQL", rdd.getType());
75-
assertEquals("select * from abc", rdd.getName());
76+
assertEquals("hsqldb:mem: | test", rdd.getName());
77+
assertEquals("select * from abc", rdd.getData());
7678
assertTrue(rdd.getSuccess());
7779

7880
assertParentChild(rd, rdEnvelope, rddEnvelope);
@@ -92,7 +94,8 @@ public void hsqldbBatchPreparedStatement() throws Exception {
9294

9395
assertTrue(rd.getSuccess());
9496
assertEquals("SQL", rdd.getType());
95-
assertEquals("insert into abc (xyz) values (?)", rdd.getName());
97+
assertEquals("hsqldb:mem: | test", rdd.getName());
98+
assertEquals("insert into abc (xyz) values (?)", rdd.getData());
9699
// assertEquals(" [Batch of 3]", rdd.getProperties().get("Args"));
97100
assertTrue(rdd.getSuccess());
98101

@@ -114,8 +117,9 @@ public void hsqldbBatchStatement() throws Exception {
114117

115118
assertTrue(rd.getSuccess());
116119
assertEquals("SQL", rdd.getType());
120+
assertEquals("hsqldb:mem: | test", rdd.getName());
117121
assertEquals("insert into abc (xyz) values ('t'); insert into abc (xyz) values ('u');" +
118-
" insert into abc (xyz) values ('v')", rdd.getName());
122+
" insert into abc (xyz) values ('v')", rdd.getData());
119123
assertEquals(" [Batch]", rdd.getProperties().get("Args"));
120124
assertTrue(rdd.getSuccess());
121125

@@ -138,7 +142,7 @@ public boolean apply(Envelope input) {
138142
}
139143
RemoteDependencyData rdd = (RemoteDependencyData) ((Data) input.getData()).getBaseData();
140144
// the old agent captured several internal queries, e.g. "SHOW WARNINGS"
141-
return rdd.getName().equals("select * from abc where xyz = ?");
145+
return rdd.getData().equals("select * from abc where xyz = ?");
142146
}
143147
}, 10, TimeUnit.SECONDS);
144148

@@ -147,7 +151,8 @@ public boolean apply(Envelope input) {
147151

148152
assertTrue(rd.getSuccess());
149153
assertEquals("SQL", rdd.getType());
150-
assertEquals("select * from abc where xyz = ?", rdd.getName());
154+
assertTrue(rdd.getName().startsWith("mysql://"));
155+
assertEquals("select * from abc where xyz = ?", rdd.getData());
151156
assertTrue(rdd.getSuccess());
152157

153158
assertParentChild(rd, rdEnvelope, rddEnvelope);
@@ -169,15 +174,16 @@ public boolean apply(Envelope input) {
169174
}
170175
RemoteDependencyData rdd = (RemoteDependencyData) ((Data) input.getData()).getBaseData();
171176
// the old agent captured several internal queries, e.g. "SHOW WARNINGS"
172-
return rdd.getName().equals("select * from abc");
177+
return rdd.getData().equals("select * from abc");
173178
}
174179
}, 10, TimeUnit.SECONDS);
175180

176181
RemoteDependencyData rdd = (RemoteDependencyData) ((Data) rddEnvelope.getData()).getBaseData();
177182

178183
assertTrue(rd.getSuccess());
179184
assertEquals("SQL", rdd.getType());
180-
assertEquals("select * from abc", rdd.getName());
185+
assertTrue(rdd.getName().startsWith("mysql://"));
186+
assertEquals("select * from abc", rdd.getData());
181187
assertTrue(rdd.getSuccess());
182188

183189
assertParentChild(rd, rdEnvelope, rddEnvelope);
@@ -197,7 +203,8 @@ public void postgresPreparedStatement() throws Exception {
197203

198204
assertTrue(rd.getSuccess());
199205
assertEquals("SQL", rdd.getType());
200-
assertEquals("select * from abc where xyz = ?", rdd.getName());
206+
assertTrue(rdd.getName().startsWith("postgresql://"));
207+
assertEquals("select * from abc where xyz = ?", rdd.getData());
201208
assertTrue(rdd.getSuccess());
202209

203210
assertParentChild(rd, rdEnvelope, rddEnvelope);
@@ -217,7 +224,8 @@ public void postgresStatement() throws Exception {
217224

218225
assertTrue(rd.getSuccess());
219226
assertEquals("SQL", rdd.getType());
220-
assertEquals("select * from abc", rdd.getName());
227+
assertTrue(rdd.getName().startsWith("postgresql://"));
228+
assertEquals("select * from abc", rdd.getData());
221229
assertTrue(rdd.getSuccess());
222230

223231
assertParentChild(rd, rdEnvelope, rddEnvelope);
@@ -237,7 +245,8 @@ public void sqlServerPreparedStatement() throws Exception {
237245

238246
assertTrue(rd.getSuccess());
239247
assertEquals("SQL", rdd.getType());
240-
assertEquals("select * from abc where xyz = ?", rdd.getName());
248+
assertTrue(rdd.getName().startsWith("sqlserver://"));
249+
assertEquals("select * from abc where xyz = ?", rdd.getData());
241250
assertTrue(rdd.getSuccess());
242251

243252
assertParentChild(rd, rdEnvelope, rddEnvelope);
@@ -257,7 +266,8 @@ public void sqlServerStatement() throws Exception {
257266

258267
assertTrue(rd.getSuccess());
259268
assertEquals("SQL", rdd.getType());
260-
assertEquals("select * from abc", rdd.getName());
269+
assertTrue(rdd.getName().startsWith("sqlserver://"));
270+
assertEquals("select * from abc", rdd.getData());
261271
assertTrue(rdd.getSuccess());
262272

263273
assertParentChild(rd, rdEnvelope, rddEnvelope);
@@ -278,7 +288,8 @@ public void oraclePreparedStatement() throws Exception {
278288

279289
assertTrue(rd.getSuccess());
280290
assertEquals("SQL", rdd.getType());
281-
assertEquals("select * from abc where xyz = ?", rdd.getName());
291+
assertTrue(rdd.getName().startsWith("oracle:thin:@"));
292+
assertEquals("select * from abc where xyz = ?", rdd.getData());
282293
assertTrue(rdd.getSuccess());
283294

284295
assertParentChild(rd, rdEnvelope, rddEnvelope);
@@ -299,7 +310,8 @@ public void oracleStatement() throws Exception {
299310

300311
assertTrue(rd.getSuccess());
301312
assertEquals("SQL", rdd.getType());
302-
assertEquals("select * from abc", rdd.getName());
313+
assertTrue(rdd.getName().startsWith("oracle:thin:@"));
314+
assertEquals("select * from abc", rdd.getData());
303315
assertTrue(rdd.getSuccess());
304316

305317
assertParentChild(rd, rdEnvelope, rddEnvelope);

0 commit comments

Comments
 (0)