package rocks.inspectit.server.processor.impl; import javax.persistence.EntityManager; import rocks.inspectit.server.processor.AbstractCmrDataProcessor; import rocks.inspectit.shared.all.communication.DefaultData; import rocks.inspectit.shared.all.communication.data.SqlStatementData; /** * Processor that sets the correct exclusive time for {@link SqlStatementData} because it's always * known. * * @author Ivan Senic * */ public class SqlExclusiveTimeCmrProcessor extends AbstractCmrDataProcessor { /** * {@inheritDoc} */ @Override protected void processData(DefaultData defaultData, EntityManager entityManager) { SqlStatementData sqlStatementData = (SqlStatementData) defaultData; sqlStatementData.setExclusiveCount(1L); sqlStatementData.setExclusiveDuration(sqlStatementData.getDuration()); sqlStatementData.calculateExclusiveMax(sqlStatementData.getDuration()); sqlStatementData.calculateExclusiveMin(sqlStatementData.getDuration()); } /** * {@inheritDoc} */ @Override public boolean canBeProcessed(DefaultData defaultData) { return defaultData instanceof SqlStatementData; } }