Beispiel #1
0
        private static int getMatchingArchiveIndex(RrdDb rrd1, int arcIndex, RrdDb rrd2)
        {
            Archive   archive   = rrd1.getArchive(arcIndex);
            ConsolFun consolFun = archive.getConsolFun();
            int       steps     = archive.getSteps();

            try
            {
                return(rrd2.getArcIndex(consolFun, steps));
            }
            catch (ArgumentException e)
            {
                return(-1);
            }
        }
Beispiel #2
0
 private static int getMatchingArchiveIndex(RrdDb rrd1, int arcIndex, RrdDb rrd2)
 {
    Archive archive = rrd1.getArchive(arcIndex);
    ConsolFun consolFun = archive.getConsolFun();
    int steps = archive.getSteps();
    try
    {
       return rrd2.getArcIndex(consolFun, steps);
    }
    catch (ArgumentException e)
    {
       return -1;
    }
 }
Beispiel #3
0
      public FetchData GetArchiveData(DatabaseData databaseData, string dataSourceName, ArcDef archiveDefinition)
      {
         RrdDb database = null;
         try
         {
            database = new RrdDb(databaseData.Definition.getPath(), true);
            int datasourceIndex = database.getDsIndex(dataSourceName);
            Archive archive = database.getArchive(new ConsolFun(archiveDefinition.getConsolFun().Name), archiveDefinition.Steps);
            Robin robin = archive.getRobin(datasourceIndex);
            double[] values = robin.getValues();
            DateTime archiveStartTime = archive.getStartDateTime();
            TimeSpan tick = new TimeSpan(archive.getArcStep() * TimeSpan.TicksPerSecond);

            FetchData fetchedData = new FetchData(archive.getArcStep(), archive.getEndTime(), new string[] { dataSourceName });
            long[] timestamps = new long[archive.getRows()];
            long offset = archive.getStartTime();
            for (var i = 0; i < archive.getRows(); i++)
            {
               timestamps[i] = offset;
               offset += archive.getArcStep();
            }
            fetchedData.setTimestamps(timestamps);
            double[][] value = new double[1][];
            value[0] = values;
            fetchedData.setValues(value);
            return fetchedData;

         }
         finally
         {
            if (database != null)
               database.close();
         }
      }