public static NamedDynamicInfluxRow[] CreateNamedDynamicRowsStartingAt(string measurementName, DateTime start, int rows) { var rng = new Random(); var timestamp = start; var infos = new NamedDynamicInfluxRow[rows]; for (int i = 0; i < rows; i++) { long ram = rng.Next(int.MaxValue); double cpu = rng.NextDouble(); string region = Regions[rng.Next(Regions.Length)]; string host = Hosts[rng.Next(Hosts.Length)]; var info = new NamedDynamicInfluxRow(); info.MeasurementName = measurementName; info.Fields.Add("cpu", cpu); info.Fields.Add("ram", ram); info.Tags.Add("host", host); info.Tags.Add("region", region); info.Timestamp = timestamp; infos[i] = info; timestamp = timestamp.AddSeconds(1); } return(infos); }
private NamedDynamicInfluxRow[] CreateDynamicRowsStartingAt(DateTime start, int rows, string measurementName) { Random rng = new Random(); string[] regions = new[] { "west-eu", "north-eu", "west-us", "east-us", "asia" }; string[] hosts = new[] { "some-host", "some-other-host" }; DateTime timestamp = start; NamedDynamicInfluxRow[] infos = new NamedDynamicInfluxRow[rows]; for (int i = 0; i < rows; i++) { long ram = rng.Next(int.MaxValue); double cpu = rng.NextDouble(); string region = regions[rng.Next(regions.Length)]; string host = hosts[rng.Next(hosts.Length)]; NamedDynamicInfluxRow info = new NamedDynamicInfluxRow(); info.Fields.Add("cpu", cpu); info.Fields.Add("ram", ram); info.Tags.Add("host", host); info.Tags.Add("region", region); info.Timestamp = timestamp; info.MeasurementName = measurementName; infos[i] = info; timestamp = timestamp.AddSeconds(1); } return(infos); }
public static NamedDynamicInfluxRow[] CreateNamedDynamicRowsStartingAt(string measurementName, DateTime start, int rows) { var rng = new Random(); var timestamp = start; var infos = new NamedDynamicInfluxRow[rows]; for (int i = 0; i < rows; i++) { long ram = rng.Next(int.MaxValue); double cpu = rng.NextDouble(); string region = Regions[rng.Next(Regions.Length)]; string host = Hosts[rng.Next(Hosts.Length)]; var info = new NamedDynamicInfluxRow(); info.MeasurementName = measurementName; info.Fields.Add("cpu", cpu); info.Fields.Add("ram", ram); info.Fields.Add("cpuAsDecimal", (decimal)cpu); info.Fields.Add("timez", new DateTimeOffset(DateTime.SpecifyKind(timestamp, DateTimeKind.Unspecified), TimeSpan.FromHours(3))); info.Tags.Add("host", host); info.Tags.Add("region", region); info.Timestamp = timestamp; infos[i] = info; timestamp = timestamp.AddSeconds(1); } return(infos); }
public async Task <string> UploadDataFromCsv(string measurementId, List <string> lines) { await DeleteMeasurementById(measurementId); string[] headers = lines[0].Split(','); NamedDynamicInfluxRow[] influxRows = new NamedDynamicInfluxRow[lines.Count - 1]; for (int i = 1; i < lines.Count; i++) { string[] rowValues = lines[i].Split(','); NamedDynamicInfluxRow row = new NamedDynamicInfluxRow(); for (int j = 1; j < headers.Length; j++) { row.Fields.Add(headers[j], rowValues[j]); } row.Timestamp = DateTime.Parse(rowValues[0]); row.MeasurementName = measurementId; influxRows[i - 1] = row; } await _influxClient.WriteAsync(TimeSeriesSettings.InfluxDatabase, influxRows); return("?"); }