public void Create(CpuMetric item) { using (var connection = new SQLiteConnection(ConnectionString)) { connection.Execute("INSERT INTO cpumetrics(Value, Time) VALUES(@value, @time)", new { value = item.Value, time = item.Time }); } }
// инжектируем соединение с базой данных в наш репозиторий через конструктор public void Create(CpuMetric item) { using var connection = new SQLiteConnection(Startup.ConnectionString); connection.Execute(string.Concat("INSERT INTO ", MetricsType.metricsList[(int)MetricsTypeEnum.CpuMetrics], "(value, time) VALUES(@value, @time)"), new { value = item.Value, time = item.Time.ToUnixTimeSeconds() });; }
public void Update(CpuMetric item) { using var connection = new SQLiteConnection(_connection); connection.Execute("UPDATE cpumetrics SET value = @value, time = @time WHERE id = @id", new { value = item.Value, time = item.Time, id = item.Id }); }
public void Create(CpuMetric item) { var connectionString = ConnectionManager.CreateOpenedConnection(); connectionString.Execute("INSERT INTO CpuMetrics(value, Time) VALUES(@Value, @Time)", new { item.Value, item.Time }); }
public void Update(CpuMetric item) { using var connection = new SQLiteConnection(Startup.ConnectionString); connection.Execute(string.Concat("UPDATE ", MetricsType.metricsList[(int)MetricsTypeEnum.CpuMetrics], " SET value = @value, time = @time WHERE id=@id"), new { id = item.Id, value = item.Value, time = item.Time.ToUnixTimeSeconds() }); }
public void Create(CpuMetric item) { using (var connection = new SQLiteConnection(SqlConnect.connectionString)) { connection.Execute("INSERT INTO cpumetrics(value, time) VALUES(@value, @time)", new { value = item.Value, time = item.Time.ToUnixTimeSeconds() }); } }
public void Create(CpuMetric item) { using var connection = new SQLiteConnection(DataBaseConnectionSettings.ConnectionString); { connection.Execute("INSERT INTO cpumetrics(value, time) VALUES(@value, @time)", new { value = item.Value, time = item.Time.ToUniversalTime().ToUnixTimeSeconds() }); } }
public void Update(CpuMetric item) { using var cmd = new SQLiteCommand(connection); // прописываем в команду SQL запрос на обновление данных cmd.CommandText = "UPDATE cpumetrics SET value = @value, time = @time WHERE id=@id;"; cmd.Parameters.AddWithValue("@id", item.Id); cmd.Parameters.AddWithValue("@value", item.Value); cmd.Parameters.AddWithValue("@time", item.Time.TotalSeconds); cmd.Prepare(); cmd.ExecuteNonQuery(); }
public void Update(CpuMetric item) { using (var connection = new SQLiteConnection(_connectionString)) { connection.Execute("UPDATE " + _tablename + " SET value = @value, time = @time WHERE id = @id", new { value = item.Value, time = item.Time, id = item.Id }); } }
public void Create(CpuMetric item) { using (var connection = new SQLiteConnection(_connectionString)) { connection.Execute("INSERT INTO " + _tablename + "(agentid, value, time) VALUES(@agentid, @value, @time)", new { agentid = item.AgentId, value = item.Value, time = item.Time }); } }
public void Create(CpuMetric item) { using var connection = new SQLiteConnection(_connectionString); // запрос на вставку данных с плейсхолдерами для параметров connection.Execute("INSERT INTO cpumetrics(value, time) VALUES(@value, @time)", // анонимный объект с параметрами запроса new { // value подставится на место "@value" в строке запроса // значение запишется из поля Value объекта item value = item.Value, // записываем в поле time количество секунд time = item.Time.ToUnixTimeSeconds() }); }
/// <summary> /// Записывает метрику в базу данных /// </summary> /// <param name="metric">Метрика для записи</param> public void Create(CpuMetric metric) { using (var connection = new SQLiteConnection(mySql.ConnectionString)) { connection.ExecuteAsync( $"INSERT INTO {mySql[Tables.CpuMetric]}" + $"({mySql[Columns.Value]}, {mySql[Columns.Time]})" + $"VALUES (@value, @time);", new { value = metric.Value, time = metric.Time.ToUnixTimeSeconds(), }); } }
public void Execute() { var startTime = DateTime.UtcNow; var startCpuUsage = Process.GetCurrentProcess().TotalProcessorTime; var endTime = DateTime.UtcNow; var endCpuUsage = Process.GetCurrentProcess().TotalProcessorTime; var cpuUsedMs = (endCpuUsage - startCpuUsage).TotalMilliseconds; var totalMsPassed = (endTime - startTime).TotalMilliseconds; var cpuUsageTotal = cpuUsedMs / (Environment.ProcessorCount * totalMsPassed); var cpuStatistic = new CpuMetric(cpuUsageTotal, Environment.ProcessorCount); Console.WriteLine(cpuStatistic.ToString()); }
public void Create(CpuMetric item) { using var connection = new SQLiteConnection(_connectionString); try { connection.Execute("INSERT INTO cpumetrics(value, time, agentId) VALUES(@value, @time, @agentId)", new { value = item.Value, time = item.Time, agentId = item.AgentId }); } catch (Exception ex) { _logger.LogError(ex.Message); } }
public void Create(CpuMetric item) { using (var connection = new SQLiteConnection(ConnectionString)) { connection.Open(); using (var cmd = new SQLiteCommand(connection)) { cmd.CommandText = "INSERT INTO cpumetrics(value, time) VALUES(@value, @time)"; cmd.Parameters.AddWithValue("@value", item.Value); cmd.Parameters.AddWithValue("@time", item.Time.ToUnixTimeSeconds()); cmd.Prepare(); cmd.ExecuteNonQuery(); } } }
public void Create(CpuMetric item) { // создаем команду using var cmd = new SQLiteCommand(connection); // прописываем в команду SQL запрос на вставку данных cmd.CommandText = "INSERT INTO cpumetrics(value, time) VALUES(@value, @time)"; // добавляем параметры в запрос из нашего объекта cmd.Parameters.AddWithValue("@value", item.Value); // в таблице будем хранить время в секундах, потому преобразуем перед записью в секунды // через свойство cmd.Parameters.AddWithValue("@time", item.Time.TotalSeconds); // // подготовка команды к выполнению cmd.Prepare(); // выполнение команды cmd.ExecuteNonQuery(); }
public AllCpuMetrics(ILogger <AllCpuMetrics> logger) { _logger = logger; AgentId = 1; Metrics = new List <CpuMetric>(); //Заполнение списка метрик пустыми значениями var newMetric = new CpuMetric() { Time = DateTimeOffset.UtcNow, Value = 0 }; for (int i = 0; i < Amount; i++) { Metrics.Add(newMetric); newMetric.Time -= TimeSpan.FromSeconds(5); } }
public void GetCpuMetrics_returnsData() { DateTime now = DateTime.Now; var expectedItem = new CpuMetric { Time = now, Id = 1, Value = 10 }; var expected = new List <CpuMetric>() { expectedItem }; _repositoryMock.Setup(repository => repository.GetByTimePeriod(DateTime.MinValue, DateTime.MaxValue)) .Returns(expected); var actual = cpuController.GetByTimePerion(DateTime.MinValue, DateTime.MaxValue); Assert.NotNull(actual); if (actual is OkObjectResult result) { Assert.IsType <List <CpuMetricDto> >(result.Value); } }
public void Update(CpuMetric item) { throw new NotImplementedException(); }
public IActionResult TryToInsertAndRead() { // Создаем строку подключения в виде базы данных в оперативной памяти string connectionString = "Data Source=:memory:"; // создаем соединение с базой данных using (var connection = new SQLiteConnection(connectionString)) { // открываем соединение connection.Open(); // создаем объект через который будут выполняться команды к базе данных using (var command = new SQLiteCommand(connection)) { // задаем новый текст команды для выполнения // удаляем таблицу с метриками если она существует в базе данных command.CommandText = "DROP TABLE IF EXISTS cpumetrics"; // отправляем запрос в базу данных command.ExecuteNonQuery(); // создаем таблицу с метриками command.CommandText = @"CREATE TABLE cpumetrics(id INTEGER PRIMARY KEY, value INT, time INT)"; command.ExecuteNonQuery(); // создаем запрос на вставку данных command.CommandText = "INSERT INTO cpumetrics(value, time) VALUES(10,1)"; command.ExecuteNonQuery(); command.CommandText = "INSERT INTO cpumetrics(value, time) VALUES(50,2)"; command.ExecuteNonQuery(); command.CommandText = "INSERT INTO cpumetrics(value, time) VALUES(75,4)"; command.ExecuteNonQuery(); command.CommandText = "INSERT INTO cpumetrics(value, time) VALUES(90,5)"; command.ExecuteNonQuery(); // создаем строку для выборки данных из базы // LIMIT 3 обозначает, что мы достанем только 3 записи string readQuery = "SELECT * FROM cpumetrics LIMIT 3"; // создаем массив, в который запишем объекты с данными из базы данных var returnArray = new CpuMetric[3]; // изменяем текст команды на наш запрос чтения command.CommandText = readQuery; // создаем читалку из базы данных using (SQLiteDataReader reader = command.ExecuteReader()) { // счетчик для того, чтобы записать объект в правильное место в массиве var counter = 0; // цикл будет выполняться до тех пор, пока есть что читать из базы данных while (reader.Read()) { // создаем объект и записываем его в массив returnArray[counter] = new CpuMetric { Id = reader.GetInt32(0), // читаем данные полученные из базы данных Value = reader.GetInt32(1), // преобразуя к целочисленному типу Time = reader.GetInt64(2) }; // увеличиваем значение счетчика counter++; } } // оборачиваем массив с данными в объект ответа и возвращаем пользователю return(Ok(returnArray)); } } }
public IActionResult GetMetricById([FromRoute] int id) { CpuMetric metric = _repository.GetById(id); return(Ok(metric)); }