@@ -46,20 +46,30 @@ public Response performRequest(Request request) {
46
46
}
47
47
48
48
String sql = Utils .constructSql (endPoint , payload );
49
+ String queryToSend = sql ;
49
50
51
+ if (null != sql ) {
52
+
53
+ int sqlLength = sql .length ();
54
+ String queryPart = "" ;
55
+
56
+ if (sqlLength > 4094 ) {
57
+
58
+ queryPart = sql .substring (0 , 4093 );
59
+ queryToSend = queryPart ;
60
+ // Utils.logPayload(sql);
61
+ Utils .logSqlQueryAttributes (segment , sql .substring (4093 ), 255 ); // SQL Truncation
62
+ }
63
+
64
+ }
50
65
segment .reportAsExternal (DatastoreParameters .product ("Elasticsearch" )
51
66
.collection (Utils .extractIndex (endPoint ))
52
67
.operation (request .getMethod ())
53
68
.noInstance ()
54
69
.noDatabaseName ()
55
- .slowQuery (sql , new ESQueryConverter ())
70
+ .slowQuery (queryToSend , new ESQueryConverter ())
56
71
.build ());
57
72
58
- if (null != sql ) {
59
- // Utils.logPayload(sql);
60
- Utils .logSqlQueryAttributes (segment , sql , 4091 ); // SQL Truncation
61
- }
62
-
63
73
return Weaver .callOriginal ();
64
74
} finally {
65
75
segment .end ();
@@ -102,21 +112,31 @@ public Cancellable performRequestAsync(Request request, ResponseListener respons
102
112
103
113
// Construct SQL-like query for slow query logging
104
114
String sql = Utils .constructSql (endPoint , payload );
115
+ String queryToSend = sql ;
105
116
117
+ if (null != sql ) {
118
+
119
+ int sqlLength = sql .length ();
120
+ String queryPart = "" ;
121
+
122
+ if (sqlLength > 4094 ) {
123
+
124
+ queryPart = sql .substring (0 , 4093 );
125
+ queryToSend = queryPart ;
126
+ // Utils.logPayload(sql);
127
+ Utils .logSqlQueryAttributes (segment , sql .substring (4093 ), 255 ); // SQL Truncation
128
+ }
129
+
130
+ }
106
131
// Create datastore parameters for the request
107
132
DatastoreParameters params = DatastoreParameters .product ("Elasticsearch" )
108
133
.collection (Utils .extractIndex (endPoint ))
109
134
.operation (request .getMethod ())
110
135
.noInstance ()
111
136
.noDatabaseName ()
112
- .slowQuery (sql , new ESQueryConverter ())
137
+ .slowQuery (queryToSend , new ESQueryConverter ())
113
138
.build ();
114
139
115
- if (null != sql ) {
116
- // Utils.logPayload(sql);
117
- Utils .logSqlQueryAttributes (segment , sql , 4091 ); // SQL Truncation
118
- }
119
-
120
140
// Store parameters for asynchronous processing
121
141
int hash = responseListener .hashCode ();
122
142
NRHolder .putParams (hash , params );
0 commit comments