public static List <DataSourceItem> BuildList(IXenObject xenObject, List <Data_source> dataSources) { List <DataSourceItem> dataSourceItems = new List <DataSourceItem>(); foreach (Data_source dataSource in dataSources) { if (dataSource.name_label == "memory_total_kib" || dataSource.name_label == "memory") { continue; } string friendlyName; if (dataSource.name_label == "memory_free_kib" && xenObject is Host) { friendlyName = Helpers.GetFriendlyDataSourceName("memory_used_kib", xenObject); } else if (dataSource.name_label == "memory_internal_free" && xenObject is VM) { friendlyName = Helpers.GetFriendlyDataSourceName("memory_internal_used", xenObject); } else { friendlyName = Helpers.GetFriendlyDataSourceName(dataSource.name_label, xenObject); } string itemUuid = Palette.GetUuid(dataSource.name_label, xenObject); dataSourceItems.Add(new DataSourceItem(dataSource, friendlyName, Palette.GetColour(itemUuid), itemUuid, xenObject)); } return(dataSourceItems); }
private static Regex sr_rw_regex = new Regex("^(read|write)_([a-f0-9]{8})$"); // replacement SR read/write datasources public static List <DataSourceItem> BuildList(IXenObject xenObject, List <Data_source> dataSources) { List <DataSourceItem> dataSourceItems = new List <DataSourceItem>(); foreach (Data_source dataSource in dataSources) { if (dataSource.name_label == "memory_total_kib" || dataSource.name_label == "memory" || dataSource.name_label == "xapi_open_fds" || dataSource.name_label == "pool_task_count" || dataSource.name_label == "pool_session_count") { continue; } string friendlyName; if (dataSource.name_label == "memory_free_kib" && xenObject is Host) { friendlyName = Helpers.GetFriendlyDataSourceName("memory_used_kib", xenObject); } else if (dataSource.name_label == "memory_internal_free" && xenObject is VM) { friendlyName = Helpers.GetFriendlyDataSourceName("memory_internal_used", xenObject); } else { friendlyName = Helpers.GetFriendlyDataSourceName(dataSource.name_label, xenObject); } string itemUuid = Palette.GetUuid(dataSource.name_label, xenObject); dataSourceItems.Add(new DataSourceItem(dataSource, friendlyName, Palette.GetColour(itemUuid), itemUuid, xenObject)); } // Filter old datasources only if we have their replacement ones if (dataSourceItems.Any(dsi => sr_rw_regex.IsMatch(dsi.DataSource.name_label))) { // Remove any old style data sources dataSourceItems.RemoveAll(dsi => io_throughput_rw_regex.IsMatch(dsi.DataSource.name_label)); } return(dataSourceItems); }
void AddDataSource(string uuid, List <string> dsuuids, DesignedGraph dg) { dsuuids.Add(uuid); dg.DataSources.Add(new DataSourceItem(new Data_source(), "", Palette.GetColour(uuid), uuid)); }