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);
        }
Example #3
0
        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("?");
        }