public void testGetItem() { { PSI psi = st.getStackItem("group1", "item1", "context"); assertNotNull(psi); assertEquals("group1", psi.getGroup()); assertEquals("item1", psi.getItem()); assertEquals(m_timer.getTimeMillis(0), psi.getCreationTime()); psi.close(); TestItem item = getItem("group1", "item1"); assertNotNull(item); assertEquals(m_timer.getTimeMillis(1) - m_timer.getTimeMillis(0), item.getTotalTime()); assertEquals(0L, item.getChildsTime()); } int tID = m_timer.currentTimerId(); { PSI psi1 = st.getStackItem("g1", "i1"); PSI psi2 = st.getStackItem("g1", "i2"); psi2.close(); assertEquals( m_timer.getTimeMillis(tID + 2) - m_timer.getTimeMillis(tID + 1), psi1.getChildsTime()); psi1.close(); assertEquals( m_timer.getTimeMillis(tID + 3) - m_timer.getTimeMillis(tID), getItem("g1", "i1").getTotalTime()); assertEquals( m_timer.getTimeMillis(tID + 2) - m_timer.getTimeMillis(tID + 1), getItem("g1", "i1").getChildsTime()); } }
public void release(PSI psi) throws EWrongPSI { long totalTime; boolean bInner; synchronized (m_profiler) { PSI e = m_stack.pop(); if (psi.getStackNumber() != e.getStackNumber()) { ApiAlgs.getLog(this) .error( psi.getGroup() + "." + psi.getItem() + " / " + e.getGroup() + "." + e.getItem()); while (psi.getStackNumber() < e.getStackNumber()) e = m_stack.pop(); } totalTime = m_timer.get() - psi.getCreationTime(); if (!m_stack.isEmpty()) { PSI parent = m_stack.peek(); parent.addChildTime(totalTime); } bInner = stackContainsItem(psi); } m_profiler.reportItem(psi.getGroup(), psi.getItem(), totalTime, psi.getChildsTime(), bInner); }