예제 #1
0
 public Datasource(RrdDb parentDb, DsDef dsDef)
 {
     bool shouldInitialize = dsDef != null;
     this.parentDb = parentDb;
     dsName = new RrdString(this);
     dsTypeName = new RrdString(this);
     if (!shouldInitialize) 
        dsType = new DsType(dsTypeName.get());
     heartbeat = new RrdLong(this);
     minValue = new RrdDouble(this);
     maxValue = new RrdDouble(this);
     lastValue = new RrdDouble(this);
     accumValue = new RrdDouble(this);
     nanSeconds = new RrdLong(this);
     if (shouldInitialize)
     {
         dsName.set(dsDef.getDsName());
         dsType = dsDef.getDsType();
         dsTypeName.set(dsType.Name);
         heartbeat.set(dsDef.getHeartbeat());
         minValue.set(dsDef.getMinValue());
         maxValue.set(dsDef.getMaxValue());
         lastValue.set(Double.NaN);
         accumValue.set(0.0);
         Header header = parentDb.getHeader();
         nanSeconds.set(header.getLastUpdateTime() % header.getStep());
     }
 }
예제 #2
0
        public Datasource(RrdDb parentDb, DsDef dsDef)
        {
            bool shouldInitialize = dsDef != null;

            this.parentDb = parentDb;
            dsName        = new RrdString(this);
            dsTypeName    = new RrdString(this);
            if (!shouldInitialize)
            {
                dsType = new DsType(dsTypeName.get());
            }
            heartbeat  = new RrdLong(this);
            minValue   = new RrdDouble(this);
            maxValue   = new RrdDouble(this);
            lastValue  = new RrdDouble(this);
            accumValue = new RrdDouble(this);
            nanSeconds = new RrdLong(this);
            if (shouldInitialize)
            {
                dsName.set(dsDef.getDsName());
                dsType = dsDef.getDsType();
                dsTypeName.set(dsType.Name);
                heartbeat.set(dsDef.getHeartbeat());
                minValue.set(dsDef.getMinValue());
                maxValue.set(dsDef.getMaxValue());
                lastValue.set(Double.NaN);
                accumValue.set(0.0);
                Header header = parentDb.getHeader();
                nanSeconds.set(header.getLastUpdateTime() % header.getStep());
            }
        }
예제 #3
0
 public Datasource(RrdDb parentDb, DataImporter reader, int dsIndex)
     : this(parentDb, null)
 {
     dsName.set(reader.getDsName(dsIndex));
     dsType = new DsType(reader.getDsType(dsIndex));
     dsTypeName.set(dsType.Name);
     heartbeat.set(reader.getHeartbeat(dsIndex));
     minValue.set(reader.getMinValue(dsIndex));
     maxValue.set(reader.getMaxValue(dsIndex));
     lastValue.set(reader.getLastValue(dsIndex));
     accumValue.set(reader.getAccumValue(dsIndex));
     nanSeconds.set(reader.getNanSeconds(dsIndex));
 }
예제 #4
0
        public void setDsType(Common.DsType newDsType)
        {
            dsType = newDsType;
            dsTypeName.set(dsType.Name);

            // set datasource type
            // reset datasource status
            lastValue.set(Double.NaN);
            accumValue.set(0.0);
            // reset archive status
            int dsIndex = parentDb.getDsIndex(dsName.get());

            Archive[] archives = parentDb.getArchives();
            foreach (Archive archive in archives)
            {
                archive.getArcState(dsIndex).setAccumValue(Double.NaN);
            }
        }
예제 #5
0
        public Datasource(RrdDb parentDb, DataImporter reader, int dsIndex)
            : this(parentDb, null)
        {

            dsName.set(reader.getDsName(dsIndex));
            dsType = new DsType(reader.getDsType(dsIndex));
            dsTypeName.set(dsType.Name);
            heartbeat.set(reader.getHeartbeat(dsIndex));
            minValue.set(reader.getMinValue(dsIndex));
            maxValue.set(reader.getMaxValue(dsIndex));
            lastValue.set(reader.getLastValue(dsIndex));
            accumValue.set(reader.getAccumValue(dsIndex));
            nanSeconds.set(reader.getNanSeconds(dsIndex));
        }
예제 #6
0
        public void setDsType(Common.DsType newDsType)
        {
            dsType = newDsType;
            dsTypeName.set(dsType.Name);

            // set datasource type
            // reset datasource status
            lastValue.set(Double.NaN);
            accumValue.set(0.0);
            // reset archive status
            int dsIndex = parentDb.getDsIndex(dsName.get());
            Archive[] archives = parentDb.getArchives();
            foreach (Archive archive in archives)
            {
                archive.getArcState(dsIndex).setAccumValue(Double.NaN);
            }
        }