You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cd...@apache.org on 2008/12/05 21:30:21 UTC

svn commit: r723855 [11/23] - in /hadoop/core/trunk: ./ src/contrib/ src/contrib/chukwa/ src/contrib/chukwa/bin/ src/contrib/chukwa/conf/ src/contrib/chukwa/docs/ src/contrib/chukwa/docs/paper/ src/contrib/chukwa/hadoop-packaging/ src/contrib/chukwa/li...

Added: hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/ChunkDumper.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/ChunkDumper.java?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/ChunkDumper.java (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/ChunkDumper.java Fri Dec  5 12:30:14 2008
@@ -0,0 +1,79 @@
+package org.apache.hadoop.chukwa.validationframework.interceptor;
+
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import org.apache.hadoop.chukwa.Chunk;
+
+public class ChunkDumper
+{
+	static public String testRepositoryDumpDir = "/tmp/chukwaDump/";
+	static HashMap<String, DataOutputStream> hash = new HashMap<String, DataOutputStream>();
+	
+	public static void dump(String component,Chunk chunk)
+	{
+		
+		String fileName = chunk.getApplication();
+		
+		if (!hash.containsKey(component + "-" +fileName))
+		{
+			File directory = new File(testRepositoryDumpDir+ "/"+ component );
+			if (!directory.exists())
+			{
+				directory.mkdirs();
+			}
+			String name = fileName;
+			if (fileName.indexOf("/") >= 0)
+			{
+				name = fileName.substring(fileName.lastIndexOf("/"));
+			}
+			name += ".bin";
+			
+			synchronized(name.intern())
+			{
+				System.out.println("FileName [" + name + "]");
+				try
+				{
+					DataOutputStream  dos=new DataOutputStream(new FileOutputStream(new File(testRepositoryDumpDir+ "/"+ component + "/" + name)));
+					System.out.println("Writing to [" + testRepositoryDumpDir+ "/"+ component + "/" + name + "]");
+					hash.put(component + "-" +fileName, dos);
+				} catch (FileNotFoundException e)
+				{
+					e.printStackTrace();
+				}   
+			}
+		}
+		String key = component + "-" +fileName;
+		synchronized(key.intern())
+		{
+			DataOutputStream dos = hash.get(key);
+			try
+			{
+				chunk.write(dos);
+				dos.flush();
+			}
+			catch (IOException e)
+			{
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	static void close()
+	{
+		Iterator<String> it = hash.keySet().iterator();
+		while(it.hasNext())
+		{
+			String key = it.next();
+			DataOutputStream dos = hash.get(key);
+			try{ dos.close();} 
+			catch (Exception e)
+			{ e.printStackTrace();}
+		}
+	}
+}

Added: hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/ChunkQueueInterceptor.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/ChunkQueueInterceptor.java?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/ChunkQueueInterceptor.java (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/ChunkQueueInterceptor.java Fri Dec  5 12:30:14 2008
@@ -0,0 +1,40 @@
+package org.apache.hadoop.chukwa.validationframework.interceptor;
+
+import java.util.List;
+
+import org.apache.hadoop.chukwa.Chunk;
+import org.apache.hadoop.chukwa.datacollection.ChunkQueue;
+
+public class ChunkQueueInterceptor implements
+		org.apache.hadoop.chukwa.datacollection.ChunkQueue
+{
+	private ChunkQueue defaultQueue = null;
+	
+	public ChunkQueueInterceptor(ChunkQueue defaultQueue)
+	{
+		this.defaultQueue = defaultQueue;
+	}
+
+	@Override
+	public void add(Chunk chunk) throws InterruptedException
+	{
+		ChunkDumper.dump("adaptor", chunk);
+		defaultQueue.add(chunk);
+	}
+
+	@Override
+	public void collect(List<Chunk> chunks, int count)
+			throws InterruptedException
+	{
+		defaultQueue.collect(chunks, count);
+		for(Chunk chunk: chunks)
+			{ ChunkDumper.dump("sender", chunk);}
+	}
+
+	@Override
+	public int size()
+	{
+		return defaultQueue.size();
+	}
+
+}

Added: hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/SetupTestClasses.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/SetupTestClasses.java?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/SetupTestClasses.java (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/interceptor/SetupTestClasses.java Fri Dec  5 12:30:14 2008
@@ -0,0 +1,34 @@
+package org.apache.hadoop.chukwa.validationframework.interceptor;
+
+import java.lang.reflect.Field;
+
+import org.apache.hadoop.chukwa.datacollection.ChunkQueue;
+import org.apache.hadoop.chukwa.datacollection.DataFactory;
+
+public class SetupTestClasses
+{
+	public static void setupClasses() throws Throwable
+	{
+		setupChunkQueueInterceptor();
+	}
+	
+	static protected void setupChunkQueueInterceptor() throws Throwable
+	{
+		DataFactory da = DataFactory.getInstance();
+		ChunkQueue chunkQueue = da.getEventQueue();
+		
+		final Field fields[] = DataFactory.class.getDeclaredFields();
+	    for (int i = 0; i < fields.length; ++i) 
+	    {
+	      if ("chunkQueue".equals(fields[i].getName())) 
+	      {
+	        Field f = fields[i];
+	        f.setAccessible(true);
+	        ChunkQueue ci = new ChunkQueueInterceptor(chunkQueue);
+	        f.set(da, ci);
+	        System.out.println("Adding QueueInterceptor");
+	        break;
+	      }
+	    }
+	}
+}

Added: hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/util/DataOperations.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/util/DataOperations.java?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/util/DataOperations.java (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/util/DataOperations.java Fri Dec  5 12:30:14 2008
@@ -0,0 +1,205 @@
+package org.apache.hadoop.chukwa.validationframework.util;
+
+import java.io.DataInputStream;
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.URI;
+
+import org.apache.hadoop.chukwa.ChukwaArchiveKey;
+import org.apache.hadoop.chukwa.Chunk;
+import org.apache.hadoop.chukwa.ChunkImpl;
+import org.apache.hadoop.chukwa.conf.ChukwaConfiguration;
+import org.apache.hadoop.chukwa.extraction.engine.ChukwaRecord;
+import org.apache.hadoop.chukwa.extraction.engine.ChukwaRecordKey;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.SequenceFile;
+import org.apache.log4j.Logger;
+
+public class DataOperations
+{
+  static Logger log = Logger.getLogger(DataOperations.class);
+
+  public static void copyFile(String fromFileName, String toFileName)
+      throws IOException
+  {
+    File fromFile = new File(fromFileName);
+    File toFile = new File(toFileName);
+
+    FileInputStream from = null;
+    FileOutputStream to = null;
+    try
+    {
+      from = new FileInputStream(fromFile);
+      to = new FileOutputStream(toFile);
+      byte[] buffer = new byte[4096];
+      int bytesRead;
+
+      while ((bytesRead = from.read(buffer)) != -1)
+        to.write(buffer, 0, bytesRead); // write
+    } finally
+    {
+      if (from != null)
+        try
+        {
+          from.close();
+        } catch (IOException e)
+        {
+          ;
+        }
+      if (to != null)
+        try
+        {
+          to.close();
+        } catch (IOException e)
+        {
+          // ;
+        }
+    }
+  }
+
+  public static boolean validateMD5(String inputFile, String testFile)
+  {
+    // System.out.println("validateMD5 [" + inputFile + "] [" + testFile
+    // + "]");
+    String md5_1 = MD5.checksum(new File(inputFile));
+    String md5_2 = MD5.checksum(new File(testFile));
+    // System.out.println("MD5 [" + md5_1 + "] [" + md5_2 + "]");
+    return md5_1.intern() == md5_2.intern();
+  }
+
+  public static boolean validateMD5(FileSystem fs, Path inputFile, Path testFile)
+  {
+    // System.out.println("validateMD5 [" + inputFile + "] [" + testFile
+    // + "]");
+    String md5_1 = MD5.checksum(fs, inputFile);
+    String md5_2 = MD5.checksum(fs, testFile);
+    // System.out.println("MD5 [" + md5_1 + "] [" + md5_2 + "]");
+    return md5_1.intern() == md5_2.intern();
+  }
+
+  public static boolean validateChukwaRecords(FileSystem fs,
+      Configuration conf, Path inputFile, Path testFile)
+  {
+    SequenceFile.Reader goldReader = null;
+    SequenceFile.Reader testReader = null;
+    try
+    {
+      // log.info(">>>>>>>>>>>>>> Openning records [" + inputFile.getName()
+      // +"][" + testFile.getName() +"]");
+      goldReader = new SequenceFile.Reader(fs, inputFile, conf);
+      testReader = new SequenceFile.Reader(fs, testFile, conf);
+
+      ChukwaRecordKey goldKey = new ChukwaRecordKey();
+      ChukwaRecord goldRecord = new ChukwaRecord();
+
+      ChukwaRecordKey testKey = new ChukwaRecordKey();
+      ChukwaRecord testRecord = new ChukwaRecord();
+
+      // log.info(">>>>>>>>>>>>>> Start reading");
+      while (goldReader.next(goldKey, goldRecord))
+      {
+        testReader.next(testKey, testRecord);
+
+        if (goldKey.compareTo(testKey) != 0)
+        {
+          log.info(">>>>>>>>>>>>>> Not the same Key");
+          log.info(">>>>>>>>>>>>>> Record [" + goldKey.getKey() + "] ["
+              + goldKey.getReduceType() + "]");
+          log.info(">>>>>>>>>>>>>> Record [" + testKey.getKey() + "] ["
+              + testKey.getReduceType() + "]");
+          return false;
+        }
+
+        if (goldRecord.compareTo(testRecord) != 0)
+        {
+          log.info(">>>>>>>>>>>>>> Not the same Value");
+          log.info(">>>>>>>>>>>>>> Record [" + goldKey.getKey() + "] ["
+              + goldKey.getReduceType() + "]");
+          log.info(">>>>>>>>>>>>>> Record [" + testKey.getKey() + "] ["
+              + testKey.getReduceType() + "]");
+          log.info(">>>>>>>>>>>>>> Gold Value [" + goldRecord.toString() + "]");
+          log.info(">>>>>>>>>>>>>> Test value [" + testRecord.toString() + "]");
+          
+          return false;
+        }
+      }
+      // log.info(">>>>>>>>>>>>>> Same File");
+      return true;
+    } catch (IOException e)
+    {
+      e.printStackTrace();
+      return false;
+    } finally
+    {
+      try
+      {
+        goldReader.close();
+        testReader.close();
+      } catch (IOException e)
+      {
+      }
+
+    }
+  }
+
+  public static void extractRawLogFromdataSink(String directory, String fileName)
+      throws Exception
+  {
+    ChukwaConfiguration conf = new ChukwaConfiguration();
+    String fsName = conf.get("writer.hdfs.filesystem");
+    FileSystem fs = FileSystem.get(new URI(fsName), conf);
+
+    SequenceFile.Reader r = new SequenceFile.Reader(fs, new Path(directory
+        + fileName + ".done"), conf);
+
+    File outputFile = new File(directory + fileName + ".raw");
+
+    ChukwaArchiveKey key = new ChukwaArchiveKey();
+    ChunkImpl chunk = ChunkImpl.getBlankChunk();
+    FileWriter out = new FileWriter(outputFile);
+    try
+    {
+      while (r.next(key, chunk))
+      {
+        out.write(new String(chunk.getData()));
+      }
+    } finally
+    {
+      out.close();
+      r.close();
+    }
+
+  }
+
+  public static void extractRawLogFromDump(String directory, String fileName)
+      throws Exception
+  {
+    File inputFile = new File(directory + fileName + ".bin");
+    File outputFile = new File(directory + fileName + ".raw");
+    DataInputStream dis = new DataInputStream(new FileInputStream(inputFile));
+    Chunk chunk = null;
+    FileWriter out = new FileWriter(outputFile);
+    boolean eof = false;
+    do
+    {
+      try
+      {
+        chunk = ChunkImpl.read(dis);
+        out.write(new String(chunk.getData()));
+      } catch (EOFException e)
+      {
+        eof = true;
+      }
+
+    } while (!eof);
+
+    dis.close();
+    out.close();
+  }
+}

Added: hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/util/MD5.java
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/util/MD5.java?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/util/MD5.java (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/test/org/apache/hadoop/chukwa/validationframework/util/MD5.java Fri Dec  5 12:30:14 2008
@@ -0,0 +1,67 @@
+package org.apache.hadoop.chukwa.validationframework.util;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.security.MessageDigest;
+
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+
+public class MD5
+{
+	public static String checksum(File file) {
+		  try {
+		    InputStream fin = new FileInputStream(file);
+		    java.security.MessageDigest md5er =
+		        MessageDigest.getInstance("MD5");
+		    byte[] buffer = new byte[1024];
+		    int read;
+		    do {
+		      read = fin.read(buffer);
+		      if (read > 0)
+		        md5er.update(buffer, 0, read);
+		    } while (read != -1);
+		    fin.close();
+		    byte[] digest = md5er.digest();
+		    if (digest == null)
+		      return null;
+		    String strDigest = "0x";
+		    for (int i = 0; i < digest.length; i++) {
+		      strDigest += Integer.toString((digest[i] & 0xff) 
+		                + 0x100, 16).substring(1).toUpperCase();
+		    }
+		    return strDigest;
+		  } catch (Exception e) {
+		    return null;
+		  }
+		}
+	
+	public static String checksum(FileSystem fs,Path file) {
+    try {
+      FSDataInputStream fin = fs.open(file);
+      java.security.MessageDigest md5er =
+          MessageDigest.getInstance("MD5");
+      byte[] buffer = new byte[1024];
+      int read;
+      do {
+        read = fin.read(buffer);
+        if (read > 0)
+          md5er.update(buffer, 0, read);
+      } while (read != -1);
+      fin.close();
+      byte[] digest = md5er.digest();
+      if (digest == null)
+        return null;
+      String strDigest = "0x";
+      for (int i = 0; i < digest.length; i++) {
+        strDigest += Integer.toString((digest[i] & 0xff) 
+                  + 0x100, 16).substring(1).toUpperCase();
+      }
+      return strDigest;
+    } catch (Exception e) {
+      return null;
+    }
+  }
+}

Modified: hadoop/core/trunk/src/contrib/chukwa/src/web/collector/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/collector/WEB-INF/web.xml?rev=723855&r1=723854&r2=723855&view=diff
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/collector/WEB-INF/web.xml (original)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/collector/WEB-INF/web.xml Fri Dec  5 12:30:14 2008
@@ -16,7 +16,7 @@
       <servlet-class>org.apache.hadoop.chukwa.datacollection.collector.servlet.ServletCollector</servlet-class>
           <init-param>
             <param-name>chukwaCollector.outputDir</param-name>
-            <param-value>hdfs://localhost:9000/user/jboulon/chukwa/logs</param-value>
+            <param-value>hdfs://localhost:9000/chukwa/logs</param-value>
           </init-param>
           <init-param>
             <param-name>chukwaCollector.rotateInterval</param-name>

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/WEB-INF/jsp2/taglib.tld
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/WEB-INF/jsp2/taglib.tld?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/WEB-INF/jsp2/taglib.tld (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/WEB-INF/jsp2/taglib.tld Fri Dec  5 12:30:14 2008
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+    version="2.0">
+    <description>A tag library exercising SimpleTag handlers.</description>
+    <tlib-version>1.0</tlib-version>
+    <short-name>SimpleTagLibrary</short-name>
+    <uri>/SimpleTagLibrary</uri>
+    <tag>
+	<description>Workspace views JSON Coverter</description>
+        <name>findViews</name>
+	<tag-class>org.apache.hadoop.chukwa.hicc.ViewsTag</tag-class>
+	<body-content>scriptless</body-content>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>false</rtexprvalue>
+        </attribute>
+    </tag>
+</taglib>
+

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/WEB-INF/web.xml?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/WEB-INF/web.xml (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/WEB-INF/web.xml Fri Dec  5 12:30:14 2008
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+   version="2.5"> 
+
+    <description>
+      Workspace
+    </description>
+    <display-name>Workspace</display-name>
+
+    <servlet>
+        <servlet-name>Workspace</servlet-name>
+        <servlet-class>org.apache.hadoop.chukwa.hicc.Workspace</servlet-class>
+    </servlet>
+    <servlet> 
+        <servlet-name>Iframe</servlet-name> 
+        <servlet-class>org.apache.hadoop.chukwa.hicc.Iframe</servlet-class> 
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>Workspace</servlet-name>
+        <url-pattern>/Workspace</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping> 
+        <servlet-name>Iframe</servlet-name> 
+        <url-pattern>/iframe/*</url-pattern> 
+    </servlet-mapping>
+</web-app>

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/default.css
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/default.css?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/default.css (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/default.css Fri Dec  5 12:30:14 2008
@@ -0,0 +1,704 @@
+a:hover {text-decoration:underline;}
+a:link {text-decoration:none;}
+
+.formTableContent {background-color:#FFFFFF;text-align:left;vertical-align:top;}
+.formTableLeft {font-weight:bold;text-align:right;background-color:#CCCCCC;vertical-align:top;text-indent:3pt;}
+.formInput {font:normal 11px Arial;color:#3A5A87;padding-left:0px;}
+.formInput-disabled { font:normal 11px Arial;color:#3A5A87;background-color:#DDDDDD;padding-left:0px; }
+.formReadOnly {border-style:solid;border-width:1px;border-color:#C0C0C0;font:bold 11px Arial;color:#3A5A87;padding-left:0px;}
+.formTable {font:normal 11px Arial;background-color:#AAAAAA;}
+.formControlRow {font:normal 11px Arial;color:#333333;background-image:url(/images/controlBackground.jpg);background-repeat:repeat-x;}
+.formButton {font:bold 11px Arial;color:#FFFFFF;background-image:url(images/titlebar.gif);background-color:#7B0099;vertical-align:middle;border-width:1px;height:20px;border:1px solid #000;}
+.formButton:hover { font:bold 11px Arial;color:#000000;background-image:url(images/navbar-selected.gif);vertical-align:middle;border-width:1px;height:20px;border:1px solid #000; }
+.formButton-disabled {font:bold 11px Arial;color:#AAAAAA;background-color:#DDDDDD;vertical-align:middle;border-width:1px;height:20px;}
+.formRadio {width:14px;}
+.formSelect {font:normal 11px Arial;color:#3A5A87;z-index:100;}
+a.hyperlink:link {color:inherit;text-decoration:underline; }
+a.hyperlink:visited {color:inherit;text-decoration:underline; }
+a.hyperlink:hover {color:#5E76AA;text-decoration:underline;background:#E9EE94; }
+a.hyperlink:active {color:inherit;text-decoration:underline }
+
+A.Dropdown {font-family:Arial;color:#1E4F66;text-decoration:none;}
+A.Dropdown:visited {font-family:Arial;color:#1E4F66;text-decoration:none;}
+A.Dropdown:active {font-family:Arial;color:#1E4F66;text-decoration:underline;}
+A.Dropdown:hover {font-family:Arial;color:#1E4F66;text-decoration:underline;}
+A.Dropdown:link {font-family:Arial;color:#1E4F66;text-decoration:none;}
+
+A.sectionLink {font-family:Arial;color:#FFFFFF;text-decoration:none;}
+A.sectionLink:visited {font-family:Arial;color:#FFFFFF;text-decoration:none;}
+A.sectionLink:active {font-family:Arial;color:#FFFFFF;text-decoration:none;}
+A.sectionLink:hover {font-family:Arial;color:#FFFFFF;text-decoration:none;}
+A.sectionLink:link {font-family:Arial;color:#FFFFFF;text-decoration:none;}
+
+
+body {font-family:Arial;background-color:#ffffff;}
+
+.messageTable {font:normal 11px Arial;background-color:#999999;border-style:solid;border-top:0;border-bottom:0;border-width:1px;border-color:#777772;}
+.messageTableContent {font:normal 11px Arial;background-color:#FFFFFF;color:#1E4F66;text-align:left;}
+.messageTableLeft {font:bold 11px Arial;background-color:#e9e8e6;text-align:left;color:#555555;vertical-align:top;}
+.messageTableRight {font:normal 11px Arial;background-color:#e9e8e6;text-align:left;color:#555555;vertical-align:top;}
+.tableBorder {border-style:solid;border-top:0;border-width:1px;border-color:#777772;font:normal 11px Arial;color:#1E4F66;}
+.tableBorder-alt {border-style:solid;border-top:0;border-width:1px;border-color:#777772;background-color:#F5FAFA;font:normal 11px Arial;color:#1E4F66;}
+.tableBorderSide {border-style:solid;border-top:0;border-bottom:0;border-width:1px;border-color:#777772;}
+.whitespace {background-color:#FFFFFF;}
+.formControlRowBottom {font:bold 11px Arial;color:#FFFFFF;background-image:url(/images/controlBackgroundBottom.jpg);background-repeat:repeat-x;}
+.mailListBorder {background-color:#c0c0c0;}
+.configurationTableContent {font:normal 11px Arial;color:#000000;background-color:#FFFFFF;height:14;}
+.configurationTable {font-size:11px;border-style:solid;border-top:0;border-width:1px;border-color:#777772;background-color:#FFFFFF;}
+
+
+.table-subhead {font:bold 11px Arial;color:#4a4a4a;background-color:#E9E8E6;height:25px;vertical-align:middle;}
+.white { background-color:#ffffff;background-image:none; }
+
+.glossy_icon {
+        position:relative; /*this is the key*/
+        z-index:24;
+        text-decoration:none
+}
+
+.glossy_icon img {
+        position:relative; /*this is the key*/
+        z-index:24;
+        filter:progid:DXImageTransform.Microsoft.Alpha(opacity=65);
+        opacity:.65; -moz-opacity: 0.65;
+        text-decoration:none;
+        border:none;
+}
+
+.glossy_icon:hover {
+        z-index:25;
+        border:none;
+        text-decoration:none;
+        filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);
+        opacity:1.00; -moz-opacity: 1.00;
+}
+
+.glossy_icon:hover img {
+        z-index:25;
+        border:none;
+        filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);
+        opacity:1.00; -moz-opacity: 1.00;
+}
+
+.glossy_icon span{display: none}
+
+.glossy_icon:hover span{ /*the span will display just on :hover state*/
+        filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);
+        color:#000;
+        display:block;
+        position:absolute;
+        top:2em;left:-2em;
+        border:1px solid #000;
+        padding: 2px 2px 2px 2px;
+        background-color:#FFFFE1; color:#000;
+        font:normal 11px Arial;
+        text-align: right;
+        text-decoration:none;
+}
+
+.glossy_icon:disabled {
+        border:none;
+        filter:progid:DXImageTransform.Microsoft.Alpha(opacity=25);
+        opacity:.25; -moz-opacity: 0.25;
+}
+
+.group_box {
+	font:normal 11px Arial;
+	color:#1E4F66;
+	width:100%;
+	background-color:#FFFFFF;
+}
+
+.group_box-alt {
+	font:normal 11px Arial;
+	color:#1E4F66;
+	width:100%;
+	background-color:#F5FAFA;
+}
+
+.table-header {
+  text-align:center;
+  border: 1px solid #cccbc6;
+  background-color: #e9e8e6;
+  color: #686663;
+  font: normal 10 Helvetica, Arial;
+}
+#mainContainer{
+	width:100%;
+	margin:0 auto;
+	text-align:left;
+	height:100%;		
+	padding-bottom:30px;
+}
+
+.dragableBox{	/* The RSS box */
+	border-top: 1px solid #795089;
+	border-left: 1px solid #795089;
+	border-right: 1px solid #795089;
+	border-bottom: 1px solid #795089;
+	background-color:#FFFFFF;
+	margin:0px 0px 5px 0px; 
+}
+
+#dragableBoxShadow {
+	background: url(/images/shadow2.png) no-repeat left top !important;
+	background: url(/images/shadow2.gif) no-repeat left top;
+	float: left;
+	padding: 0px 6px 6px 0px;
+}
+
+.dragableBoxHeader{	/* Header inside RSS box */
+        color:#FFFFFF;
+        background-image:url(images/titlebar.gif);
+        background-repeat: repeat-x;
+	height:20px;
+	font:bold 12 Helvetica, Arial;vertical-align:middle;
+	font-weight:bold;
+}
+.dragableBoxHeader span{	/* Text inside header of RSS box */
+	line-height:20px;
+}
+.dragableBoxHeader img,.dragableBoxHeader span{	/* Text and reload image inside RSS box */
+	float:left;
+}
+.boxItemHeader{	/* Title of items inside dragable boxes */
+	font-weight:bold;
+	margin:0px;
+	color:#000;
+	text-decoration:none;
+	overflow:hidden;
+}	
+.boxItemHeader:hover{	/* Title of items inside dragable boxes - mouseover*/
+	font-weight:bold;
+	margin:0px;
+	color:#F00;
+	text-decoration:underline;
+}
+.dragableBoxHeader input{	/* text inputs that gets visible when you click on the "edit" link at the top of a rss box */
+	font-size:12px;	
+}
+	
+.rssNumberOfItems{	/* Number of RSS items in header - the one inside parantheses */
+	color:#F00;
+}
+.dragableBoxContent{	/* DIV holding data inside dragable boxes */
+	padding:3px;
+	clear:both;
+	font-size: 10px;
+}
+#rectangleDiv{	/* Dotted rectangle indicating where objects will be dropped */
+	border:1px dotted red;
+	margin:5px;
+}
+	
+.closeButton{	/* Close button */
+	padding:2px;
+	border:1px solid #317082;
+	line-height:9px;
+	height:9px;
+	margin:2px;
+	color:#317082;
+	padding:2px;
+	padding-bottom:3px;
+}
+.closeButton_over{	/* Close button - mouse over */
+	padding:2px;
+	border:1px solid #317082;
+	line-height:9px;
+	padding:2px;
+	padding-bottom:3px;
+	margin:2px;	
+	background-color:#317082;
+	color:#FFF;
+}
+.dragableBoxStatusBar{	/* Status bar at the bottom of rss boxes */
+	display:none;
+	height:14px;
+	background-color:#E2EBED;
+	font-size: 10px;
+	padding:2px;
+}
+	
+.dragableBoxEdit {
+	font-size: 10px;
+	background-color:#eeeeee;
+}
+
+.dragableBoxEditLink{	/* Edit link on top of a box */
+	color:#317082;
+	text-decoration:none;
+	padding-top:1px;
+}
+.dragableBoxEditLink:hover{	/* Edit link - mouse over */
+	color:red;
+	text-decoration:underline;
+}
+form{	/* No borders in forms */
+	display:inline;
+}
+
+body#main_body, div#workspaceContainer {
+	height: 100%;
+}
+
+.tabcontent{
+	display:none;
+	background-color: #ffffff;
+}
+
+/***********************************************/
+div.portal_menu {background: rgb(255,255,240); border: 1px #000 dotted;}
+table.menu_table {font-size:x-small;}
+hr.separator {border:1px #000 solid; color: #c0c0c0; background-color: #c0c0c0;}
+
+div.rss_feed_div {
+        color:#002E40;
+        font:normal 11 Helvetica, Arial;
+        border-collapse: collapse;
+}
+
+div.portal_util_div table {font-size:11px;}
+
+.portal_table {
+        color:#002E40;
+	font:normal 11 Helvetica, Arial;
+	border-collapse: collapse;
+}
+
+.portal_table caption {
+	font-size           : 11px;
+	font-weight: bold;
+	border-collapse: collapse;
+}
+
+.portal_table th {
+	color: #4a4a4a;
+	border: 1px solid #c0c0c0;
+	text-align: center;
+	background-color: #e9e8e6;
+}
+
+.portal_table td {
+	border-left: 1px solid #C1DAD7;
+	border-right: 1px solid #C1DAD7;
+	border-bottom: 1px solid #C1DAD7;
+	background: #fff;
+        color:#002E40;
+}
+
+
+.portal_table td.high {
+	background: red;
+	color: #797268;
+}
+
+.portal_table td.medium {
+	background: yellow;
+	color: #797268;
+}
+
+.portal_table td.alt {
+	background: #F5FAFA;
+	color: #797268;
+}
+
+.page_tab:focus {
+    	-moz-outline: 0px solid #000000 !important;
+	-moz-outline-offset: 1px	!important;
+	-moz-outline-radius: 5px	!important;
+}
+
+.html_div {
+	padding: 5px 5px 5px 5px;
+}
+
+.notice_table {
+    background: #eeeeee;
+    padding: 1px;
+    width: 100%;
+}
+
+.notice_table thead {
+    background: #eeeeee;
+}
+
+.notice_table th {
+    font-weight:bold;	
+}
+
+.notice_table_author {
+    font-weight:bold;	
+    text-align:left;
+}
+
+.notice_table_time {
+    font-weight:bold;	
+    text-align:right;
+}
+
+.notice_table td {
+    background: white;
+}
+
+.content {
+	background-color: #8faabb;
+}
+
+a {
+	text-decoration: none;
+	color: #000000;
+}
+
+#page_config_menu {
+	position: absolute;
+	background: white;
+	border: 1px solid #000000;
+	z-index: 10;
+}
+
+#manage_view {
+	overflow: auto;
+	background: #eeeeee;
+	z-index: 10;
+}
+
+#widget_view {
+	overflow: auto;
+	background: #eeeeee;
+	z-index: 10;
+}
+
+.portal_top_nav_bar {	/* Header inside RSS box */
+        color:#1E4F66;
+	font:bold 10 Helvetica, Arial;vertical-align:middle;
+	font-weight:bold;
+	color: #002e30;
+}
+
+.clear_table, .widget {
+        font:normal 11 Helvetica, Arial;
+        color:#002E40;
+        border-collapse: collapse;
+}
+
+.simple_table {
+        font:normal 11 Helvetica, Arial;
+        border: 1px solid #c0c0c0;
+        border-collapse: collapse;
+        padding: 1px;
+}
+
+.simple_table td {
+        text-decoration:none;
+        height: 16px;
+        font:normal 11 Helvetica, Arial;
+        border-top: none;
+        border-left: none;
+        border-right: none;
+        border-bottom: none;
+        color:#002E40;
+}
+
+.simple_table th {
+        color: #4a4a4a;
+        border: 1px solid #c0c0c0;
+        text-align: center;
+        background-color: #e9e8e6;
+}
+
+.simple_table caption {
+        font-size           : 11px;
+        font-weight: bold;
+        border-collapse: collapse;
+}
+
+.highlight {
+        background-color:#88ceff;
+}
+
+.page_selector_table {
+border-bottom: 1px solid #cccccc;
+margin: 0;
+}
+
+
+table.titlebar {font:bold 11px Arial;color:#FFFFFF;vertical-align:middle;border-width:1px;height:14px;border:1px solid #000;background-image:url(images/titlebar.gif);background-repeat:repeat-x;background-color:#7B0099;}
+
+table.simple {
+	border-width: 1px;
+	border-style: solid;
+	border-color: #E1D8E5;
+	border-collapse: collapse;
+        font: normal 11px Arial; color:#000000;
+	background-color: #ffffff;
+}
+table.simple th {
+	border-width: 1px;
+	padding: 2px;
+	border-style: inset;
+	border-color: #E1D8E5;
+	background-color: #E1D8E5;
+        font: bold 11px Arial; color:#000000;
+	-moz-border-radius: ;
+}
+table.simple td {
+	text-decoration: none;
+	border-width: 1px;
+	padding: 2px;
+	border-style: inset;
+	border-color: #E1D8E5;
+	-moz-border-radius: ;
+}
+
+thead.fixedHead {
+	width:100%;
+	display:block;
+	background-color: #E1D8E5;
+}
+
+thead.fixedHead th {
+	width:5%;
+}
+
+thead.fixedHead th + th {
+	width:95%;
+}
+
+tbody.scrollContent {
+	height: 262px;
+	overflow: auto;
+	display:block;
+	width:100%;
+}
+
+div.shadow {
+	display:block;
+	position:absolute;
+	top:0;
+	left:0;
+	width:100%;
+	height:100%;
+	float:left;
+	background-color:#000000;
+	filter:alpha(opacity=25);
+	opacity:.25;
+	-moz-opacity:.25;
+	z-index:11;
+}
+
+*.carpe_horizontal_slider_display_combo {
+	clear: left;
+	margin: 0;
+}
+*.carpe_vertical_slider_display_combo {
+	float: left;
+	margin: 0;
+}
+*.carpe_horizontal_slider_track {
+	background-color: #bbb;
+	color: #333;
+	width: 120px;
+	float: left;
+	margin: 0;
+	line-height: 0px;
+	font-size: 0px;
+	text-align: left;
+	padding: 4px;
+	border: 1px solid;
+	border-color: #ddd #999 #999 #ddd;
+}
+*.carpe_vertical_slider_track {
+	background-color: #bbb;
+	color: #333;
+	padding: 3px 6px 15px 6px;
+	width: 24px;
+	height: 100px;
+	border: 1px solid;
+	border-color: #ddd #999 #999 #ddd;
+}
+*.carpe_horizontal_slider_track *.carpe_slider_slit {
+	background-color: #333;
+	color: #ccc;
+	width: 110px;
+	height: 2px;
+	margin: 4px 4px 2px 4px;
+	line-height: 0px;
+	position: absolute;
+	z-index: 1;
+	border: 1px solid;
+	border-color: #999 #ddd #ddd #999;
+}
+*.carpe_vertical_slider_track *.carpe_slider_slit {
+	background-color: #000;
+	color: #333;
+	width: 2px;
+	height: 100px;
+	position: absolute;
+	margin: 4px 10px 4px 10px;
+	padding: 4px 0 1px 0;
+	line-height: 0px;
+	font-size: 0;
+	border: 1px solid;
+	border-color: #666 #ccc #ccc #666;
+}
+*.carpe_horizontal_slider_track *.carpe_slider {
+	width: 16px;
+	background-color: #666;
+	color: #333;
+	position: relative;
+	margin: 0;
+	height: 8px;
+	z-index: 1;
+	line-height: 0px;
+	font-size: 0px;
+	text-align: left;
+	border: 2px solid;
+	border-color: #999 #333 #333 #999;
+}
+*.carpe_vertical_slider_track *.carpe_slider {
+	width: 20px;
+	background-color: #666;
+	color: #333;
+	position: relative;
+	margin: 0;
+	height: 8px;
+	z-index: 1;
+	line-height: 0px;
+	font-size: 0px;
+	text-align: left;
+	border: 2px solid;
+	border-color: #999 #333 #333 #999;
+}
+*.carpe_slider_display_holder {
+	background-color: #bbb;
+	color: #333;
+	width: 34px;
+	margin: 0;
+	float: left;
+	padding: 0 2px 0 0;
+	height: 20px;
+	text-align: right;
+	border: 1px solid;
+	border-color: #ddd #999 #999 #ddd;
+}
+.carpe_slider_display {
+	background-color: #bbb;
+	color: #333;
+	padding: 3px 1px 0 0;
+	width: 30px;
+	text-align: right;
+	font-size: 11px;
+	line-height: 10px;
+	font-family: verdana, arial, helvetica, sans-serif;
+	font-weight: bold;
+	border: 0;
+	cursor: default;
+}
+
+body > .panel {
+    padding: 10px;
+}
+
+.panel > fieldset {
+    position: relative;
+    margin: 0 0 20px 0;
+    padding: 0;
+    border: 0;
+    background: #FFFFFF;
+}
+
+.row  {
+    position: relative;
+}
+
+fieldset > .row:last-child {
+}
+
+.row > select {
+}
+
+.row > input {
+}
+
+.row > label {
+    margin: 0 0 0 14px;
+    line-height: 12px;
+}
+
+.row > .toggle {
+    position: absolute;
+    top: 6px;
+    right: 6px;
+    width: 100px;
+    height: 28px;
+}
+
+.toggle {
+    border: 1px solid #888888;
+    -webkit-border-radius: 6px;
+    background: #FFFFFF url(../images/toggle.png) repeat-x;
+    font-size: 19px;
+    font-weight: bold;
+    line-height: 30px;
+}
+
+.toggle[toggled="true"] {
+    border: 1px solid #143fae;
+    background: #194fdb url(../images/toggleOn.png) repeat-x;
+}
+
+.toggleOn {
+    display: none;
+    position: absolute;
+    width: 60px;
+    text-align: center;
+    left: 0;
+    top: 0;
+    color: #FFFFFF;
+    text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
+}
+
+.toggleOff {
+    position: absolute;
+    width: 60px;
+    text-align: center;
+    right: 0;
+    top: 0;
+    color: #666666;
+}
+
+.toggle[toggled="true"] > .toggleOn {
+    display: block;
+}
+
+.toggle[toggled="true"] > .toggleOff {
+    display: none;
+}
+
+.thumb {
+    position: absolute;
+    top: -1px;
+    left: -1px;
+    width: 40px;
+    height: 28px;
+    border: 1px solid #888888;
+    -webkit-border-radius: 6px;
+    background: #ffffff url(../images/thumb.png) repeat-x;
+}
+
+.toggle[toggled="true"] > .thumb {
+    left: auto;
+    right: -1px;
+}
+
+.panel > h2 {
+    color:#002E40;
+    font-family:Helvetica,Arial;
+    font-size:11px;
+    font-size-adjust:none;
+    font-style:normal;
+    font-variant:normal;
+    font-weight:normal;
+    line-height:normal;
+}
+

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/flexigrid/flexigrid.css
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/flexigrid/flexigrid.css?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/flexigrid/flexigrid.css (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/flexigrid/flexigrid.css Fri Dec  5 12:30:14 2008
@@ -0,0 +1,729 @@
+@charset "UTF-8";
+/* CSS Document */
+
+.flexigrid
+	{
+	font-family: Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	position: relative;
+	border: 0px solid #eee;
+	overflow: hidden;
+	color: #000;
+	}
+
+	.flexigrid.hideBody
+		{
+		height: 26px !important;
+		border-bottom: 1px solid #ccc;
+		}
+
+	.ie6fullwidthbug
+		{
+		border-right: 0px solid #ccc;
+		padding-right: 2px;	
+		}
+
+.flexigrid div.nDiv
+	{
+	background: #eee url(images/line.gif) repeat-y -1px top;
+	border: 1px solid #ccc;
+	border-top: 0px;
+	overflow: auto;
+	left: 0px;
+	position: absolute;
+	z-index: 999;
+	float: left;
+	}
+
+	.flexigrid div.nDiv table
+		{
+		margin: 2px;
+		}
+
+.flexigrid div.hDivBox
+	{
+	float: left; 
+	padding-right: 40px;
+	}
+
+.flexigrid div.bDiv table
+	{
+	margin-bottom: 10px;
+	}
+	
+	.flexigrid div.bDiv table.autoht
+		{
+		border-bottom: 0px;
+		margin-bottom: 0px;
+		}
+	
+.flexigrid div.nDiv td
+	{
+	padding: 2px 3px;
+	border: 1px solid #eee;
+	cursor: default;
+	}
+
+.flexigrid div.nDiv tr:hover td, .flexigrid div.nDiv tr.ndcolover td
+	{
+	background: #d5effc url(images/hl.png) repeat-x top;
+	border: 1px solid #a8d8eb;
+	}
+	
+	.flexigrid div.nDiv td.ndcol1
+		{
+		border-right: 1px solid #ccc;
+		}
+		
+	.flexigrid div.nDiv td.ndcol2
+		{
+		border-left: 1px solid #fff;
+		padding-right: 10px;
+		}
+
+	.flexigrid div.nDiv tr:hover td.ndcol1, .flexigrid div.nDiv tr.ndcolover td.ndcol1
+		{
+		border-right: 1px solid #d2e3ec;
+		}
+		
+	.flexigrid div.nDiv tr:hover td.ndcol2, .flexigrid div.nDiv tr.ndcolover td.ndcol2
+		{
+		border-left: 1px solid #eef8ff;
+		}
+	
+	.flexigrid div.nBtn
+		{
+		position: absolute;
+		height: 24px;
+		width: 14px;
+		z-index: 900;
+		background: #fafafa url(images/fhbg.gif) repeat-x bottom;
+		border: 0px solid #ccc;
+		border-left: 1px solid #ccc;
+		top: 0px;
+		left: 0px;
+		margin-top: 1px;
+		cursor: pointer;
+		display: none;
+		}
+		
+		.flexigrid div.nBtn div
+			{
+			height: 24px;
+			width: 12px;
+			border-left: 1px solid #fff;
+			float: left;
+			background: url(images/ddn.png) no-repeat center;
+			}		
+		
+		.flexigrid div.nBtn.srtd
+			{
+			background: url(images/wbg.gif) repeat-x 0px -1px;
+			}
+		
+
+.flexigrid div.mDiv
+	{
+	background: url(images/wbg.gif) repeat-x top;
+	border: 1px solid #ccc;
+	border-bottom: 0px;
+	border-top: 0px;
+	font-weight: bold;
+	display: block;
+	overflow: hidden;
+	white-space: nowrap;
+	position: relative;
+	}
+
+.flexigrid div.mDiv div
+	{
+	padding: 6px;
+	white-space: nowrap;
+	}
+	
+		.flexigrid div.mDiv div.ptogtitle
+			{
+			position: absolute;
+			top: 4px;
+			right: 3px;
+			padding: 0px;
+			height: 16px;
+			width: 16px;
+			overflow: hidden;
+			border: 1px solid #ccc;
+			cursor: pointer;
+			}
+
+			.flexigrid div.mDiv div.ptogtitle:hover
+			{
+			background-position: left -2px;
+			border-color: #bbb;
+			}
+			
+			.flexigrid div.mDiv div.ptogtitle span
+			{
+			display: block;
+			border-left: 1px solid #eee;
+			border-top: 1px solid #fff;
+			border-bottom: 1px solid #ddd;
+			width: 14px;
+			height: 14px;
+			background: url(images/uup.png) no-repeat center;
+			}
+			
+			.flexigrid div.mDiv div.ptogtitle.vsble span
+			{
+			background: url(images/ddn.png) no-repeat center;			
+			}			
+
+.flexigrid div.tDiv /*toolbar*/
+	{
+	background: #fafafa url(images/bg.gif) repeat-x top;
+	position: relative;			
+	border: 1px solid #ccc;
+	border-bottom: 0px;
+	overflow: hidden;
+	}
+
+	.flexigrid div.tDiv2
+		{
+		float: left;
+		clear: both;
+		padding: 1px;
+		}
+
+.flexigrid div.sDiv /*toolbar*/
+	{
+	background: #fafafa url(images/bg.gif) repeat-x top;
+	position: relative;
+	border: 1px solid #ccc;
+	border-top: 0px;
+	overflow: hidden;
+	display: none;
+	}
+
+	.flexigrid div.sDiv2
+		{
+		float: left;
+		clear: both;
+		padding: 5px;
+		padding-left: 5px;
+		width: 1024px;
+		}
+
+		.flexigrid div.sDiv2 input, .flexigrid div.sDiv2 select
+		{
+		vertical-align: middle;
+		}
+			
+	.flexigrid div.btnseparator
+		{
+		float: left;
+		height: 22px;
+		border-left: 1px solid #ccc;
+		border-right: 1px solid #fff;
+		margin: 1px;
+		}
+	
+	.flexigrid div.fbutton
+		{
+			float: left;
+			display: block;
+			cursor: pointer;
+			padding: 1px;
+		}
+
+	.flexigrid div.fbutton div
+		{
+			float: left;
+			padding: 1px 3px;
+		}		
+		
+	.flexigrid div.fbutton span
+		{
+		float: left;
+		display: block;
+		padding: 3px;
+		}
+
+	.flexigrid div.fbutton:hover, .flexigrid div.fbutton.fbOver
+		{
+			padding: 0px;
+			border: 1px solid #ccc;
+		}
+
+	.flexigrid div.fbutton:hover div, .flexigrid div.fbutton.fbOver div
+		{
+			padding: 0px 2px;
+			border-left: 1px solid #fff;
+			border-top: 1px solid #fff;
+			border-right: 1px solid #eee;
+			border-bottom: 1px solid #eee;
+		}		
+		
+	
+/* end toolbar*/
+
+.flexigrid div.hDiv
+	{
+	background: #fafafa url(images/fhbg.gif) repeat-x bottom;
+	position: relative;
+	border: 1px solid #ccc;
+	border-bottom: 0px;
+	overflow: hidden;
+	}	
+
+.flexigrid div.hDiv table
+	{
+	border-right: 1px solid #fff;
+	}
+
+	.flexigrid div.cDrag
+		{
+		float: left;
+		position: absolute;
+		z-index: 2;
+		overflow: visible;
+		}
+
+		.flexigrid div.cDrag div
+			{
+			float: left;
+			background: none;
+			display: block;
+			position: absolute;
+			height: 24px;
+			width: 5px;
+			cursor: col-resize;
+			}
+			
+		.flexigrid div.cDrag div:hover, .flexigrid div.cDrag div.dragging
+			{
+			background: url(images/line.gif) repeat-y 2px center;
+			}
+
+.flexigrid div.iDiv
+	{
+		border: 1px solid #316ac5;
+		position: absolute;
+		overflow: visible;
+		background: none;
+	}
+	
+	.flexigrid div.iDiv input, .flexigrid div.iDiv select, .flexigrid div.iDiv textarea
+		{
+		font-family: Arial, Helvetica, sans-serif;
+		font-size: 11px;
+		}
+		
+	.flexigrid div.iDiv input.tb
+		{
+		border: 0px;
+		padding: 0px;
+		width: 100%;
+		height: 100%;
+		padding: 0px;
+		background: none;
+		}			
+					
+.flexigrid div.bDiv
+	{
+	border: 1px solid #ccc;
+	border-top: 0px;
+	background: #fff;
+	overflow: auto;
+	position: relative;
+	}
+	
+.flexigrid div.bDiv table
+	{
+	border-bottom: 1px solid #ccc;
+	}
+	
+	.flexigrid div.hGrip
+	{
+	position: absolute;
+	top: 0px;
+	right: 0px;
+	height: 5px;
+	width: 5px;
+	background: url(images/line.gif) repeat-x center;
+	margin-right: 1px;
+	cursor: col-resize;
+	}
+	
+		.flexigrid div.hGrip:hover, .flexigrid div.hGrip.hgOver
+			{
+				border-right: 1px solid #999;				
+				margin-right: 0px;
+			}
+	
+	.flexigrid div.vGrip
+		{
+		height: 5px;
+		overflow: hidden;
+		position: relative;
+		background: #fafafa url(images/wbg.gif) repeat-x 0px -1px;
+		border: 1px solid #ccc;
+		border-top: 0px;
+		text-align: center;
+		cursor: row-resize;
+		}
+			
+			.flexigrid div.vGrip span
+					{
+					display: block;
+					margin: 1px auto;
+					width: 20px;
+					height: 1px;
+					overflow: hidden;
+					border-top: 1px solid #aaa;
+					border-bottom: 1px solid #aaa;	
+					background: none;
+					}
+
+.flexigrid div.hDiv th, .flexigrid  div.bDiv td  /* common cell properties*/
+	{
+	text-align: left;
+	border-right: 1px solid #ddd;
+	border-left: 1px solid #fff;
+	overflow: hidden;
+	}
+
+		.flexigrid div.hDiv th div, .flexigrid  div.bDiv td  div, div.colCopy div/* common inner cell properties*/
+			{
+			padding: 5px;
+			border-left: 0px solid #fff;
+			}
+
+.flexigrid div.hDiv th, div.colCopy
+	{
+	font-weight: normal;
+	height: 24px;
+	cursor: default;
+	white-space: nowrap;
+	overflow: hidden;
+	}	
+
+div.colCopy {
+	font-family: Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	background: #fafafa url(images/fhbg.gif) repeat-x bottom;
+	border: 1px solid #ccc;
+	border-bottom: 0px;
+	overflow: hidden;
+	}
+
+.flexigrid div.hDiv th.sorted
+	{
+	background: url(images/wbg.gif) repeat-x 0px -1px;
+	border-bottom: 0px solid #ccc;
+	}
+	
+	.flexigrid div.hDiv th.thOver
+	{
+	}
+
+	.flexigrid div.hDiv th.thOver div, .flexigrid div.hDiv th.sorted.thOver div
+	{
+	border-bottom: 1px solid orange;
+	padding-bottom: 4px;
+	}
+	
+	.flexigrid div.hDiv th.sorted div
+	{
+	border-bottom: 0px solid #ccc;
+	padding-bottom: 5px;
+	}
+
+	.flexigrid div.hDiv th.thMove
+	{
+	background: #fff;
+	color: #fff;
+	}
+	
+	.flexigrid div.hDiv th.sorted.thMove div
+		{
+		border-bottom: 1px solid #fff;
+		padding-bottom: 4px
+		}
+	
+	.flexigrid div.hDiv th.thMove div
+	{
+		background: #fff !important;
+	}	
+	
+	.flexigrid div.hDiv th div.sdesc
+		{
+		background: url(images/dn.png) no-repeat center top;
+		}	
+
+	.flexigrid div.hDiv th div.sasc
+		{
+		background: url(images/up.png) no-repeat center top;
+		}	
+		
+.flexigrid div.bDiv td
+	{
+	border-bottom: 1px solid #fff;
+	vertical-align: top;
+	white-space: nowrap;
+	}
+
+		.flexigrid div.hDiv th div
+			{
+			}
+			
+			.flexigrid span.cdropleft
+			{
+			display: block;
+			background: url(images/prev.gif) no-repeat -4px center;
+			width: 24px;
+			height: 24px;
+			position: relative;
+			top: -24px;
+			margin-bottom: -24px;
+			z-index: 3;
+			}
+
+			.flexigrid div.hDiv span.cdropright
+			{
+			display: block;
+			background: url(images/next.gif) no-repeat 12px center;
+			width: 24px;
+			height: 24px;
+			float: right;
+			position: relative;
+			top: -24px;
+			margin-bottom: -24px;
+			}
+
+
+		.flexigrid div.bDiv td div
+			{
+			border-top: 0px solid #fff;
+			padding-bottom: 4px;
+			}
+	
+				
+		.flexigrid tr td.sorted
+				{
+				background: #f3f3f3;
+				border-right: 1px solid #ddd;
+				border-bottom: 1px solid #f3f3f3;
+				}		
+
+				.flexigrid tr td.sorted div
+					{
+					}
+
+
+		.flexigrid tr.erow td
+				{
+				background: #f7f7f7;
+				border-bottom: 1px solid #f7f7f7;
+				}
+				
+		.flexigrid tr.erow td.sorted
+				{
+				background: #e3e3e3;
+				border-bottom: 1px solid #e3e3e3;
+				}						
+
+				.flexigrid tr.erow td.sorted div
+					{
+					}
+
+		.flexigrid div.bDiv tr:hover td, 
+		.flexigrid div.bDiv tr:hover td.sorted,
+		.flexigrid div.bDiv tr.trOver td.sorted, 
+		.flexigrid div.bDiv tr.trOver td
+			{
+			background: #d9ebf5;
+			border-left: 1px solid #eef8ff;
+			border-bottom: 1px dotted #a8d8eb;
+			}
+					
+		.flexigrid div.bDiv tr.trSelected:hover td, 
+		.flexigrid div.bDiv tr.trSelected:hover td.sorted,
+		.flexigrid div.bDiv tr.trOver.trSelected td.sorted, 
+		.flexigrid div.bDiv tr.trOver.trSelected td,
+		.flexigrid tr.trSelected td.sorted, 
+		.flexigrid tr.trSelected td
+			{
+			background: #d5effc url(images/hl.png) repeat-x top;
+			border-right: 1px solid #d2e3ec;
+			border-left: 1px solid #eef8ff;
+			border-bottom: 1px solid #a8d8eb;
+			}
+			
+		.flexigrid tr.trSelected td.sorted a, 
+		.flexigrid tr.trSelected td a
+			{
+			color: #eee;
+			}			
+
+	/* novstripe adjustments */
+
+	.flexigrid.novstripe .bDiv table
+	{
+		border-bottom: 1px solid #ccc;
+		border-right: 1px solid #ccc;
+	}
+
+	.flexigrid.novstripe  div.bDiv td  
+		{
+		border-right-color: #fff;
+		}
+		
+	.flexigrid.novstripe div.bDiv tr.erow td.sorted
+		{
+		border-right-color: #e3e3e3;
+		}
+
+	.flexigrid.novstripe div.bDiv tr td.sorted
+		{
+		border-right-color: #f3f3f3;
+		}
+
+	.flexigrid.novstripe  div.bDiv tr.erow td  
+		{
+		border-right-color: #f7f7f7;
+		border-left-color: #f7f7f7;
+		}
+		
+		.flexigrid.novstripe div.bDiv tr.trSelected:hover td, 
+		.flexigrid.novstripe div.bDiv tr.trSelected:hover td.sorted,
+		.flexigrid.novstripe div.bDiv tr.trOver.trSelected td.sorted, 
+		.flexigrid.novstripe div.bDiv tr.trOver.trSelected td,
+		.flexigrid.novstripe tr.trSelected td.sorted, 
+		.flexigrid.novstripe tr.trSelected td
+			{
+			border-right: 1px solid #0066FF;
+			border-left: 1px solid #0066FF;
+			}		
+
+	.flexigrid.novstripe div.bDiv tr.trOver td, .flexigrid.novstripe div.bDiv tr:hover td
+		{
+		border-left-color: #d9ebf5;
+		border-right-color: #d9ebf5;
+		}
+
+	/* end novstripe */
+
+.flexigrid div.pDiv
+	{
+	background: url(images/wbg.gif) repeat-x 0 -1px;
+	border: 1px solid #ccc;
+	border-top: 0px;
+	overflow: hidden;
+	white-space: nowrap;
+	}
+
+.flexigrid div.pDiv div.pDiv2
+	{
+	margin: 3px;
+	margin-left: -2px;
+	float: left;
+	width: 1024px;
+	}	
+	
+	div.pGroup
+		{
+		float: left;
+		background: none;
+		height: 24px;
+		margin: 0px 5px;
+		}
+	
+	.flexigrid div.pDiv .pPageStat, .flexigrid div.pDiv .pcontrol
+		{
+		position: relative;
+		top: 5px;
+		overflow: visible;
+		}
+		
+	.flexigrid div.pDiv input
+		{
+		vertical-align: text-top;
+		position: relative;
+		top: -5px;
+		}
+	
+	.flexigrid div.pDiv  div.pButton
+		{
+		float: left;
+		width: 22px;
+		height: 22px;
+		border: 0px;
+		cursor: pointer;
+		overflow: hidden;
+		}
+
+		.flexigrid div.pDiv  div.pButton:hover, .flexigrid div.pDiv  div.pButton.pBtnOver
+			{
+			width: 20px;
+			height: 20px;
+			border: 1px solid #ccc;
+			cursor: pointer;
+			}
+		
+	.flexigrid div.pDiv  div.pButton span
+		{
+		width: 20px;
+		height: 20px;
+		display: block;
+		float: left;
+		}		
+	
+		.flexigrid div.pDiv  div.pButton:hover span, .flexigrid div.pDiv  div.pButton.pBtnOver span
+			{
+			width: 19px;
+			height: 19px;
+			border-top: 1px solid #fff;
+			border-left: 1px solid #fff;
+			}		
+		
+
+		.flexigrid .pSearch
+			{
+			background: url(images/magnifier.png) no-repeat center;
+			}
+	
+		.flexigrid .pFirst
+			{
+			background: url(images/first.gif) no-repeat center;
+			}
+			
+		.flexigrid .pPrev
+			{
+			background: url(images/prev.gif) no-repeat center;
+			}
+
+		.flexigrid .pNext
+			{
+			background: url(images/next.gif) no-repeat center;
+			}
+
+		.flexigrid .pLast
+			{
+			background: url(images/last.gif) no-repeat center;
+			}
+			
+		.flexigrid .pReload
+			{
+			background: url(images/load.png) no-repeat center;
+			}
+			
+		.flexigrid .pReload.loading
+			{
+			background: url(images/load.gif) no-repeat center;
+			}															
+
+/* ie adjustments */
+			
+		.flexigrid.ie div.hDiv th div, .flexigrid.ie  div.bDiv td  div, div.colCopy.ie div/* common inner cell properties*/
+			{
+			overflow: hidden;
+			}			
+		

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/iui.css
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/iui.css?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/iui.css (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/iui.css Fri Dec  5 12:30:14 2008
@@ -0,0 +1,385 @@
+/* iui.css (c) 2007 by iUI Project Members, see LICENSE.txt for license */
+body {
+    margin: 0;
+    font-family: Helvetica;
+    background: #FFFFFF;
+    color: #000000;
+    overflow-x: hidden;
+    -webkit-user-select: none;
+    -webkit-text-size-adjust: none;
+}
+
+body > *:not(.toolbar) {
+    display: none;
+    position: absolute;
+    margin: 0;
+    padding: 0;
+    left: 0;
+    top: 45px;
+    width: 100%;
+    min-height: 372px;
+}
+
+body[orient="landscape"] > *:not(.toolbar) {
+    min-height: 268px;
+}
+
+body > *[selected="true"] {
+    display: block;
+}
+
+a[selected], a:active {
+    background-color: #194fdb !important;
+    background-image: url(../images/listArrowSel.png), url(../images/selection.png) !important;
+    background-repeat: no-repeat, repeat-x;
+    background-position: right center, left top;
+    color: #FFFFFF !important;
+}
+
+a[selected="progress"] {
+    background-image: url(../images/loading.gif), url(../images/selection.png) !important;
+}
+
+/************************************************************************************************/
+
+body > .toolbar {
+    box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    border-bottom: 1px solid #2d3642;
+    border-top: 1px solid #6d84a2;
+    padding: 10px;
+    height: 45px;
+    background: url(../images/toolbar.png) #6d84a2 repeat-x;
+}
+
+.toolbar > h1 {
+    position: absolute;
+    overflow: hidden;
+    left: 50%;
+    margin: 1px 0 0 -75px;
+    height: 45px;
+    font-size: 20px;
+    width: 150px;
+    font-weight: bold;
+    text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
+    text-align: center;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    color: #FFFFFF;
+}
+
+body[orient="landscape"] > .toolbar > h1 {
+    margin-left: -125px;
+    width: 250px;
+}
+
+.button {
+    position: absolute;
+    overflow: hidden;
+    top: 8px;
+    right: 6px;
+    margin: 0;
+    border-width: 0 5px;
+    padding: 0 3px;
+    width: auto;
+    height: 30px;
+    line-height: 30px;
+    font-family: inherit;
+    font-size: 12px;
+    font-weight: bold;
+    color: #FFFFFF;
+    text-shadow: rgba(0, 0, 0, 0.6) 0px -1px 0;
+    text-overflow: ellipsis;
+    text-decoration: none;
+    white-space: nowrap;
+    background: none;
+    -webkit-border-image: url(../images/toolButton.png) 0 5 0 5;
+}
+
+.blueButton {
+    -webkit-border-image: url(../images/blueButton.png) 0 5 0 5;
+    border-width: 0 5px;
+}
+
+.leftButton {
+    left: 6px;
+    right: auto;
+}
+
+#backButton {
+    display: none;
+    left: 6px;
+    right: auto;
+    padding: 0;
+    max-width: 55px;
+    border-width: 0 8px 0 14px;
+    -webkit-border-image: url(../images/backButton.png) 0 8 0 14;
+}
+
+.whiteButton,
+.grayButton {
+    display: block;
+    border-width: 0 12px;
+    padding: 10px;
+    text-align: center;
+    font-size: 20px;
+    font-weight: bold;
+    text-decoration: inherit;
+    color: inherit;
+}
+
+.whiteButton {
+    -webkit-border-image: url(../images/whiteButton.png) 0 12 0 12;
+    text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0;
+}
+
+.grayButton {
+    -webkit-border-image: url(../images/grayButton.png) 0 12 0 12;
+    color: #FFFFFF;
+}
+
+/************************************************************************************************/
+
+body > ul > li {
+    position: relative;
+    margin: 0;
+    border-bottom: 1px solid #E0E0E0;
+    padding: 8px 0 8px 10px;
+    font-size: 20px;
+    font-weight: bold;
+    list-style: none;
+}
+
+body > ul > li.group {
+    position: relative;
+    top: -1px;
+    margin-bottom: -2px;
+    border-top: 1px solid #7d7d7d;
+    border-bottom: 1px solid #999999;
+    padding: 1px 10px;
+    background: url(../images/listGroup.png) repeat-x;
+    font-size: 17px;
+    font-weight: bold;
+    text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0;
+    color: #FFFFFF;
+}
+
+body > ul > li.group:first-child {
+    top: 0;
+    border-top: none;
+}
+
+body > ul > li > a {
+    display: block;
+    margin: -8px 0 -8px -10px;
+    padding: 8px 32px 8px 10px;
+    text-decoration: none;
+    color: inherit;
+    background: url(../images/listArrow.png) no-repeat right center;
+}
+
+a[target="_replace"] {
+    box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    padding-top: 25px;
+    padding-bottom: 25px;
+    font-size: 18px;
+    color: cornflowerblue;
+    background-color: #FFFFFF;
+    background-image: none;
+}
+
+/************************************************************************************************/
+    
+body > .dialog {
+    top: 0;
+    width: 100%;
+    min-height: 417px;
+    z-index: 2;
+    background: rgba(0, 0, 0, 0.8);
+    padding: 0;
+    text-align: right;
+}
+
+.dialog > fieldset {
+    box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    width: 100%;
+    margin: 0;
+    border: none;
+    border-top: 1px solid #6d84a2;
+    padding: 10px 6px;
+    background: url(../images/toolbar.png) #7388a5 repeat-x;
+}
+
+.dialog > fieldset > h1 {
+    margin: 0 10px 0 10px;
+    padding: 0;
+    font-size: 20px;
+    font-weight: bold;
+    color: #FFFFFF;
+    text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
+    text-align: center;
+}
+
+.dialog > fieldset > label {
+    position: absolute;
+    margin: 16px 0 0 6px;
+    font-size: 14px;
+    color: #999999;
+}
+
+input {
+    box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    width: 100%;
+    margin: 8px 0 0 0;
+    padding: 6px 6px 6px 44px;
+    font-size: 16px;
+    font-weight: normal;
+}
+
+/************************************************************************************************/
+
+body > .panel {
+    box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    padding: 10px;
+    background: #c8c8c8 url(../images/pinstripes.png);
+}
+
+.panel > fieldset {
+    position: relative;
+    margin: 0 0 20px 0;
+    padding: 0;
+    background: #FFFFFF;
+    -webkit-border-radius: 10px;
+    border: 1px solid #999999;
+    text-align: right;
+    font-size: 16px;
+}
+
+.row  {
+    position: relative;
+    min-height: 42px;
+    border-bottom: 1px solid #999999;
+    -webkit-border-radius: 0;
+    text-align: right;
+}
+
+fieldset > .row:last-child {
+    border-bottom: none !important;
+}
+
+.row > select {
+    background:#FFFFFF none repeat scroll 0% 0%;
+    border:medium none;
+    color:#000000;
+    font-size:16px;
+    height:42px;
+    margin:0pt;
+    padding:12px 10px 0pt 0px;
+}
+
+.row > input {
+    box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    margin: 0;
+    border: none;
+    padding: 12px 10px 0 110px;
+    height: 42px;
+    background: none;
+}
+
+.row > label {
+    position: absolute;
+    margin: 0 0 0 14px;
+    line-height: 42px;
+    font-weight: bold;
+}
+
+.row > .toggle {
+    position: absolute;
+    top: 6px;
+    right: 6px;
+    width: 100px;
+    height: 28px;
+}
+
+.toggle {
+    border: 1px solid #888888;
+    -webkit-border-radius: 6px;
+    background: #FFFFFF url(../images/toggle.png) repeat-x;
+    font-size: 19px;
+    font-weight: bold;
+    line-height: 30px;
+}
+
+.toggle[toggled="true"] {
+    border: 1px solid #143fae;
+    background: #194fdb url(../images/toggleOn.png) repeat-x;
+}
+
+.toggleOn {
+    display: none;
+    position: absolute;
+    width: 60px;
+    text-align: center;
+    left: 0;
+    top: 0;
+    color: #FFFFFF;
+    text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
+}
+
+.toggleOff {
+    position: absolute;
+    width: 60px;
+    text-align: center;
+    right: 0;
+    top: 0;
+    color: #666666;
+}
+
+.toggle[toggled="true"] > .toggleOn {
+    display: block;
+}
+
+.toggle[toggled="true"] > .toggleOff {
+    display: none;
+}
+
+.thumb {
+    position: absolute;
+    top: -1px;
+    left: -1px;
+    width: 40px;
+    height: 28px;    
+    border: 1px solid #888888;
+    -webkit-border-radius: 6px;
+    background: #ffffff url(../images/thumb.png) repeat-x;
+}
+
+.toggle[toggled="true"] > .thumb {
+    left: auto;
+    right: -1px;
+}
+
+.panel > h2 {
+    margin: 0 0 8px 14px;
+    font-size: inherit;
+    font-weight: bold;
+    color: #4d4d70;
+    text-shadow: rgba(255, 255, 255, 0.75) 2px 2px 0;
+}
+
+/************************************************************************************************/
+
+#preloader {
+    display: none;
+    background-image: url(../images/loading.gif), url(../images/selection.png),
+        url(../images/blueButton.png), url(../images/listArrowSel.png), url(../images/listGroup.png);
+}
+
+.formButton {
+}

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/menu.css
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/menu.css?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/menu.css (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/menu.css Fri Dec  5 12:30:14 2008
@@ -0,0 +1,84 @@
+.menubar {
+background-repeat: repeat-x;
+background-image: url('images/titlebar.gif');
+}
+
+#menu {
+color: #fff;
+font: bold 11px/16px arial, helvetica, sans-serif;
+width: 100%;
+float: left;
+background-repeat: repeat-x;
+background-image: url('images/titlebar.gif');
+}
+
+#menu ul {
+list-style: none;
+margin: 0;
+padding: 0;
+float: left;
+}
+
+#menu a, #menu span, #menu h2 {
+}
+
+#menu h2 {
+color: #fff;
+background: #000;
+text-transform: uppercase;
+}
+
+#menu a {
+color: #fff;
+text-decoration: none;
+display: block;
+border-width: 0px;
+margin: 0;
+padding: 2px 3px;
+}
+
+#menu a:hover {
+background: #9970A8;
+}
+
+#menu ul:hover {
+background: #9970A8;
+}
+
+#menu li {position: relative;}
+
+#menu ul ul {
+position: absolute;
+width: 12em;
+z-index: 500;
+}
+
+#menu ul ul ul {
+position: absolute;
+top: 0;
+left: 100%;
+}
+
+div#menu ul ul,
+div#menu ul li:hover ul ul,
+div#menu ul ul li:hover ul ul
+{display: none;}
+
+div#menu ul li:hover ul,
+div#menu ul ul li:hover ul,
+div#menu ul ul ul li:hover ul
+{display: block;}
+
+div#menu ul ul table {
+width:100%;
+color: #fff;
+font: bold 11px/16px arial, helvetica, sans-serif;
+background-color: #785088;
+}
+
+div#menu ul ul td:hover {
+width:100%;
+color: #fff;
+background-color: #9970A8;
+cursor:pointer;
+}

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/tab.css
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/tab.css?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/tab.css (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/tab.css Fri Dec  5 12:30:14 2008
@@ -0,0 +1,166 @@
+.tab-on {
+        font: bold 11px/16px arial, helvetica, sans-serif;
+        border-style:normal;border-top:1px;border-bottom:0px;border-width:5px;border-color:#ffffff; 
+        white-space: nowrap; background-color: #FDB5FF; background-image: url('images/titlebar.gif');
+        background: #9970A8;
+}       
+        
+.tab-hover {
+        font: bold 11px/16px arial, helvetica, sans-serif;
+        border-style:normal;border-top:1px;border-bottom:0px;border-width:5px;border-color:#ffffff; cursor:pointer;
+        white-space: nowrap;
+        background: #9970A8;
+}
+        
+.tab-off {
+        font: bold 11px/16px arial, helvetica, sans-serif;
+        border-style:normal;border-top:1px;border-bottom:0px;border-width:5px;border-color:#ffffff; cursor:pointer;
+        white-space: nowrap;
+        background-color: #eeeeee;
+}       
+
+.tab-off a {
+        font: bold 11px/16px arial, helvetica, sans-serif;
+        color: #000000;
+}
+
+.tab-on a, tab-hover a {
+        font: bold 11px/16px arial, helvetica, sans-serif;
+        color: #ffffff;
+}
+
+.subtab-on { 
+        font:normal 11px Arial;color:#002E30; height:19px;vertical-align:middle;
+        border-style:solid;border-top:1px;border-bottom:0px;border-width:1px;border-color:#777772;
+        background-color: #FFFFFF;
+}
+ 
+.subtab-hover {
+        font:normal 11px Arial;color:#002E30; height:19px;vertical-align:middle;
+        border-style:solid;border-top:0;border-bottom:0px;border-width:1px;border-color:#777772; cursor:pointer;
+        background-repeat: repeat-x;
+        background-image: url('images/navbar-selected.gif');
+}
+ 
+.subtab-off { 
+        font:normal 11px Arial;color:#002E30; height:19px;vertical-align:middle;
+        border-style:solid;border-top:0;border-bottom:0px;border-width:1px;border-color:#777772; cursor:pointer;
+        background-repeat: repeat-x;
+        background-image: url('images/navbar-hover.gif');
+}
+
+#tablist { font: bold 11px verdana, arial, sans-serif;
+	list-style-type: none;
+	height: 24px; margin: 4px 0px 0px 0px;
+}
+#tablist li {
+	float: left;
+	height: 21px; margin: 2px 0px 0px 0px;
+}
+#tablist a {
+	font: bold 11px/16px arial, helvetica, sans-serif;
+	float: left;
+	display: block;
+	text-decoration: none; padding: 2px 3px;
+	padding : 2px 10px 2px 10px;
+}
+ 
+#tablist a:hover {
+	color: #fff;
+}
+
+/*
+#tablist {
+	border-bottom : 1px solid #ccc;
+	margin : 0;
+	padding-bottom : 19px;
+	padding-left : 10px;
+}
+
+#tablist ul, #tablist li	{
+	display : inline;
+	list-style-type : none;
+	margin : 0;
+	padding : 0;
+}
+
+	
+#tablist a:link, #tablist a:visited	{
+	background : #E8EBF0;
+	border : 1px solid #ccc;
+	color : #666;
+	float : left;
+	font-size : small;
+	font-weight : normal;
+	line-height : 14px;
+	margin-right : 8px;
+	padding : 2px 10px 2px 10px;
+	text-decoration : none;
+}
+
+#tablist a:link.active, #tablist a:visited.active	{
+	background : #fff;
+	border-bottom : 1px solid #fff;
+	color : #000;
+}
+
+#tablist a:hover	{
+	color : #f00;
+}
+
+	
+body.section-1 #tablist li#nav-1 a, 
+body.section-2 #tablist li#nav-2 a,
+body.section-3 #tablist li#nav-3 a,
+body.section-4 #tablist li#nav-4 a {
+	background : #fff;
+	border-bottom : 1px solid #fff;
+	color : #000;
+}
+
+#tablist #subnav-1,
+#tablist #subnav-2,
+#tablist #subnav-3,
+#tablist #subnav-4 {
+	display : none;
+	width: 90%;
+}
+
+body.section-1 #tablist ul#subnav-1, 
+body.section-2 #tablist ul#subnav-2,
+body.section-3 #tablist ul#subnav-3,
+body.section-4 #tablist ul#subnav-4 {
+	display : inline;
+	left : 10px;
+	position : absolute;
+	top : 95px;
+}
+
+body.section-1 #tablist ul#subnav-1 a, 
+body.section-2 #tablist ul#subnav-2 a,
+body.section-3 #tablist ul#subnav-3 a,
+body.section-4 #tablist ul#subnav-4 a {
+	background : #fff;
+	border : none;
+	border-left : 1px solid #ccc;
+	color : #999;
+	font-size : smaller;
+	font-weight : bold;
+	line-height : 10px;
+	margin-right : 4px;
+	padding : 2px 10px 2px 10px;
+	text-decoration : none;
+}
+
+ #tablist ul a:hover {
+	color : #f00 !important;
+}
+
+#contents {
+	background : #fff;
+	border : 1px solid #ccc;
+	border-top : none;
+	clear : both;
+	margin : 0px;
+	padding : 15px;
+}*/

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/timeframe.css
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/timeframe.css?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/timeframe.css (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/timeframe.css Fri Dec  5 12:30:14 2008
@@ -0,0 +1,175 @@
+div.timeframe_calendar {
+  display: inline-block;
+  margin: 0;
+  padding: 0;
+  text-align: center;
+  text-shadow: none;
+}
+
+/* Menu */
+div.timeframe_calendar ul.timeframe_menu {
+  list-style-type: none;
+  font-weight: bold;
+  margin: auto;
+  padding: 0 0 6px;
+  width: 60px;
+}
+  div.timeframe_calendar ul.timeframe_menu li {
+    display: inline;
+  }
+    div.timeframe_calendar ul.timeframe_menu li a {
+      display: inline-block;
+      height: 20px;
+      padding: 2px 0 0;
+      text-decoration: none;
+      width: 20px;
+      -webkit-box-shadow: 0 1px 2px #999;
+    }
+      div.timeframe_calendar ul.timeframe_menu li a.previous, div.timeframe_calendar ul.timeframe_menu li a.next {
+        background: #fff;
+        color: #468966;
+      }
+        div.timeframe_calendar ul.timeframe_menu li a.previous:hover, div.timeframe_calendar ul.timeframe_menu li a.next:hover {
+          background: #ccc;
+        }
+        div.timeframe_calendar ul.timeframe_menu li a.previous:active, div.timeframe_calendar ul.timeframe_menu li a.next:active {
+          background: #aaa;
+        }
+      div.timeframe_calendar ul.timeframe_menu li a.disabled, div.timeframe_calendar ul.timeframe_menu li a.disabled:hover, div.timeframe_calendar ul.timeframe_menu li a.disabled:active {
+        background: #fff;
+        color: #ccc;
+        cursor: default;
+      }
+      div.timeframe_calendar ul.timeframe_menu li a.today {
+        background: #88CEFF;
+        color: #000;
+      }
+        div.timeframe_calendar ul.timeframe_menu li a.today:hover {
+          background: #785088;
+        }
+        div.timeframe_calendar ul.timeframe_menu li a.today:active {
+          background: #785088;
+        }
+      div.timeframe_calendar ul.timeframe_menu li a.previous {
+        -webkit-border-top-left-radius:     10px;
+        -webkit-border-bottom-left-radius:  10px;
+        -moz-border-radius-topleft:         11px;
+        -moz-border-radius-bottomleft:      11px;
+      }
+      div.timeframe_calendar ul.timeframe_menu li a.next {
+        -webkit-border-top-right-radius:     10px;
+        -webkit-border-bottom-right-radius:  10px;
+        -moz-border-radius-topright:         11px;
+        -moz-border-radius-bottomright:      11px;
+      }
+
+/* Calendar*/
+div.timeframe_calendar table {
+  border-collapse: collapse;
+  display: inline;
+  display: inline-block;
+  font-size: 15px;
+  margin: 0 6px 12px;
+}
+  /* Month names */
+  div.timeframe_calendar table caption {
+    text-shadow: 0 0 0 #fff;
+  }
+  /* Cell sizes */
+  div.timeframe_calendar thead th, div.timeframe_calendar tbody td {
+    text-align: center;
+    height: 18px;
+    margin: 0;
+    padding: 2px 1px;
+    width: 20px;
+  }
+  /* Weekday letters */
+  div.timeframe_calendar thead {
+    background: #886898;
+    color: #eee;
+  }
+  /* Days */
+  div.timeframe_calendar tbody {
+    background: #fff;
+    -webkit-box-shadow: 0px 2px 6px #999;
+  }
+    div.timeframe_calendar tbody td {
+      cursor: pointer;
+    }
+      /* Hover states not available in IE */
+      div.timeframe_calendar tbody td.selectable:hover {
+        background-color: #bbb;
+      }
+      div.timeframe_calendar tbody td.selected:hover, div.timeframe_calendar tbody td.stuck:hover {
+        background-color: #e1d8e5;
+      }
+      /* Selected states */
+      div.timeframe_calendar tbody td.selected {
+        background-color: #9980a8;
+      }
+      div.timeframe_calendar tbody td.stuck {
+        background-color: #e1d8e5;
+      }
+      /* Range markers */
+      div.timeframe_calendar tbody td.startrange, div.timeframe_calendar tbody td.endrange, div.timeframe_calendar tbody td.startendrange {
+        cursor: col-resize;
+      }
+      div.timeframe_calendar tbody td.startrange {
+        background-image: url(../images/start.png);
+      }
+      div.timeframe_calendar tbody td.endrange {
+        background-image: url(../images/end.png);
+      }
+      div.timeframe_calendar tbody td.startendrange {
+        background-image: url(../images/startend.png);
+      }
+      /* Today */
+      div.timeframe_calendar tbody td.today {
+        background-color: #88CEFF;
+        color: #000;
+      }
+        div.timeframe_calendar tbody td.today_selected {
+          background-color: #785088;
+        }
+        div.timeframe_calendar tbody td.today_stuck {
+          background-color: #785088;
+        }
+      /* Post/pre-month */
+      div.timeframe_calendar tbody td.beyond {
+        background-color: #aaa;
+        background-image: none;
+        color: #ccc;
+      }
+        div.timeframe_calendar tbody td.beyond_selected {
+          background-color: #999;
+        }
+        div.timeframe_calendar tbody td.beyond_stuck {
+          background-color: #888;
+        }
+      
+      div.timeframe_calendar tbody td.unselectable {
+        color: #ccc;
+        cursor: default;
+      }
+      /* Clear button */
+      div.timeframe_calendar tbody td span.clear {
+        color: transparent;
+        display: block;
+        height: 0;
+        position: absolute;
+        width: 0;
+      }
+        div.timeframe_calendar tbody td span.clear span {
+          background-image: url(../images/closebox.png);
+          cursor: pointer;
+          display: block;
+          height: 30px;
+          left: -18px;
+          position: relative;
+          text-indent: -10000px;
+          top: -18px;
+          width: 30px;
+        }
+          div.timeframe_calendar tbody td span.clear span.active {
+            background-image: url(../images/closebox_selected.png);
+          }

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/timeline.css
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/timeline.css?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/timeline.css (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/css/timeline.css Fri Dec  5 12:30:14 2008
@@ -0,0 +1,311 @@
+/*
+ * Written by Stefano Mazzocchi <stefanom at mit dot edu>
+ */
+
+/* ----------------------------- Global Definitions -------------------- */
+
+body {
+    margin: 0px;
+    padding: 0px;
+    font-family: "georgia", "times", "times new roman", serif;
+    color: #222;
+    background-color: #fff;
+    font-size: 12px;
+    quotes: "\201C" "\201E" "\2018" "\2019";
+}
+
+@media screen {
+    body {
+        background-image: url(../images/stata.jpg);
+        background-position: left bottom;
+        background-repeat: no-repeat;
+        background-attachment: scroll;
+    }
+}
+
+a:link {
+	color: #222;
+}
+
+a:visited {
+	color: #666;
+}
+
+a:hover {
+	color: #000;
+}
+
+a:active {
+}
+
+a:focus {
+}
+
+img {
+	border: none;
+}
+
+/* ----------------------------- Sidebar  -------------------------- */
+
+#sidebar {
+	float: right;
+	top: 150px;
+	right: 0px;
+	width: 220px;
+	background-color: white;
+	padding: 0px 0px 0px 0px;
+	margin: 0px 0px 4em 4em;
+	border-left: 1px solid #ccc;
+	border-bottom: 1px solid #ccc;
+}
+
+#sidebar .logo {
+    text-align: center;
+    padding: 2em 0px 1em 0px;
+    margin: 0px;
+}
+
+#sidebar h1 {
+    font-family: "verdana", "helvetica", "arial", sans-serif;
+    letter-spacing: 0.15em;
+    font-size: 24px;
+    color: #333;
+    font-weight: normal;
+    text-align: center;
+    padding: 5px;
+}
+
+#sidebar h2 {
+    font-family: "verdana", "helvetica", "arial", sans-serif;
+    letter-spacing: 0.15em;
+    text-transform: uppercase;
+    font-size: 11px;
+    color: #666;
+    font-weight: normal;
+    padding: 2px 0px 2px 4px;
+    margin: 5px 0px 5px 10px;
+    border-top: 1px solid #ccc;
+    border-left: 1px solid #ccc;
+    border-bottom: 1px solid #ccc;
+    border-color: #ccc;
+    color: #666;
+}
+
+#sidebar p {
+    font-family: "verdana", "helvetica", "arial", sans-serif;
+    font-size: 10px;
+    padding-left: 20px;
+    padding-right: 5px;
+}
+
+#sidebar ul {
+    margin: 5px 5px 15px 5px;
+    padding-left: 25px;
+}
+
+#sidebar li {
+    margin-left: 0px;
+    font-family: "verdana", "helvetica", "arial", sans-serif;
+    font-size: 10px;
+}
+
+#sidebar .important li {
+    font-weight: bold;
+}
+
+#sidebar .verbose li {
+    padding: 1px 0px 1px 0px;
+}
+
+#sidebar li.current {
+	font-weight: bold;
+}
+
+#sidebar .news {
+    font-family: "verdana", "helvetica", "arial", sans-serif;
+    font-size: 90%;
+    border-top: 1px solid #ccc;
+    text-align: left;
+    padding: 1em 1em 1em 4em;
+}
+
+#sidebar .prominent {
+    font-family: "verdana", "helvetica", "arial", sans-serif;
+    text-align: center;
+    padding: 1em;
+    padding-top: 0px;
+}
+
+#sidebar .new {
+    color: #ee0000;
+    font-size: smaller;
+    vertical-align: baseline;
+    position: relative;
+    bottom: 0.33em;
+}
+
+/* ----------------------------- Path ---------------------------- */
+
+#path {
+    color: #333;
+    background-color: #f8f8f8;
+    border-bottom: 1px solid #ccc;
+    padding: 2px 8px 2px 4px;
+    margin: 0px;
+}
+
+#path li {
+    display: inline;
+    padding-left: 13px;
+    padding-right: 3px;
+    background-image: url(../images/arrow.gif);
+    background-repeat: no-repeat;
+    background-position: 1px 5px;
+}
+
+#path span {
+    font-weight: bold;
+}
+
+/* ----------------------------- Body ---------------------------- */
+
+#body {
+    padding: 10px 10px 10px 10px;
+    margin: 0px 20px 10px 20px;
+}
+
+#body h1,h2,h3,h4 {
+    color: #666;
+}
+
+#body h1 {
+    border-top: 1px solid #ccc;
+    background-color: #eee;
+    border-bottom: 1px solid #ccc;
+    padding: 3px 8px 3px 12px;
+    margin: 15px -30px 35px -30px;
+}
+
+#body h2 {
+    border-bottom: 1px solid #ccc;
+    margin: 30px 0px 0px 0px;
+    padding: 0px;
+}
+
+#body .steps li {
+    padding: 5px;
+}
+
+#body .note {
+    margin: 3px;
+    padding: 3px;
+    border: 1px solid #ccc;
+    background-color: #eee;
+}
+
+#body .note:before {
+    content: "Note: ";
+    font-weight: bold;
+}
+
+#body .figure {
+    text-align: center;
+}
+
+#body .figure img {
+    border: 1px solid #ccc;
+}
+
+#body pre {
+    margin: 20px;
+    padding: 10px;
+    border: 1px solid #ccc;
+    background-color: #eee;
+}
+
+#body .screenshot {
+    text-align: center;
+}
+
+#body .notice {
+    margin: 15px;
+    padding: 5px;
+    background-color: #eee;
+    border: 1px solid #ccc;
+}
+
+#body .notice:before {
+    content: "Notice: ";
+    font-weight: bold;
+}
+
+#body dl dt {
+    font-weight: bold;
+    padding: 5px;
+}
+
+#body p.important { 
+	margin: 40px 0px 40px 0px; 
+	text-align: center; 
+	font-size: 130%; 
+	font-weight: bold; 
+}
+
+#body #slideshow {
+    border: 1px solid #ccc;
+    background-image: url(../images/body_back.gif);
+    background-position: top left;
+    background-repeat: repeat-x;
+    margin-left: 30px;
+    margin-right: 250px;
+    height: 14em;
+}
+
+#body #slideshow .item {
+    display: none;
+    margin: 10px;
+}
+
+#body #slideshow .item .icon {
+    margin: 10px;
+    float: right;
+}
+
+#body #slideshow .item .title {
+    margin: 10px;
+    font-size: 300%;
+    font-weight: bold;
+    font-family: "verdana", "helvetica", "arial", sans-serif;
+}
+
+#body #slideshow .item .description {
+    margin: 10px;
+    font-size: 130%;
+    height: 8em;
+}
+
+#body #slideshow .item .logo img {
+    border: 1px solid #ccc;
+}
+
+    
+/* ----------------------------- Footer ---------------------------- */
+
+#footer {
+    margin: 0px 0px 5em 0px;
+    padding: 2px 5px 2px 10px;
+    border-top: 1px solid #aaa;
+    border-bottom: 1px solid #aaa;
+    border-right: 1px solid #aaa;
+    font-family: "verdana", "helvetica", "arial", sans-serif;
+    letter-spacing: 0.15em;
+    text-transform: uppercase;
+    font-size: 10px;
+    text-align: right;
+    float: left;
+    background: white;
+}
+
+#footer img {
+    margin: 5px 10px 5px 10px;
+}

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_disk.descriptor
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_disk.descriptor?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_disk.descriptor (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_disk.descriptor Fri Dec  5 12:30:14 2008
@@ -0,0 +1,49 @@
+{
+"id":"cluster-disk",
+"title":"Cluster Disk Statistics",
+"version":"0.1",
+"categories":"System,Disk,Status",
+"module":"iframe/jsp/single-series-chart-javascript.jsp",
+"description":"Display cluster disk related statistics",
+"screendump":"\/images\/server_load.gif",
+"refresh":"15",
+"parameters":[
+{"name":"table","type":"string","value":"cluster_disk","edit":"0"},
+{"name":"group_override","type":"string","value":"mount","edit":"0"},
+{"name":"period","type":"select","value":"","label":"Period","options":[
+{"label":"Use Time Widget","value":""},
+{"label":"Last 1 Hour","value":"last1hr"},
+{"label":"Last 2 Hours","value":"last2hr"},
+{"label":"Last 3 Hours","value":"last3hr"},
+{"label":"Last 6 Hours","value":"last6hr"},
+{"label":"Last 12 Hours","value":"last12hr"},
+{"label":"Last 24 Hours","value":"last24hr"},
+{"label":"Yesterday","value":"yesterday"},
+{"label":"Last 7 Days","value":"last7d"},
+{"label":"Last 30 Days","value":"last30d"}
+]},
+{"name":"metric","type":"select_multiple","value":"available","label":"Metric","options":[
+{"label":"used","value":"used"},                            
+{"label":"available","value":"available"}
+]},
+{"name":"width","type":"select","value":"300","label":"Width","options":[
+{"label":"300","value":"300"},
+{"label":"400","value":"400"},
+{"label":"500","value":"500"},
+{"label":"600","value":"600"},
+{"label":"800","value":"800"},
+{"label":"1000","value":"1000"},
+{"label":"1200","value":"1200"}
+]},
+{"name":"height","type":"select","value":"200","label":"Height","options":[
+{"label":"200","value":"200"},
+{"label":"400","value":"400"},
+{"label":"600","value":"600"},
+{"label":"800","value":"800"},
+{"label":"1000","value":"1000"}
+]},
+{"name":"legend","type":"radio","value":"on","label":"Show Legends","options":[
+{"label":"On","value":"on"},
+{"label":"Off","value":"off"}]}
+]
+}

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_disk_pcnt.descriptor
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_disk_pcnt.descriptor?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_disk_pcnt.descriptor (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_disk_pcnt.descriptor Fri Dec  5 12:30:14 2008
@@ -0,0 +1,47 @@
+{
+"id":"cluster-disk-pcnt",
+"title":"Cluster Disk Statistics By Percentage",
+"version":"0.1",
+"categories":"System,Disk,Status",
+"module":"iframe/jsp/single-series-chart-javascript.jsp",
+"description":"Display cluster disk related statistics",
+"screendump":"\/images\/server_load.gif",
+"refresh":"15",
+"parameters":[
+{"name":"table","type":"string","value":"cluster_disk","edit":"0"},
+{"name":"group_override","type":"string","value":"mount","edit":"0"},
+{"name":"y_axis_max","type":"string","value":"100","edit":"0"},
+{"name":"metric","type":"string","value":"used_percent","edit":"0"},
+{"name":"period","type":"select","value":"","label":"Period","options":[
+{"label":"Use Time Widget","value":""},
+{"label":"Last 1 Hour","value":"last1hr"},
+{"label":"Last 2 Hours","value":"last2hr"},
+{"label":"Last 3 Hours","value":"last3hr"},
+{"label":"Last 6 Hours","value":"last6hr"},
+{"label":"Last 12 Hours","value":"last12hr"},
+{"label":"Last 24 Hours","value":"last24hr"},
+{"label":"Yesterday","value":"yesterday"},
+{"label":"Last 7 Days","value":"last7d"},
+{"label":"Last 30 Days","value":"last30d"}
+]},
+{"name":"width","type":"select","value":"300","label":"Width","options":[
+{"label":"300","value":"300"},
+{"label":"400","value":"400"},
+{"label":"500","value":"500"},
+{"label":"600","value":"600"},
+{"label":"800","value":"800"},
+{"label":"1000","value":"1000"},
+{"label":"1200","value":"1200"}
+]},
+{"name":"height","type":"select","value":"200","label":"Height","options":[
+{"label":"200","value":"200"},
+{"label":"400","value":"400"},
+{"label":"600","value":"600"},
+{"label":"800","value":"800"},
+{"label":"1000","value":"1000"}
+]},
+{"name":"legend","type":"radio","value":"on","label":"Show Legends","options":[
+{"label":"On","value":"on"},
+{"label":"Off","value":"off"}]}
+]
+}

Added: hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_metrics.descriptor
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_metrics.descriptor?rev=723855&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_metrics.descriptor (added)
+++ hadoop/core/trunk/src/contrib/chukwa/src/web/hicc/descriptors/cluster_metrics.descriptor Fri Dec  5 12:30:14 2008
@@ -0,0 +1,81 @@
+{
+"id":"cluster_metrics",
+"title":"Cluster Metrics",
+"version":"0.1",
+"categories":"System,Status",
+"module":"iframe/jsp/single-series-chart-javascript.jsp",
+"description":"Display cluster related stats",
+"screendump":"\/images\/server_load.gif",
+"refresh":"15",
+"parameters":[
+{"name":"table","type":"string","value":"cluster_system_metrics","edit":"0"},
+{"name":"period","type":"select","value":"","label":"Period","options":[
+{"label":"Use Time Widget","value":""},
+{"label":"Last 1 Hour","value":"last1hr"},
+{"label":"Last 2 Hours","value":"last2hr"},
+{"label":"Last 3 Hours","value":"last3hr"},
+{"label":"Last 6 Hours","value":"last6hr"},
+{"label":"Last 12 Hours","value":"last12hr"},
+{"label":"Last 24 Hours","value":"last24hr"},
+{"label":"Yesterday","value":"yesterday"},
+{"label":"Last 7 Days","value":"last7d"},
+{"label":"Last 30 Days","value":"last30d"}
+]},
+{"name":"metric","type":"select_multiple","value":"load_15","label":"Metric","options":[
+{"label":"load_15","value":"load_15"},
+{"label":"load_5","value":"load_5"},
+{"label":"load_1","value":"load_1"},
+{"label":"task_total","value":"task_total"},
+{"label":"task_running","value":"task_running"},
+{"label":"task_sleep","value":"task_sleep"},
+{"label":"task_stopped","value":"task_stopped"},
+{"label":"task_zombie","value":"task_zombie"},
+{"label":"mem_total","value":"mem_total"},
+{"label":"mem_buffers","value":"mem_buffers"},
+{"label":"mem_cached","value":"mem_cached"},
+{"label":"mem_used","value":"mem_used"},
+{"label":"mem_free","value":"mem_free"},
+{"label":"eth0_rxerrs","value":"eth0_rxerrs"},
+{"label":"eth0_rxbyts","value":"eth0_rxbyts"},
+{"label":"eth0_rxpcks","value":"eth0_rxpcks"},
+{"label":"eth0_rxdrops","value":"eth0_rxdrops"},
+{"label":"eth0_txerrs","value":"eth0_txerrs"},
+{"label":"eth0_txbyts","value":"eth0_txbyts"},
+{"label":"eth0_txpcks","value":"eth0_txpcks"},
+{"label":"eth0_txdrops","value":"eth0_txdrops"},
+{"label":"eth1_rxerrs","value":"eth1_rxerrs"},
+{"label":"eth1_rxbyts","value":"eth1_rxbyts"},
+{"label":"eth1_rxpcks","value":"eth1_rxpcks"},
+{"label":"eth1_rxdrops","value":"eth1_rxdrops"},
+{"label":"eth1_txerrs","value":"eth1_txerrs"},
+{"label":"eth1_txbyts","value":"eth1_txbyts"},
+{"label":"eth1_txpcks","value":"eth1_txpcks"},
+{"label":"eth1_txdrops","value":"eth1_txdrops"},
+{"label":"sda_rkbs","value":"sda_rkbs"},
+{"label":"sda_wkbs","value":"sda_wkbs"},
+{"label":"sdb_rkbs","value":"sdb_rkbs"},
+{"label":"sdb_wkbs","value":"sdb_wkbs"},
+{"label":"sdc_rkbs","value":"sdc_rkbs"},
+{"label":"sdc_wkbs","value":"sdc_wkbs"},
+{"label":"sdd_rkbs","value":"sdd_rkbs"},
+{"label":"sdd_wkbs","value":"sdd_wkbs"}
+]},
+{"name":"width","type":"select","value":"300","label":"Width","options":[
+{"label":"300","value":"300"},
+{"label":"400","value":"400"},
+{"label":"500","value":"500"},
+{"label":"600","value":"600"},
+{"label":"800","value":"800"},
+{"label":"1200","value":"1200"}
+]},
+{"name":"height","type":"select","value":"200","label":"Height","options":[
+{"label":"200","value":"200"},
+{"label":"400","value":"400"},
+{"label":"600","value":"600"},
+{"label":"1000","value":"1000"}
+]},
+{"name":"legend","type":"radio","value":"on","label":"Show Legends","options":[
+{"label":"On","value":"on"},
+{"label":"Off","value":"off"}]}
+]
+}