Author: chirino
Date: Wed Mar 28 20:11:48 2012
New Revision: 1306567
URL: http://svn.apache.org/viewvc?rev=1306567&view=rev
Log:
Fixes APLO-175: Adds a disk_usage metric to stores.
Modified:
activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/broker/store/bdb/BDBStore.scala
activemq/activemq-apollo/trunk/apollo-bdb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/bdb/dto/BDBStoreStatusDTO.jade
activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StoreStatusDTO.java
activemq/activemq-apollo/trunk/apollo-leveldb/src/main/scala/org/apache/activemq/apollo/broker/store/leveldb/LevelDBStore.scala
activemq/activemq-apollo/trunk/apollo-leveldb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/leveldb/dto/LevelDBStoreStatusDTO.jade
Modified:
activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/broker/store/bdb/BDBStore.scala
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/broker/store/bdb/BDBStore.scala?rev=1306567&r1=1306566&r2=1306567&view=diff
==============================================================================
---
activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/broker/store/bdb/BDBStore.scala
(original)
+++
activemq/activemq-apollo/trunk/apollo-bdb/src/main/scala/org/apache/activemq/apollo/broker/store/bdb/BDBStore.scala
Wed Mar 28 20:11:48 2012
@@ -28,6 +28,7 @@ import org.apache.activemq.apollo.dto.St
import org.apache.activemq.apollo.util.OptionSupport._
import java.io.{InputStream, OutputStream}
import org.fusesource.hawtbuf.Buffer
+import FileSupport._
/**
* @author <a href="http://hiramchirino.com">Hiram Chirino</a>
@@ -225,6 +226,11 @@ class BDBStore(var config:BDBStoreDTO) e
def get_store_status(callback:(StoreStatusDTO)=>Unit) = dispatch_queue {
val rc = new BDBStoreStatusDTO
fill_store_status(rc)
+ for( file <- config.directory.recursive_list ) {
+ if(!file.isDirectory) {
+ rc.disk_usage += file.length()
+ }
+ }
rc.message_load_batch_size = message_load_batch_size
callback(rc)
}
Modified:
activemq/activemq-apollo/trunk/apollo-bdb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/bdb/dto/BDBStoreStatusDTO.jade
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-bdb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/bdb/dto/BDBStoreStatusDTO.jade?rev=1306567&r1=1306566&r2=1306567&view=diff
==============================================================================
---
activemq/activemq-apollo/trunk/apollo-bdb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/bdb/dto/BDBStoreStatusDTO.jade
(original)
+++
activemq/activemq-apollo/trunk/apollo-bdb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/bdb/dto/BDBStoreStatusDTO.jade
Wed Mar 28 20:11:48 2012
@@ -26,6 +26,7 @@ h1 Store: #{id}
p state: #{state} for #{ uptime(state_since) }
p pending stores: #{pending_stores}
+p disk usage: #{memory(disk_usage)}
h2 Cancel Stats
p canceled message stores: #{canceled_message_counter}
Modified:
activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StoreStatusDTO.java
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StoreStatusDTO.java?rev=1306567&r1=1306566&r2=1306567&view=diff
==============================================================================
---
activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StoreStatusDTO.java
(original)
+++
activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/StoreStatusDTO.java
Wed Mar 28 20:11:48 2012
@@ -41,6 +41,12 @@ public abstract class StoreStatusDTO ext
public String state;
/**
+ * The amount of disk space the store is using.
+ */
+ @XmlAttribute(name="disk_usage")
+ public long disk_usage;
+
+ /**
* Since when has the service been in in this state? In milliseconds
since the epoch.
*/
@XmlAttribute(name="state_since")
Modified:
activemq/activemq-apollo/trunk/apollo-leveldb/src/main/scala/org/apache/activemq/apollo/broker/store/leveldb/LevelDBStore.scala
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-leveldb/src/main/scala/org/apache/activemq/apollo/broker/store/leveldb/LevelDBStore.scala?rev=1306567&r1=1306566&r2=1306567&view=diff
==============================================================================
---
activemq/activemq-apollo/trunk/apollo-leveldb/src/main/scala/org/apache/activemq/apollo/broker/store/leveldb/LevelDBStore.scala
(original)
+++
activemq/activemq-apollo/trunk/apollo-leveldb/src/main/scala/org/apache/activemq/apollo/broker/store/leveldb/LevelDBStore.scala
Wed Mar 28 20:11:48 2012
@@ -30,7 +30,7 @@ import org.apache.activemq.apollo.util.O
import java.io._
import org.apache.activemq.apollo.web.resources.ViewHelper
import org.fusesource.hawtbuf.Buffer
-
+import FileSupport._
/**
* @author <a href="http://hiramchirino.com">Hiram Chirino</a>
*/
@@ -285,6 +285,11 @@ class LevelDBStore(val config: LevelDBSt
def get_store_status(callback: (StoreStatusDTO) => Unit) = dispatch_queue {
val rc = new LevelDBStoreStatusDTO
fill_store_status(rc)
+ for( file <- config.directory.recursive_list ) {
+ if(!file.isDirectory) {
+ rc.disk_usage += file.length()
+ }
+ }
rc.message_load_batch_size = message_load_batch_size
write_executor {
client.using_index {
Modified:
activemq/activemq-apollo/trunk/apollo-leveldb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/leveldb/dto/LevelDBStoreStatusDTO.jade
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-leveldb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/leveldb/dto/LevelDBStoreStatusDTO.jade?rev=1306567&r1=1306566&r2=1306567&view=diff
==============================================================================
---
activemq/activemq-apollo/trunk/apollo-leveldb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/leveldb/dto/LevelDBStoreStatusDTO.jade
(original)
+++
activemq/activemq-apollo/trunk/apollo-leveldb/src/main/webapp/WEB-INF/org/apache/activemq/apollo/broker/store/leveldb/dto/LevelDBStoreStatusDTO.jade
Wed Mar 28 20:11:48 2012
@@ -28,6 +28,7 @@ h1 Store: #{id}
p state: #{state} for #{ uptime(state_since) }
p pending stores: #{pending_stores}
+p disk usage: #{memory(disk_usage)}
h2 Cancel Stats
p canceled message stores: #{canceled_message_counter}