private void LoadDatabaseView(RrdDef rrDef, DateTime lastUpdated, double lastValue) { dataSourceListView.Columns.Clear(); dataSourceListView.Columns.Add("Name"); dataSourceListView.Columns.Add("Value", 200); dataSourceListView.Items.Clear(); if (rrDef == null) { return; } ListViewItem lvi = dataSourceListView.Items.Add("Tick"); lvi.SubItems.Add(rrDef.getStepTimeSpan().ToString()); lvi = dataSourceListView.Items.Add(dataSourceNodesName); lvi.SubItems.Add(rrDef.getDsCount().ToString()); lvi = dataSourceListView.Items.Add(archiveNodesName); lvi.SubItems.Add(rrDef.getArcCount().ToString()); lvi = dataSourceListView.Items.Add("Estimated size"); lvi.SubItems.Add(rrDef.getEstimatedSize().ToString()); if (lastUpdated != DateTime.MinValue) { lvi = dataSourceListView.Items.Add("Last update time"); lvi.SubItems.Add(lastUpdated.ToString()); } lvi = dataSourceListView.Items.Add("Last Value"); lvi.SubItems.Add(lastValue.ToString()); }
public RrdDef CreateDatabaseDef() { long start; DateTime startDateTime; string startOption = getOptionValue("b", "start", DEFAULT_START); try { if (DateTime.TryParse(startOption, out startDateTime)) { start = Util.getTimestamp(startDateTime); } else { start = long.Parse(startOption); } } catch (FormatException ex) { throw new ApplicationException("Bad date format:[" + startOption + "]." + ex.Message); } String stepOption = getOptionValue("s", "step", DEFAULT_STEP); long step = long.Parse(stepOption); String[] words = getRemainingWords(); if (words.Length < 3) { throw new ArgumentException("To few arguments! Use: create name DS:name:heartbeat:min:max [RRAdef]"); } if (words[0] != "create") { throw new ArgumentException("Wrong command format! Use: create name DS:name:heartbeat:min:max [RRAdef]"); } RrdDef rrdDef = new RrdDef(words[1], start, step); for (int i = 2; i < words.Length; i++) { if (words[i].StartsWith("DS:")) { rrdDef.addDatasource(parseDef(words[i])); } else if (words[i].StartsWith("RRA:")) { rrdDef.addArchive(parseRra(words[i])); } else { throw new ArgumentException("Invalid rrdcreate syntax. Not a DSDef or RRADef " + words[i] + "\nUse: create name DS:name:heartbeat:min:max [RRAdef]"); } } if (rrdDef.getDsCount() == 0) { throw new ArgumentException("No a Data source defined.\nUse: create name DS:name:heartbeat:min:max [RRAdef]"); } return(rrdDef); }