package com.alibaba.doris.dataserver.monitor.action; import com.alibaba.doris.common.RealtimeInfo; import com.alibaba.doris.common.data.util.ByteUtils; import com.alibaba.doris.dataserver.action.data.ActionData; import com.alibaba.doris.dataserver.action.parser.BaseActionParser; import com.alibaba.doris.dataserver.monitor.support.RealtimeInfoBuilder; import com.alibaba.doris.dataserver.net.ByteBufferWrapper; import com.alibaba.doris.dataserver.net.protocol.text.ProtocolConstant; import com.alibaba.fastjson.JSON; /** * @author ajun Email:jack.yuj@alibaba-inc.com */ public class StatsActionParser extends BaseActionParser { /** * 输入 */ public ActionData readHead(byte[] header, int startPos) { StatsActionData md = new StatsActionData(); int[] pos = { startPos }; md.setViewType(parseNextField(header, pos)); md.setNamespace(parseNextField(header, pos)); // return new StatsActionData(); } /** * 输出 */ public void writeHead(ByteBufferWrapper buffer, ActionData actionData) { RealtimeInfoBuilder build = new RealtimeInfoBuilder((StatsActionData) actionData); RealtimeInfo realtimeInfo = build.buildRealtimeInfo(); buffer.writeBytes(ByteUtils.stringToByte(JSON.toJSONString(realtimeInfo))); buffer.writeBytes(ProtocolConstant.CRLF); buffer.writeBytes(ProtocolConstant.END); buffer.writeBytes(ProtocolConstant.CRLF); } }