今天想通过 arthas watch 一个方法,并过滤入参,死活写不出来。折腾了半天终于搞出来了
例如我想监控这个方法
|
|
toString 输出的结构体如下
@Query[Query: { "code" : "A1b4a_6437_task_0006", "tenantId" : { "$in" : ["athenaPaaSDesigner", "SYSTEM"] }, "version" : "2.0" }, Fields: { }, Sort: { }]
|
|
最终的方式如下,getQueryObject() 返回的是一个 map,然后通过 get 方法过滤并判空
watch org.springframework.data.mongodb.core.MongoTemplate find "{params, returnObj}" "params[0].getQueryObject().get('code') != null && params[0].getQueryObject().get('code').equals('A1b4a_6437_task_0006')" -s -x 2