This patch enhances the debug logging output of HBaseServer to include the raw size of the client request and some introspected details of the contents.
The enhanced logging will produce lines like:
2011-08-11 12:29:49,836 DEBUG [IPC Server handler 2 on 36501] ipc.WritableRpcEngine$Server(318): Call #540; Served: HRegionInterface#multi queueTime=0 processingTime=461 contents=139 values [ min=5 max=5 avg=5 ], 139 Puts, 139 KeyValues
2011-08-11 12:29:49,894 DEBUG [IPC Server handler 3 on 54615] ipc.WritableRpcEngine$Server(318): Call #537; Served: HRegionInterface#multi queueTime=0 processingTime=546 contents=219 values [ min=5 max=5 avg=5 ], 219 Puts, 219 KeyValues
There are 2 key changes from the current logging:
- include the call ID (for easier cross referencing with other log messages
- add the contents=... output with counts of objects in the request and simple stats on value sizes from KVs
In addition, the lines shown above have been moved to a separate logger (org.apache.hadoop.ipc.HBaseServer.trace), so that they can be enabled separately from other IPC debugging output. Unless explicitly enabled, they don't incur any additional overhead.