001: /*
002: * <copyright>
003: *
004: * Copyright 1997-2004 BBNT Solutions, LLC
005: * under sponsorship of the Defense Advanced Research Projects
006: * Agency (DARPA).
007: *
008: * You can redistribute this software and/or modify it under the
009: * terms of the Cougaar Open Source License as published on the
010: * Cougaar Open Source Website (www.cougaar.org).
011: *
012: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
013: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
014: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
015: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
016: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
017: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
018: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
019: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
020: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
021: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
022: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
023: *
024: * </copyright>
025: */
026:
027: package org.cougaar.core.qos.metrics;
028:
029: /**
030: * Assorted constants for key and path construction, and credibility.
031: */
032: public interface Constants {
033: /**
034: * The character used to separate fields of a data key. */
035: static final String KEY_SEPR = "_";
036:
037: /**
038: * The character used to seperate fields of a data-lookup paths.
039: */
040: static final String PATH_SEPR = ":";
041:
042: /**
043: *Averaging Intervals
044: */
045: static final String _1_SEC_AVG = "1";
046: static final String _10_SEC_AVG = "10";
047: static final String _100_SEC_AVG = "100";
048: static final String _1000_SEC_AVG = "1000";
049:
050: /**
051: * The category of thread-service measurements, and some specific
052: * ones
053: */
054: static final String THREAD_SENSOR = "COUGAAR_THREAD";
055:
056: static final String SecAvgKeySuffix = "SecAvg";
057: static final String CPU_LOAD_AVG = "CPULoadAvg";
058: static final String CPU_LOAD_MJIPS = "CPULoadMJips";
059: static final String MSG_IN = "MsgIn";
060: static final String MSG_OUT = "MsgOut";
061: static final String BYTES_IN = "BytesIn";
062: static final String BYTES_OUT = "BytesOut";
063: static final String MSG_FROM = "MsgFrom";
064: static final String MSG_TO = "MsgTo";
065: static final String BYTES_FROM = "BytesFrom";
066: static final String BYTES_TO = "BytesTo";
067: // Traffic Matrix
068: static final String MSG_RATE = "MsgRate";
069: static final String BYTE_RATE = "ByteRate";
070:
071: static final String PERSIST_SIZE_LAST = "PersistSizeLast";
072:
073: // Credibility Spectrum: tries to unify many different notions of
074: // credibility into a common metric. The Credibility "Calculus" is
075: // still undefined, but here is the general notion for credibility
076: // values.
077: //
078: // The dimensions of credibility include
079: // Aggregation: Time period over which the observation were made
080: // Staleness: How out-of-date is the data
081: // Source: How was the data collected
082: // Trust or Collector Authority: Can the collector be trusted
083: // Sensitivity: Does a key component of the data have low credibility
084: /**
085: * No source for data. There was an error or nobody was looking for
086: * this data*/
087: static final double NO_CREDIBILITY = 0.0;
088: /**
089: * Compile Time Default was the source for data */
090: static final double DEFAULT_CREDIBILITY = 0.1;
091: /**
092: * System Level configuration file was the source for data */
093: static final double SYS_DEFAULT_CREDIBILITY = 0.2;
094: /**
095: * User Level configuration file was the source for data */
096: static final double USER_DEFAULT_CREDIBILITY = 0.3;
097: /**
098: * System Level Base-Line measurements file was the source
099: * for data. This data is aggregated over Days */
100: static final double SYS_BASE_CREDIBILITY = 0.4;
101: /**
102: * User Level Base-Line measurements file was the source for
103: * data. This data is aggregated over Days */
104: static final double USER_BASE_CREDIBILITY = 0.5;
105: /**
106: * A Single Active measurment was source for data.
107: * This data is aggregated over Hours and is not stale*/
108: static final double HOURLY_MEAS_CREDIBILITY = 0.6;
109: /**
110: * A Single Active measurment was source for data.
111: * This data is aggregated over Minutes and is not stale*/
112: static final double MINUTE_MEAS_CREDIBILITY = 0.7;
113: /**
114: * A Single Active measurment was source for data.
115: * This data is aggregated over Seconds and is not stale*/
116: static final double SECOND_MEAS_CREDIBILITY = 0.8;
117: /**
118: * A Multiple Active measurments were a Consistant source for data.
119: * This data is aggregated over Seconds and is not stale*/
120: static final double CONFIRMED_MEAS_CREDIBILITY = 0.9;
121: /**
122: * A higher-level system has declared this datarmation to be true.
123: * Mainly used by debuggers and gods */
124: static final double ORACLE_CREDIBILITY = 1.0;
125: }
|