Skip to content

Commit fd53d13

Browse files
authored
Update db mappings (#1889)
* Update db name mapping * Update db target mapping
1 parent 38ae66d commit fd53d13

File tree

4 files changed

+20
-38
lines changed
  • agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/exporter
  • test/smoke/testApps

4 files changed

+20
-38
lines changed

agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/exporter/Exporter.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -628,21 +628,6 @@ private static void applyDatabaseClientSpan(
628628
} else {
629629
type = "SQL";
630630
}
631-
// keeping existing behavior that was release in 3.0.0 for now
632-
// not going with new jdbc instrumentation span name of
633-
// "<db.operation> <db.name>.<db.sql.table>" for now just in case this behavior is reversed
634-
// due to spec:
635-
// "It is not recommended to attempt any client-side parsing of `db.statement` just to get
636-
// these properties, they should only be used if the library being instrumented already
637-
// provides them."
638-
// also need to discuss with other AI language exporters
639-
//
640-
// if we go to shorter span name now, and it gets reverted, no way for customers to get the
641-
// shorter name back
642-
// whereas if we go to shorter span name in the future, and they still prefer more
643-
// cardinality, they can get that back using telemetry processor to copy db.statement into
644-
// span name
645-
telemetry.setName(dbStatement);
646631
} else {
647632
type = dbSystem;
648633
}
@@ -652,7 +637,7 @@ private static void applyDatabaseClientSpan(
652637
nullAwareConcat(
653638
getTargetFromPeerAttributes(attributes, getDefaultPortForDbSystem(dbSystem)),
654639
attributes.get(SemanticAttributes.DB_NAME),
655-
"/");
640+
" | ");
656641
if (target == null) {
657642
target = dbSystem;
658643
}

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

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public void hsqldbPreparedStatement() throws Exception {
6060
assertTrue(telemetry.rd.getProperties().isEmpty());
6161
assertTrue(telemetry.rd.getSuccess());
6262

63-
assertEquals("select * from abc where xyz = ?", telemetry.rdd1.getName());
63+
assertEquals("SELECT testdb.abc", telemetry.rdd1.getName());
6464
assertEquals("select * from abc where xyz = ?", telemetry.rdd1.getData());
6565
assertEquals("SQL", telemetry.rdd1.getType());
6666
assertEquals("testdb", telemetry.rdd1.getTarget());
@@ -78,7 +78,7 @@ public void hsqldbStatement() throws Exception {
7878
assertTrue(telemetry.rd.getProperties().isEmpty());
7979
assertTrue(telemetry.rd.getSuccess());
8080

81-
assertEquals("select * from abc", telemetry.rdd1.getName());
81+
assertEquals("SELECT testdb.abc", telemetry.rdd1.getName());
8282
assertEquals("select * from abc", telemetry.rdd1.getData());
8383
assertEquals("SQL", telemetry.rdd1.getType());
8484
assertEquals("testdb", telemetry.rdd1.getTarget());
@@ -104,7 +104,7 @@ public void hsqldbLargeStatement() throws Exception {
104104
String query = "select * from abc" + largeStr;
105105
String truncatedQuery = query.substring(0, Math.min(query.length(), 1024));
106106

107-
assertEquals(truncatedQuery, telemetry.rdd1.getName());
107+
assertEquals("SELECT testdb.abc", telemetry.rdd1.getName());
108108
assertEquals(query, telemetry.rdd1.getData());
109109
assertEquals("SQL", telemetry.rdd1.getType());
110110
assertEquals("testdb", telemetry.rdd1.getTarget());
@@ -122,7 +122,7 @@ public void hsqldbBatchPreparedStatement() throws Exception {
122122
assertTrue(telemetry.rd.getProperties().isEmpty());
123123
assertTrue(telemetry.rd.getSuccess());
124124

125-
assertEquals("insert into abc (xyz) values (?)", telemetry.rdd1.getName());
125+
assertEquals("INSERT testdb.abc", telemetry.rdd1.getName());
126126
assertEquals("insert into abc (xyz) values (?)", telemetry.rdd1.getData());
127127
assertEquals("SQL", telemetry.rdd1.getType());
128128
assertEquals("testdb", telemetry.rdd1.getTarget());
@@ -143,10 +143,7 @@ public void hsqldbBatchStatement() throws Exception {
143143
assertTrue(telemetry.rd.getProperties().isEmpty());
144144
assertTrue(telemetry.rd.getSuccess());
145145

146-
assertEquals(
147-
"insert into abc (xyz) values ('t'); insert into abc (xyz) values ('u');"
148-
+ " insert into abc (xyz) values ('v')",
149-
telemetry.rdd1.getName());
146+
assertEquals("insert testdb.abc", telemetry.rdd1.getName());
150147
assertEquals(
151148
"insert into abc (xyz) values ('t'); insert into abc (xyz) values ('u');"
152149
+ " insert into abc (xyz) values ('v')",
@@ -170,11 +167,11 @@ public void mysqlPreparedStatement() throws Exception {
170167
assertTrue(telemetry.rd.getProperties().isEmpty());
171168
assertTrue(telemetry.rd.getSuccess());
172169

173-
assertEquals("select * from abc where xyz = ?", telemetry.rdd1.getName());
170+
assertEquals("SELECT mysql.abc", telemetry.rdd1.getName());
174171
assertEquals("select * from abc where xyz = ?", telemetry.rdd1.getData());
175172
assertEquals("mysql", telemetry.rdd1.getType());
176173
// not the best test, because this is both the db.name and db.system
177-
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+/mysql"));
174+
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+ \\| mysql"));
178175
assertTrue(telemetry.rdd1.getProperties().isEmpty());
179176
assertTrue(telemetry.rdd1.getSuccess());
180177

@@ -191,11 +188,11 @@ public void mysqlStatement() throws Exception {
191188
assertTrue(telemetry.rd.getProperties().isEmpty());
192189
assertTrue(telemetry.rd.getSuccess());
193190

194-
assertEquals("select * from abc", telemetry.rdd1.getName());
191+
assertEquals("SELECT mysql.abc", telemetry.rdd1.getName());
195192
assertEquals("select * from abc", telemetry.rdd1.getData());
196193
assertEquals("mysql", telemetry.rdd1.getType());
197194
// not the best test, because this is both the db.name and db.system
198-
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+/mysql"));
195+
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+ \\| mysql"));
199196
assertTrue(telemetry.rdd1.getProperties().isEmpty());
200197
assertTrue(telemetry.rdd1.getSuccess());
201198

@@ -210,11 +207,11 @@ public void postgresPreparedStatement() throws Exception {
210207
assertTrue(telemetry.rd.getProperties().isEmpty());
211208
assertTrue(telemetry.rd.getSuccess());
212209

213-
assertTrue(telemetry.rdd1.getName().startsWith("select * from abc where xyz = ?"));
210+
assertEquals("SELECT postgres.abc", telemetry.rdd1.getName());
214211
assertEquals("select * from abc where xyz = ?", telemetry.rdd1.getData());
215212
assertEquals("postgresql", telemetry.rdd1.getType());
216213
// not the best test, because this is both the db.name and db.system
217-
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+/postgres"));
214+
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+ \\| postgres"));
218215
assertTrue(telemetry.rdd1.getProperties().isEmpty());
219216
assertTrue(telemetry.rdd1.getSuccess());
220217

@@ -229,11 +226,11 @@ public void postgresStatement() throws Exception {
229226
assertTrue(telemetry.rd.getProperties().isEmpty());
230227
assertTrue(telemetry.rd.getSuccess());
231228

232-
assertTrue(telemetry.rdd1.getName().startsWith("select * from abc"));
229+
assertEquals("SELECT postgres.abc", telemetry.rdd1.getName());
233230
assertEquals("select * from abc", telemetry.rdd1.getData());
234231
assertEquals("postgresql", telemetry.rdd1.getType());
235232
// not the best test, because this is both the db.name and db.system
236-
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+/postgres"));
233+
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+ \\| postgres"));
237234
assertTrue(telemetry.rdd1.getProperties().isEmpty());
238235
assertTrue(telemetry.rdd1.getSuccess());
239236

@@ -248,7 +245,7 @@ public void sqlServerPreparedStatement() throws Exception {
248245
assertTrue(telemetry.rd.getProperties().isEmpty());
249246
assertTrue(telemetry.rd.getSuccess());
250247

251-
assertTrue(telemetry.rdd1.getName().startsWith("select * from abc where xyz = ?"));
248+
assertEquals("SELECT abc", telemetry.rdd1.getName());
252249
assertEquals("select * from abc where xyz = ?", telemetry.rdd1.getData());
253250
assertEquals("SQL", telemetry.rdd1.getType());
254251
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+"));
@@ -266,7 +263,7 @@ public void sqlServerStatement() throws Exception {
266263
assertTrue(telemetry.rd.getProperties().isEmpty());
267264
assertTrue(telemetry.rd.getSuccess());
268265

269-
assertTrue(telemetry.rdd1.getName().startsWith("select * from abc"));
266+
assertEquals("SELECT abc", telemetry.rdd1.getName());
270267
assertEquals("select * from abc", telemetry.rdd1.getData());
271268
assertEquals("SQL", telemetry.rdd1.getType());
272269
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+"));
@@ -285,7 +282,7 @@ public void oraclePreparedStatement() throws Exception {
285282
assertTrue(telemetry.rd.getProperties().isEmpty());
286283
assertTrue(telemetry.rd.getSuccess());
287284

288-
assertTrue(telemetry.rdd1.getName().startsWith("select * from abc where xyz = ?"));
285+
assertEquals("SELECT abc", telemetry.rdd1.getName());
289286
assertEquals("select * from abc where xyz = ?", telemetry.rdd1.getData());
290287
assertEquals("SQL", telemetry.rdd1.getType());
291288
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+"));
@@ -304,7 +301,7 @@ public void oracleStatement() throws Exception {
304301
assertTrue(telemetry.rd.getProperties().isEmpty());
305302
assertTrue(telemetry.rd.getSuccess());
306303

307-
assertTrue(telemetry.rdd1.getName().startsWith("select * from abc"));
304+
assertEquals("SELECT abc", telemetry.rdd1.getName());
308305
assertEquals("select * from abc", telemetry.rdd1.getData());
309306
assertEquals("SQL", telemetry.rdd1.getType());
310307
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+"));

test/smoke/testApps/MongoDB/src/smokeTest/java/com/microsoft/applicationinsights/smoketestapp/MongoTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public void mongo() throws Exception {
5656
assertEquals("find testdb.test", telemetry.rdd1.getName());
5757
assertEquals("{\"find\": \"test\", \"$db\": \"?\"}", telemetry.rdd1.getData());
5858
assertEquals("mongodb", telemetry.rdd1.getType());
59-
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+/testdb"));
59+
assertTrue(telemetry.rdd1.getTarget().matches("dependency[0-9]+ \\| testdb"));
6060
assertTrue(telemetry.rdd1.getProperties().isEmpty());
6161
assertTrue(telemetry.rdd1.getSuccess());
6262

test/smoke/testApps/TelemetryFiltering/src/smokeTest/java/com/microsoft/applicationinsights/smoketestapp/TelemetryFilteringSmokeTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public void testRegularJdbc() throws Exception {
9696
assertTrue(rd.getSuccess());
9797
assertEquals("SQL", rdd.getType());
9898
assertEquals("testdb", rdd.getTarget());
99-
assertEquals("select * from abc", rdd.getName());
99+
assertEquals("SELECT testdb.abc", rdd.getName());
100100
assertEquals("select * from abc", rdd.getData());
101101
assertTrue(rdd.getSuccess());
102102

0 commit comments

Comments
 (0)