Beispiel #1
0
        public void UpdateArchive(ArcDef updatedArcDef)
        {
            var archDef = EditingDatabaseData.Definition.findArchive(updatedArcDef.getConsolFun(), updatedArcDef.getSteps());

            archDef.setRows(updatedArcDef.getRows());
            DatabaseDirty = true;
        }
 public void UpdateArchive(string command)
 {
     RrdDbParser parser = new RrdDbParser("");
      ArcDef arcDef = parser.parseRra(command);
      if (!model.EditingDatabaseData.Definition.ContainsArchive(arcDef))
     throw new ArgumentException("Archive don't exist");
      model.UpdateArchive(arcDef);
 }
Beispiel #3
0
        public void DatasourceArchiveSelected(DatabaseData database, object datasource, object archiveDefinition)
        {
            if (!model.IsDatabase(database.Definition.Path))
            {
                return;
            }
            DsDef dsDef = datasource as DsDef;

            ArcDef    selectedArchive = archiveDefinition as ArcDef;
            FetchData fetchedData     = model.GetArchiveData(database, dsDef.DsName, selectedArchive);

            rrdDbForm.SetArchiveDumpData(fetchedData);
            rrdDbForm.SetDocumentName(Path.GetFileNameWithoutExtension(database.Definition.getPath()));
        }
Beispiel #4
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();
                }
            }
        }
Beispiel #5
0
 public void AddArchive(ArcDef arcDef)
 {
     EditingDatabaseData.Definition.addArchive(arcDef);
     DatabaseDirty = true;
 }