private void putThreadDumpBo(final Buffer buffer, final ThreadDumpBo threadDumpBo) {
        buffer.putPrefixedString(threadDumpBo.getThreadName());
        buffer.putLong(threadDumpBo.getThreadId());
        buffer.putLong(threadDumpBo.getBlockedTime());
        buffer.putLong(threadDumpBo.getBlockedCount());
        buffer.putLong(threadDumpBo.getWaitedTime());
        buffer.putLong(threadDumpBo.getWaitedCount());
        buffer.putPrefixedString(threadDumpBo.getLockName());
        buffer.putLong(threadDumpBo.getLockOwnerId());
        buffer.putPrefixedString(threadDumpBo.getLockOwnerName());
        buffer.putBoolean(threadDumpBo.isInNative());
        buffer.putBoolean(threadDumpBo.isSuspended());
        buffer.putInt(threadDumpBo.getThreadState().getValue());
        final int stackTraceSize = threadDumpBo.getStackTraceList() == null ? 0 : threadDumpBo.getStackTraceList().size();
        buffer.putVInt(stackTraceSize);
        if (stackTraceSize > 0) {
            for (String string : threadDumpBo.getStackTraceList()) {
                buffer.putPrefixedString(string);
            }
        }

        final int lockedMonitorListSize = threadDumpBo.getLockedMonitorInfoList() == null ? 0 : threadDumpBo.getLockedMonitorInfoList().size();
        buffer.putVInt(lockedMonitorListSize);
        if (lockedMonitorListSize > 0) {
            for (MonitorInfoBo monitorInfoBo : threadDumpBo.getLockedMonitorInfoList()) {
                putMonitorInfoBo(buffer, monitorInfoBo);
            }
        }

        final int lockedSynchronizerListSize = threadDumpBo.getLockedSynchronizerList() == null ? 0 : threadDumpBo.getLockedSynchronizerList().size();
        buffer.putVInt(lockedSynchronizerListSize);
        if (lockedSynchronizerListSize > 0) {
            for (String string : threadDumpBo.getLockedSynchronizerList()) {
                buffer.putPrefixedString(string);
            }
        }
    }
@author jaehong.kim
AgentEventBo.version is 1
commons-server/src/main/java/com/navercorp/pinpoint/common/server/util/AgentEventMessageSerializerV1.java