Author: shuber
Date: Wed Oct 17 15:53:52 2007
New Revision: 18904
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18904&repname=
=3Djahia
Log:
Add display of total number of keys in all groups for a cache.
Modified:
trunk/core/src/conf/java/JahiaAdministrationResources.properties
trunk/core/src/conf/java/JahiaAdministrationResources_en.properties
trunk/core/src/conf/java/JahiaAdministrationResources_fr.properties
trunk/core/src/java/org/jahia/services/cache/Cache.java
trunk/core/src/java/org/jahia/services/cache/CacheImplementation.java
trunk/core/src/java/org/jahia/services/cache/clusterservice/ClusterServ=
iceCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/clusterservice/batch/Batch=
ingClusterServiceCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/ehcache/EhCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/reference/ReferenceCacheIm=
pl.java
trunk/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.java
trunk/core/src/java/org/jahia/services/cache/treecache/TreeCacheImpl.ja=
va
trunk/core/src/webapp/jsp/jahia/administration/status.jsp
Modified: trunk/core/src/conf/java/JahiaAdministrationResources.properties
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/conf/j=
ava/JahiaAdministrationResources.properties&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/conf/java/JahiaAdministrationResources.properties (origi=
nal)
+++ trunk/core/src/conf/java/JahiaAdministrationResources.properties Wed Oc=
t 17 15:53:52 2007
@@ -713,6 +713,7 @@
org.jahia.admin.status.ManageStatus.flushLocks.label =3D Flush content obj=
ect locks
org.jahia.admin.status.ManageStatus.flush.label =3D Flush
org.jahia.admin.status.ManageStatus.freeMemory.label =3D Free Memory
+org.jahia.admin.status.ManageStatus.groupsKeysTotal.label=3DTotal keys in =
all groups
org.jahia.admin.status.ManageStatus.groupSize.label =3D Number of groups
org.jahia.admin.status.ManageStatus.htmlCacheSize.label =3D HTML cache si=
ze
org.jahia.admin.status.ManageStatus.kB.label =3D KB
Modified: trunk/core/src/conf/java/JahiaAdministrationResources_en.properti=
es
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/conf/j=
ava/JahiaAdministrationResources_en.properties&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/conf/java/JahiaAdministrationResources_en.properties (or=
iginal)
+++ trunk/core/src/conf/java/JahiaAdministrationResources_en.properties Wed=
Oct 17 15:53:52 2007
@@ -713,6 +713,7 @@
org.jahia.admin.status.ManageStatus.flushLocks.label =3D Flush content obj=
ect locks
org.jahia.admin.status.ManageStatus.flush.label =3D Flush
org.jahia.admin.status.ManageStatus.freeMemory.label =3D Free Memory
+org.jahia.admin.status.ManageStatus.groupsKeysTotal.label=3DTotal keys in =
all groups
org.jahia.admin.status.ManageStatus.groupSize.label=3DNumber of groups
org.jahia.admin.status.ManageStatus.htmlCacheSize.label =3D HTML cache si=
ze
org.jahia.admin.status.ManageStatus.kB.label =3D KB
Modified: trunk/core/src/conf/java/JahiaAdministrationResources_fr.properti=
es
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/conf/j=
ava/JahiaAdministrationResources_fr.properties&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/conf/java/JahiaAdministrationResources_fr.properties (or=
iginal)
+++ trunk/core/src/conf/java/JahiaAdministrationResources_fr.properties Wed=
Oct 17 15:53:52 2007
@@ -828,6 +828,7 @@
org.jahia.admin.status.ManageStatus.flushAllCaches.label =3D Purger tous l=
es caches
org.jahia.admin.status.ManageStatus.flushLocks.label =3D Purger les verrou=
s d'objets de contenu
org.jahia.admin.status.ManageStatus.freeMemory.label =3D M=C3=A9moire lib=
re
+org.jahia.admin.status.ManageStatus.groupsKeysTotal.label=3DTotal des cl=
=C3=A9s dans tous les groupes
org.jahia.admin.status.ManageStatus.groupSize.label =3D Nombre de groupes
org.jahia.admin.status.ManageStatus.htmlCacheSize.label =3D Taille du cach=
e HTML
org.jahia.admin.status.ManageStatus.kB.label =3D Ko
Modified: trunk/core/src/java/org/jahia/services/cache/Cache.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/Cache.java&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/Cache.java (original)
+++ trunk/core/src/java/org/jahia/services/cache/Cache.java Wed Oct 17 15:5=
3:52 2007
@@ -308,6 +308,15 @@
return cacheImplementation.getGroupsSize();
}
=
+ /**
+ * Get the total number of keys in all the groups of this cache. This =
is
+ * an approximate value as it is not cached.
+ * @return a long representing the number of keys in all the groups.
+ */
+ final public long getGroupsKeysTotal() {
+ return cacheImplementation.getGroupsKeysTotal();
+ }
+
=
/** <p>Returns the maximum size allowed for the cache.</p>
*
Modified: trunk/core/src/java/org/jahia/services/cache/CacheImplementation.=
java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/CacheImplementation.java&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/CacheImplementation.java (=
original)
+++ trunk/core/src/java/org/jahia/services/cache/CacheImplementation.java W=
ed Oct 17 15:53:52 2007
@@ -48,6 +48,13 @@
*/
public long getGroupsSize();
=
+ /**
+ * Get the total number of keys in all the groups of this cache. This =
is
+ * an approximate value as it is not cached.
+ * @return a long representing the number of keys in all the groups.
+ */ =
+ public long getGroupsKeysTotal();
+
void flushAll(boolean propagate);
=
void flushGroup(String groupName);
Modified: trunk/core/src/java/org/jahia/services/cache/clusterservice/Clust=
erServiceCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/clusterservice/ClusterServiceCacheImpl.java&rev=3D1=
8904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/clusterservice/ClusterServ=
iceCacheImpl.java (original)
+++ trunk/core/src/java/org/jahia/services/cache/clusterservice/ClusterServ=
iceCacheImpl.java Wed Oct 17 15:53:52 2007
@@ -159,4 +159,8 @@
return underlyingCacheImplementation.getGroupsSize();
}
=
+ public long getGroupsKeysTotal() {
+ return underlyingCacheImplementation.getGroupsKeysTotal();
+ }
+ =
}
Modified: trunk/core/src/java/org/jahia/services/cache/clusterservice/batch=
/BatchingClusterServiceCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/clusterservice/batch/BatchingClusterServiceCacheImp=
l.java&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/clusterservice/batch/Batch=
ingClusterServiceCacheImpl.java (original)
+++ trunk/core/src/java/org/jahia/services/cache/clusterservice/batch/Batch=
ingClusterServiceCacheImpl.java Wed Oct 17 15:53:52 2007
@@ -157,5 +157,9 @@
public long getGroupsSize() {
return underlyingCacheImplementation.getGroupsSize();
}
- =
+
+ public long getGroupsKeysTotal() {
+ return underlyingCacheImplementation.getGroupsKeysTotal();
+ }
+
}
Modified: trunk/core/src/java/org/jahia/services/cache/ehcache/EhCacheImpl.=
java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/ehcache/EhCacheImpl.java&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/ehcache/EhCacheImpl.java (=
original)
+++ trunk/core/src/java/org/jahia/services/cache/ehcache/EhCacheImpl.java W=
ed Oct 17 15:53:52 2007
@@ -10,6 +10,7 @@
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.Map;
=
/**
* Created by IntelliJ IDEA.
@@ -74,6 +75,18 @@
return ehCacheGroups.getSize();
}
=
+ public long getGroupsKeysTotal() {
+ long totalSize =3D 0;
+ Iterator groupIterator =3D ehCacheGroups.getKeysWithExpiryCheck().=
iterator();
+ while (groupIterator.hasNext()) {
+ Object key =3D groupIterator.next();
+ Element keySetElement =3D ehCacheGroups.get(key);
+ Set keySet =3D (Set) keySetElement.getValue();
+ totalSize +=3D keySet.size(); =
+ }
+ return totalSize;
+ }
+
public void flushAll(boolean propagate) {
ehCache.removeAll();
ehCacheGroups.removeAll();
Modified: trunk/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/jms/JMSCacheImpl.java&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java (ori=
ginal)
+++ trunk/core/src/java/org/jahia/services/cache/jms/JMSCacheImpl.java Wed =
Oct 17 15:53:52 2007
@@ -235,13 +235,21 @@
}
=
/**
- * Not supported.
+ * Not supported by this cache implementation.
* @return
*/
public long getGroupsSize() {
return -1;
}
=
+ /**
+ * Not supported by this cache implementation.
+ * @return
+ */
+ public long getGroupsKeysTotal() {
+ return -1;
+ }
+
public void flushAll(boolean propagate) {
synchronized (this) {
// clears the cache
Modified: trunk/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.=
java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/oscache/OSCacheImpl.java&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java (=
original)
+++ trunk/core/src/java/org/jahia/services/cache/oscache/OSCacheImpl.java W=
ed Oct 17 15:53:52 2007
@@ -93,13 +93,21 @@
}
=
/**
- * Not supported.
+ * Not supported by this cache implementation.
* @return
*/
public long getGroupsSize() {
return -1;
}
=
+ /**
+ * Not supported by this cache implementation.
+ * @return
+ */
+ public long getGroupsKeysTotal() {
+ return -1;
+ }
+
public void flushAll(boolean propagate) {
cache.flushGroup(name);
}
Modified: trunk/core/src/java/org/jahia/services/cache/reference/ReferenceC=
acheImpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/reference/ReferenceCacheImpl.java&rev=3D18904&repna=
me=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/reference/ReferenceCacheIm=
pl.java (original)
+++ trunk/core/src/java/org/jahia/services/cache/reference/ReferenceCacheIm=
pl.java Wed Oct 17 15:53:52 2007
@@ -177,6 +177,17 @@
return groups.size();
}
=
+ public long getGroupsKeysTotal() {
+ long totalSize =3D 0;
+ Iterator groupIterator =3D groups.entrySet().iterator();
+ while (groupIterator.hasNext()) {
+ Map.Entry curEntry =3D (Map.Entry) groupIterator.next();
+ Set keySet =3D (Set) curEntry.getValue();
+ totalSize +=3D keySet.size();
+ }
+ return totalSize;
+ }
+
public void flushAll(boolean propagate) {
try {
writeLock.acquire();
Modified: trunk/core/src/java/org/jahia/services/cache/simple/SimpleCacheIm=
pl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/simple/SimpleCacheImpl.java&rev=3D18904&repname=3Dj=
ahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.jav=
a (original)
+++ trunk/core/src/java/org/jahia/services/cache/simple/SimpleCacheImpl.jav=
a Wed Oct 17 15:53:52 2007
@@ -121,6 +121,17 @@
return groups.size();
}
=
+ public long getGroupsKeysTotal() {
+ long totalSize =3D 0;
+ Iterator groupIterator =3D groups.entrySet().iterator();
+ while (groupIterator.hasNext()) {
+ Map.Entry curEntry =3D (Map.Entry) groupIterator.next();
+ Set keySet =3D (Set) curEntry.getValue();
+ totalSize +=3D keySet.size(); =
+ }
+ return totalSize;
+ }
+
public void flushAll(boolean propagate) {
Collection c =3D new ArrayList(lruEntries.values());
synchronized(cache) {
Modified: trunk/core/src/java/org/jahia/services/cache/treecache/TreeCacheI=
mpl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/treecache/TreeCacheImpl.java&rev=3D18904&repname=3D=
jahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/treecache/TreeCacheImpl.ja=
va (original)
+++ trunk/core/src/java/org/jahia/services/cache/treecache/TreeCacheImpl.ja=
va Wed Oct 17 15:53:52 2007
@@ -329,6 +329,14 @@
return size;
}
=
+ /**
+ * Not yet implemented for JBossCache.
+ * @return
+ */
+ public long getGroupsKeysTotal() {
+ return -1;
+ }
+
public long getCacheLimit() {
int cacheLimit =3D -1;
/*
Modified: trunk/core/src/webapp/jsp/jahia/administration/status.jsp
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/webapp=
/jsp/jahia/administration/status.jsp&rev=3D18904&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/webapp/jsp/jahia/administration/status.jsp (original)
+++ trunk/core/src/webapp/jsp/jahia/administration/status.jsp Wed Oct 17 15=
:53:52 2007
@@ -204,6 +204,12 @@
} else {
%><jahia:adminResourceBundle resourceName=3D"org.jahia.admin.e=
ntrie.label"/><%
} %>
+
+ <jahia:adminResourceBundle resourceName=3D"org.jahia.admin=
.status.ManageStatus.groupSize.label"/> :
+ <%=3DcurCache.getGroupsSize()%>
+
+ <jahia:adminResourceBundle resourceName=3D"org.jahia.admin=
.status.ManageStatus.groupsKeysTotal.label"/> :
+ <%=3DcurCache.getGroupsKeysTotal()%>
<br>
<jahia:adminResourceBundle resourceName=3D"org.jahia.admin=
.status.ManageStatus.successfulHits.label"/> :
<%=3DcurCache.getSuccessHits()%> / <%=3DcurCache.getTotalH=
its()%>
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list