package com.alibaba.doris.admin.web.monitor.module.action; import java.util.Date; import org.apache.commons.lang.math.NumberUtils; import com.alibaba.citrus.turbine.Context; import com.alibaba.citrus.turbine.dataresolver.Param; import com.alibaba.doris.admin.core.AdminServiceLocator; import com.alibaba.doris.admin.service.MonitorService; import com.alibaba.doris.admin.support.PrefQuery; public class StatAction { private static final int DEFAULT_OFFSET = 3600 * 1000 * 12; private MonitorService monitorService = AdminServiceLocator.getMonitorService(); public void doQuery(Context context, @Param("timeOffset") String timeOffset, @Param("physicalId") String physicalId, @Param("nameSpace") String nameSpace) { PrefQuery query = new PrefQuery(); query.setGmtStart(new Date(System.currentTimeMillis() - NumberUtils.toInt(timeOffset, DEFAULT_OFFSET))); query.setPhysicalId(physicalId); query.setNameSpace(nameSpace); context.put("stats", monitorService.statByQuery(query)); context.put("physicalId", physicalId); context.put("nameSpace", nameSpace); } public void doStatWithNameSpace(Context context, @Param("timeOffset") String timeOffset, @Param("physicalId") String physicalId, @Param("nameSpace") String nameSpace) { PrefQuery query = new PrefQuery(); query.setGmtStart(new Date(System.currentTimeMillis() - NumberUtils.toInt(timeOffset, DEFAULT_OFFSET))); query.setPhysicalId(physicalId); query.setNameSpace(nameSpace); context.put("stats", monitorService.statWithNameSpace(query)); context.put("physicalId", physicalId); context.put("nameSpace", nameSpace); } public void doStatWithPhysicalId(Context context, @Param("timeOffset") String timeOffset, @Param("physicalId") String physicalId, @Param("nameSpace") String nameSpace) { PrefQuery query = new PrefQuery(); query.setGmtStart(new Date(System.currentTimeMillis() - NumberUtils.toInt(timeOffset, DEFAULT_OFFSET))); query.setPhysicalId(physicalId); query.setNameSpace(nameSpace); context.put("stats", monitorService.statWithPhysicalId(query)); context.put("physicalId", physicalId); context.put("nameSpace", nameSpace); } }