# HG changeset patch # User Mario Torre # Date 1347478653 -7200 # Node ID 8516a3c7ed22e3847e9bc422084a5f0aa7248330 # Parent eea20cd2356b6357a4afffc95a022971fabe4ff5 Fix for thread data after last refactoring review-thread: http://icedtea.classpath.org/pipermail/thermostat/2012-September/003177.html reviewed-by: omajid diff -r eea20cd2356b -r 8516a3c7ed22 thread/client-controllers/src/main/java/com/redhat/thermostat/thread/client/controller/impl/ThreadTableController.java --- a/thread/client-controllers/src/main/java/com/redhat/thermostat/thread/client/controller/impl/ThreadTableController.java Wed Sep 12 12:14:46 2012 +0200 +++ b/thread/client-controllers/src/main/java/com/redhat/thermostat/thread/client/controller/impl/ThreadTableController.java Wed Sep 12 21:37:33 2012 +0200 @@ -149,7 +149,7 @@ double monitor = 0; double sleeping = 0; for (ThreadInfoData info : beanList) { - State state = info.getThreadState(); + State state = info.getState(); switch (state) { case RUNNABLE: running++; diff -r eea20cd2356b -r 8516a3c7ed22 thread/collector/src/main/java/com/redhat/thermostat/thread/dao/ThreadDao.java --- a/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/ThreadDao.java Wed Sep 12 12:14:46 2012 +0200 +++ b/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/ThreadDao.java Wed Sep 12 21:37:33 2012 +0200 @@ -94,10 +94,11 @@ static final Key THREAD_BLOCKED_COUNT_KEY = new Key(THREAD_BLOCKED_COUNT, false); static final String THREAD_WAIT_COUNT = "threadWaitCount"; static final Key THREAD_WAIT_COUNT_KEY = new Key(THREAD_WAIT_COUNT, false); - + static final Category THREAD_INFO = new Category("vm-thread-info", Key.AGENT_ID, Key.VM_ID, Key.TIMESTAMP, THREAD_NAME_KEY, THREAD_ID_KEY, + THREAD_STATE_KEY, THREAD_CPU_TIME_KEY, THREAD_USER_TIME_KEY, THREAD_BLOCKED_COUNT_KEY, THREAD_WAIT_COUNT_KEY); diff -r eea20cd2356b -r 8516a3c7ed22 thread/collector/src/main/java/com/redhat/thermostat/thread/dao/impl/ThreadDaoImpl.java --- a/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/impl/ThreadDaoImpl.java Wed Sep 12 12:14:46 2012 +0200 +++ b/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/impl/ThreadDaoImpl.java Wed Sep 12 21:37:33 2012 +0200 @@ -149,7 +149,7 @@ info.setThreadId(found.get(THREAD_ID_KEY)); info.setThreadName(found.get(THREAD_NAME_KEY)); - info.setThreadState(Thread.State.valueOf(found.get(THREAD_STATE_KEY))); + info.setThreadState(found.get(THREAD_STATE_KEY)); info.setThreadBlockedCount(found.get(THREAD_BLOCKED_COUNT_KEY)); info.setThreadWaitCount(found.get(THREAD_WAIT_COUNT_KEY)); diff -r eea20cd2356b -r 8516a3c7ed22 thread/collector/src/main/java/com/redhat/thermostat/thread/model/ThreadInfoData.java --- a/thread/collector/src/main/java/com/redhat/thermostat/thread/model/ThreadInfoData.java Wed Sep 12 12:14:46 2012 +0200 +++ b/thread/collector/src/main/java/com/redhat/thermostat/thread/model/ThreadInfoData.java Wed Sep 12 21:37:33 2012 +0200 @@ -100,9 +100,14 @@ public void setThreadId(long threadID) { this.threadID = threadID; } + + public void setState(State threadState) { + this.threadState = threadState; + } - public void setThreadState(State threadState) { - this.threadState = threadState; + @Persist + public void setThreadState(String threadStateString) { + this.threadState = Thread.State.valueOf(threadStateString); } @Persist @@ -125,11 +130,16 @@ return threadID; } - public State getThreadState() { + public State getState() { return threadState; } @Persist + public String getThreadState() { + return threadState.name(); + } + + @Persist public long getTimeStamp() { return timestamp; } diff -r eea20cd2356b -r 8516a3c7ed22 thread/harvester/src/main/java/com/redhat/thermostat/thread/harvester/Harvester.java --- a/thread/harvester/src/main/java/com/redhat/thermostat/thread/harvester/Harvester.java Wed Sep 12 12:14:46 2012 +0200 +++ b/thread/harvester/src/main/java/com/redhat/thermostat/thread/harvester/Harvester.java Wed Sep 12 21:37:33 2012 +0200 @@ -197,7 +197,7 @@ info.setThreadName(beanInfo.getThreadName()); info.setThreadId(beanInfo.getThreadId()); - info.setThreadState(beanInfo.getThreadState()); + info.setState(beanInfo.getThreadState()); info.setStackTrace(beanInfo.getStackTrace()); info.setThreadCpuTime(collectorBean.getThreadCpuTime(info.getThreadId())); diff -r eea20cd2356b -r 8516a3c7ed22 thread/harvester/src/test/java/com/redhat/thermostat/thread/harvester/HarvesterTest.java --- a/thread/harvester/src/test/java/com/redhat/thermostat/thread/harvester/HarvesterTest.java Wed Sep 12 12:14:46 2012 +0200 +++ b/thread/harvester/src/test/java/com/redhat/thermostat/thread/harvester/HarvesterTest.java Wed Sep 12 21:37:33 2012 +0200 @@ -279,14 +279,16 @@ ThreadInfo info1 = mock(ThreadInfo.class); when(info1.getThreadName()).thenReturn("fluff1"); when(info1.getThreadId()).thenReturn(1l); - + when(info1.getThreadState()).thenReturn(Thread.State.RUNNABLE); + ThreadInfo info2 = mock(ThreadInfo.class); when(info2.getThreadName()).thenReturn("fluff2"); when(info2.getThreadId()).thenReturn(2l); + when(info2.getThreadState()).thenReturn(Thread.State.BLOCKED); ThreadInfo[] infos = new ThreadInfo[] { info1, - info2 + info2 }; ScheduledExecutorService executor = mock(ScheduledExecutorService.class); @@ -339,6 +341,11 @@ assertEquals("fluff1", threadInfos.get(0).getThreadName()); assertEquals("fluff2", threadInfos.get(1).getThreadName()); + assertEquals("RUNNABLE", threadInfos.get(0).getThreadState()); + assertEquals("BLOCKED", threadInfos.get(1).getThreadState()); + assertEquals(Thread.State.RUNNABLE, threadInfos.get(0).getState()); + assertEquals(Thread.State.BLOCKED, threadInfos.get(1).getState()); + verify(collectorBean, times(1)).getThreadCpuTime(1l); verify(collectorBean, times(1)).getThreadCpuTime(2l); }