use of com.navercorp.pinpoint.plugin.mongo.NormalizedBson in project pinpoint by naver.
the class MongoCUDSessionInterceptor method doInAfterTrace.
@Override
public void doInAfterTrace(SpanEventRecorder recorder, Object target, Object[] args, Object result, Throwable throwable) {
if (collectJson) {
final boolean success = InterceptorUtils.isSuccess(throwable);
if (success) {
if (args != null) {
NormalizedBson parsedBson = MongoUtil.parseBson(args, traceBsonBindValue);
MongoUtil.recordParsedBson(recorder, parsedBson);
}
}
}
recorder.recordException(throwable);
if (isAsynchronousInvocation(target, args, result, throwable)) {
// Trace to Disposable object
final AsyncContext asyncContext = recorder.recordNextAsyncContext();
((AsyncContextAccessor) (result))._$PINPOINT$_setAsyncContext(asyncContext);
if (isDebug) {
logger.debug("Set AsyncContext {}, result={}", asyncContext, result);
}
}
}
use of com.navercorp.pinpoint.plugin.mongo.NormalizedBson in project pinpoint by naver.
the class MongoDBITBase method updateData.
public void updateData(PluginTestVerifier verifier, MongoCollection<Document> collection, Class<?> mongoDatabaseImpl) {
// update Data
Document doc = new Document("name", "Roy").append("company", "Naver");
Document doc2 = new Document("$set", new Document("name", "Roy3"));
collection.updateOne(doc, doc2);
Method updateOne = getMethod(mongoDatabaseImpl, "updateOne", Bson.class, Bson.class);
NormalizedBson parsedBson = parseBson(doc, doc2);
verifier.verifyTrace(event(MONGO_EXECUTE_QUERY, updateOne, null, MongoDBITConstants.MONGODB_ADDRESS, null, new ExpectedAnnotation(MongoConstants.MONGO_COLLECTION_INFO.getName(), "customers"), new ExpectedAnnotation(MongoConstants.MONGO_COLLECTION_OPTION.getName(), "MAJORITY"), new ExpectedAnnotation(MongoConstants.MONGO_JSON_DATA.getName(), new StringStringValue(parsedBson.getNormalizedBson(), parsedBson.getParameter()))));
}
use of com.navercorp.pinpoint.plugin.mongo.NormalizedBson in project pinpoint by naver.
the class MongoDBITBase method filterData.
public void filterData(PluginTestVerifier verifier, MongoCollection<Document> collection, Class<?> mongoDatabaseImpl) {
Method find = getMethod(mongoDatabaseImpl, "find", Bson.class);
Bson bson = eq("name", "Roy3");
NormalizedBson parsedBson = parseBson(bson);
MongoCursor<Document> cursor = collection.find(bson).iterator();
verifier.verifyTrace(event(MONGO_EXECUTE_QUERY, find, null, MongoDBITConstants.MONGODB_ADDRESS, null, new ExpectedAnnotation(MongoConstants.MONGO_COLLECTION_INFO.getName(), "customers"), new ExpectedAnnotation(MongoConstants.MONGO_COLLECTION_OPTION.getName(), "secondaryPreferred"), new ExpectedAnnotation(MongoConstants.MONGO_JSON_DATA.getName(), new StringStringValue(parsedBson.getNormalizedBson(), parsedBson.getParameter()))));
assertResultSize(1, cursor);
}
use of com.navercorp.pinpoint.plugin.mongo.NormalizedBson in project pinpoint by naver.
the class MongoDBITBase method insertComlexBsonValueData34.
public void insertComlexBsonValueData34(PluginTestVerifier verifier, MongoCollection<Document> collection, Class<?> mongoDatabaseImpl, String collectionInfo, String collectionOption) {
// insert Data
Document document = createComplexDocument();
document.append("decimal128", new BsonDecimal128(new Decimal128(55)));
collection.insertOne(document);
Method insertOneMethod = getMethod(mongoDatabaseImpl, "insertOne", Object.class);
NormalizedBson parsedBson = parseBson(document);
verifier.verifyTrace(event(MONGO_EXECUTE_QUERY, insertOneMethod, null, MongoDBITConstants.MONGODB_ADDRESS, null, new ExpectedAnnotation(MongoConstants.MONGO_COLLECTION_INFO.getName(), collectionInfo), new ExpectedAnnotation(MongoConstants.MONGO_COLLECTION_OPTION.getName(), collectionOption), new ExpectedAnnotation(MongoConstants.MONGO_JSON_DATA.getName(), new StringStringValue(parsedBson.getNormalizedBson(), parsedBson.getParameter()))));
}
use of com.navercorp.pinpoint.plugin.mongo.NormalizedBson in project pinpoint by naver.
the class MongoDBITBase method deleteData.
public void deleteData(PluginTestVerifier verifier, MongoCollection<Document> collection, Class<?> mongoDatabaseImpl) {
// delete data
Document doc = new Document("name", "Roy3");
DeleteResult deleteResult = collection.deleteMany(doc);
Method deleteMany = getMethod(mongoDatabaseImpl, "deleteMany", Bson.class);
NormalizedBson parsedBson = parseBson(doc);
verifier.verifyTrace(event(MONGO_EXECUTE_QUERY, deleteMany, null, MongoDBITConstants.MONGODB_ADDRESS, null, new ExpectedAnnotation(MongoConstants.MONGO_COLLECTION_INFO.getName(), "customers"), new ExpectedAnnotation(MongoConstants.MONGO_COLLECTION_OPTION.getName(), "MAJORITY"), new ExpectedAnnotation(MongoConstants.MONGO_JSON_DATA.getName(), new StringStringValue(parsedBson.getNormalizedBson(), parsedBson.getParameter()))));
Assert.assertEquals(1, deleteResult.getDeletedCount());
}
Aggregations