示例#1
0
        public void UpdateDataSource(DatabaseData srcDatabase, DsDef updatedDsDef, DsDef originalDsDef)
        {
            RrdDb database = null;

            try
            {
                database = new RrdDb(srcDatabase.Definition.Path, false);
                Datasource datasource = database.getDatasource(originalDsDef.getDsName());
                if (datasource == null)
                {
                    throw new ArgumentException(updatedDsDef.getDsName() + " datasource don't exist");
                }
                if (datasource.DsName != updatedDsDef.DsName)
                {
                    datasource.setDsName(updatedDsDef.getDsName());
                }
                datasource.setDsType(updatedDsDef.getDsType());
                datasource.setHeartbeat(updatedDsDef.getHeartbeat());
                datasource.setMaxValue(updatedDsDef.getMaxValue(), true);
                datasource.setMinValue(updatedDsDef.getMinValue(), true);
            }
            catch (FileNotFoundException ex)
            {
                Logger.Error("Update datasource failed", ex);
                throw new ApplicationException("Can't update datasource until database saved!", ex);
            }
            finally
            {
                if (database != null)
                {
                    database.close();
                }
            }
        }
示例#2
0
 public void setDsMinValue(String sourcePath, String datasourceName, double newMinValue, boolean filterArchivedValues)
 {
     RrdDb rrd = new RrdDb(sourcePath);
     Datasource ds = rrd.getDatasource(datasourceName);
     ds.setMinValue(newMinValue, filterArchivedValues);
     rrd.close();
 }
示例#3
0
 public void setDsHeartbeat(String sourcePath, String datasourceName, long newHeartbeat)
 {
     RrdDb rrd = new RrdDb(sourcePath);
     Datasource ds = rrd.getDatasource(datasourceName);
     ds.setHeartbeat(newHeartbeat);
     rrd.close();
 }