static void ReferToService(string serviceAddress) { try { if (prev == null) { prev = Emulator.GetRandom(_terminalId); } List <IMetering> data = new List <IMetering>(); for (int i = 0; i < points; i++) { prev = Emulator.GetNext(prev, new TimeSpan(0, 0, 0, 0, timeout / points), (float)new Random().NextDouble() * 60); data.Add(prev); } AuthorizationServiceProxy authorizationProxy = new AuthorizationServiceProxy(); authorizationProxy.Login(_terminalId); DataServiceProxy dataProxy = new DataServiceProxy(); dataProxy.SendData(_terminalId, data.Select(x => new MeteringDto(x)).ToList()); logger.Info("Data sent"); } catch (Exception e) { logger.Warn("Can't call method: {0}", e.Message); } }
/// <summary> /// When a user changes the device we want to change the device the meter is associating with. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void inputDevices_SelectionChanged(object sender, SelectionChangedEventArgs e) { var selectedItem = ((ComboBox)sender).SelectedItem; if (selectedItem == null) { return; } this.selectedDevice = selectedItem.ToString(); Console.WriteLine(selectedDevice); if (meterController != null) { meterController.Dispose(); } try { meterController = new Metering(selectedDevice); meterController.DeviceUpdated += meter_DeviceUpdated; } catch (ArgumentException ex) { MessageBox.Show("Could not capture this device", "Error"); Console.WriteLine(ex.StackTrace); setDefaultDevice(); } }
public async Task <IMetering> GetLastMetering(string terminalId) { // Get last metering MeteringDAO lastMetering = await _context.Meterings .Include(x => x.SensorValueRelations) .OrderByDescending(x => x.Time) .FirstOrDefaultAsync(x => x.TerminalId == terminalId); // Map to Metering model Metering res = new Metering() { TerminalId = lastMetering.TerminalId, Latitude = lastMetering.Latitude, Longitude = lastMetering.Longitude, Time = lastMetering.Time, }; // Get sensor vals for last metering var sensorVals = await _context.MeteringSensorRelations .Include(x => x.Metering) .Include(x => x.SensorValue) .Where(x => x.Metering.Id == lastMetering.Id) .ToListAsync(); foreach (var sv in sensorVals) { Property prop = DynamicPropertyManagers.Sensors.GetProperty(sv.PropertyName); res.SensorValues.SetValue(prop, DAOHelper.ByteArrayToObject(prop.TypeOfValue, sv.SensorValue.Value)); } return(res); }
public void TenantSpecificCounterTest() { var meter = Metering.GetMeterForTenant(_tenant); meter.Counter("counter-stat", 1); meter.Counter("counter-stat", 2); meter.Counter("counter-stat", 3); }
public void GlobalCounterTest() { var meter = Metering.GetGlobalMeter(); meter.Counter("counter-stat", 1); meter.Counter("counter-stat", 2); meter.Counter("counter-stat", 3); }
public override async Task OnActionExecutingAsync(HttpActionContext actionContext, CancellationToken cancellationToken) { _meter = Metering.GetGlobalMeter(); _stopwatch = new Stopwatch(); _stopwatch.Start(); AddCountMetric("count"); //meters the count of api call await base.OnActionExecutingAsync(actionContext, cancellationToken); }
protected override void Invoke(ManagedTestCase testCase, object testobject, MethodInfo method, object[] args, string name) { TaskoMeterTestContext ctx = (TaskoMeterTestContext)testCase.Context; Action invoke = delegate() { method.Invoke(testobject, args); }; var t = Metering.MeasureInteractively( invoke, ctx.Repetitions, invoke, ctx.WarmupRepetitions, name); t.Join(); }
public IMetering ToBo() { Metering res = new Metering(); res.TerminalId = TerminalId; res.Time = Time; res.Latitude = Latitude; res.Longitude = Longitude; foreach (var z in _sensorValues) { res.SensorValues.SetValue( DynamicPropertyManagers.Sensors.GetProperty(z.Key), z.Value); } return(res); }
public static Metering GetRandom(string terminalId, float maxTimeOffsetMs = 10E4f, float maxSpeedKmh = 90f, float maxMileageKm = 500f) { Random rand = new Random(); var res = new Metering() { TerminalId = terminalId, Latitude = (float)rand.NextDouble() * 180 - 90, Longitude = (float)rand.NextDouble() * 360 - 180, Time = DateTime.Now.AddMilliseconds(rand.NextDouble() * maxTimeOffsetMs) }; res.SensorValues.SetValue(DynamicPropertyManagers.Sensors.SpeedKmh, (float)rand.NextDouble() * maxSpeedKmh); res.SensorValues.SetValue(DynamicPropertyManagers.Sensors.MileageKm, (float)rand.NextDouble() * maxMileageKm); res.SensorValues.SetValue(DynamicPropertyManagers.Sensors.IsEngineRunning, rand.Next() % 2 == 0); return(res); }
private void initalizeMeter() { if (selectedDevice_ != null) { if (meterController != null) { meterController.Dispose(); } try { meterController = new Metering(selectedDevice_); meterController.DeviceUpdated += meterController_DeviceUpdated; } catch (ArgumentException ex) { MessageBox.Show("Could not capture this device", "Error"); //setDefaultDirectDevice(); setDefaultDevice(); } } }
public MetricsFixture() { var nvc = new NameValueCollection() { { "host", "192.168.10.182" }, { "port", "8125" }, { "mtu", "1432" }, { "batchingInterval", "1" }, { "applyPrefix", "Y" }, { "prefix", "testTenant" }, }; var config = new Mock <IConfigurationProvider>(); config .Setup(c => c.GetTenantConfigurationAsNameValueCollectionAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(nvc); config .Setup(c => c.GetGlobalConfigurationAsNameValueCollectionAsync(It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(nvc); _configuration = config.Object; Metering.ConfigureMetrics(new MetricsFactory(_configuration, _appName)); }
public MyData(int amount) { Meterings = new Metering[amount]; var tbegin = DateTime.Now; var tend = tbegin.AddDays(1); var meter = 5E-1; for (var i = 0; i < amount; i++) { Meterings[i] = new Metering() { IDOBJECT = i, IDOBJECT_AVERAGE = i, IDOBJECT_AGGREGATE = i, IDTYPE_OBJECT = i, STATUS = i, TIME_BEGIN = tbegin, TIME_END = tend, VALUE_METERING = meter } } ; }
private void HandleApiMetering(LogEventArgs logEventArgs) { if (string.IsNullOrWhiteSpace(ApiMeterPrefix)) { return; } IMeter meter = Metering.GetGlobalMeter(); if (meter == null) { return; } int httpStatusCode = (int)logEventArgs.HttpStatusCode; if (httpStatusCode >= 500) { meter.Meter($"{ApiMeterPrefix}.failure"); } meter.Meter($"{ApiMeterPrefix}.count"); meter.Timer($"{ApiMeterPrefix}.latency", TimeSpan.FromSeconds(logEventArgs.TimeTakenInSeconds)); }
public static Metering GetNext(Metering prev, TimeSpan dTime, float speed) { Metering next = new Metering(); next.TerminalId = prev.TerminalId; // MileageKm float dMil = speed * (float)dTime.TotalHours; //Earth’s radius, sphere float R = 6378137; //offsets in meters float q = (float)(new Random()).NextDouble(); float dn = q * dMil * 1000; float de = (1 - q) * dMil * 1000; //Coordinate offsets in radians float dLat = dn / R; float dLon = (float)(de / (R * Math.Cos(Math.PI * prev.Latitude / 180))); //OffsetPosition, decimal degrees float latO = prev.Latitude + dLat * 180 / (float)Math.PI; float lonO = prev.Longitude + dLon * 180 / (float)Math.PI; next.Latitude = latO; next.Longitude = lonO; next.Time = prev.Time + dTime; next.SensorValues.SetValue(DynamicPropertyManagers.Sensors.SpeedKmh, speed); next.SensorValues.SetValue( DynamicPropertyManagers.Sensors.MileageKm, (float)prev.SensorValues.GetValue(DynamicPropertyManagers.Sensors.MileageKm) + dMil); next.SensorValues.SetValue(DynamicPropertyManagers.Sensors.IsEngineRunning, speed > 0); return(next); }
public static void Seed(this ModelBuilder blder) { var @base = 10; var reviews = new string[] { "Good service, I will happily work with them again.", "Well, my mark is saying all about this service.", "I hope we will meet again. Good guys." }; var pedals = GetPedals(@base, @base * 0).ToArray(); var amps = GetAmplifiers(@base, @base * 1).ToArray(); var guitars = GetGuitars(@base, @base * 2).ToArray(); var locations = GetLocations().ToArray(); var devices = GetDevices().ToArray(); blder.Entity <Company>() .HasData( new Company() { Id = -1, Name = "F****r's company", Image = "Comp.png" } ); blder.Entity <OrderStatus>().HasData( new OrderStatus() { Id = -1, Name = "In confirmaion" }, new OrderStatus() { Id = -2, Name = "Confirmed" }, new OrderStatus() { Id = -3, Name = "In Process" }, new OrderStatus() { Id = -4, Name = "Successfully Processed" }, new OrderStatus() { Id = -5, Name = "Failure" }, new OrderStatus() { Id = -6, Name = "Freezed" } ); blder.Entity <OrderType>().HasData( new OrderType() { Id = -1, Minutes = 30, Name = "Very Urgent" }, new OrderType() { Id = -2, Minutes = 60, Name = "Urgent" }, new OrderType() { Id = -3, Minutes = 120, Name = "So-so" }, new OrderType() { Id = -4, Minutes = 240, Name = "Just be here today" } ); blder.Entity <User>() .HasData( new User { Id = "qwjehfpkjnvdpjwn3pro", Email = "*****@*****.**", UserName = "******" } ); blder.Entity <CompanyUser>() .HasData ( new CompanyUser() { CompanyId = -1, UserId = "1" }, new CompanyUser() { CompanyId = -1, UserId = "0" } ); blder.Entity <Service>() .HasData( new Service { Id = -1, Address = "Jopa mira", Image = "service", Name = "Fuckers and co.", Phone = "+38(095)233-46-21", About = "We are the most advanced company in service field and repairing. Our expierence - 3 years of quality work.", City = "Odessa" } ); blder.Entity <ServiceUser>() .HasData( new ServiceUser() { ServiceId = -1, UserId = "service" }, new ServiceUser() { ServiceId = -1, UserId = "worker" } ); blder.Entity <Message>().HasData( new Message() { Id = -1, UserId = "qwjehfpkjnvdpjwn3pro", ChatId = -1, Date = DateTime.Now, Text = "Hello, friend!" }, new Message() { Id = -2, UserId = "qwjehfpkjnvdpjwn3pro", ChatId = -1, Date = DateTime.Now, Text = "I just wanted to ask you something." } ); blder.Entity <Review>().HasData( new Review() { Id = -1, CompanyId = -1, Mark = 3, ServiceId = -1, Text = "Not too good, not too bad.", UserId = "1" } ); blder.Entity <DeviceType>() .HasData( new DeviceType() { Id = -1, Name = "Temperature" }, new DeviceType() { Id = -2, Name = "Pressure" } ); blder.Entity <Device>() .HasData( new Device() { Id = -1, Name = "1-st Beer Module", TypeId = -1, LocationId = -1 }, new Device() { Id = -2, Name = "2-nd Beer Module", TypeId = -2, LocationId = -1, ModuleId = -1 } ); Random random = new Random(); List <Metering> meterings = new List <Metering>(); for (int x = 1; x < 50; x++) { int day = random.Next(5, 10); int hour = random.Next(5, 10); int minute = random.Next(5, 10); int second = random.Next(5, 10); int deviceId = -((x % 2) + 1); Metering metering = new Metering() { Date = new DateTime(2019, 12, day, hour, minute, second), DeviceId = deviceId, Id = -x, Value = (float)random.Next(50, 100) }; meterings.Add(metering); } blder.Entity <Metering>() .HasData( meterings ); blder.Entity <Module>() .HasData( new Module() { Id = -1, LocationId = -1, Name = "Cooling block" } ); blder.Entity <Location>() .HasData(locations); blder.Entity <Pedal>() .HasData(pedals); blder.Entity <Guitar>() .HasData(guitars); blder.Entity <Amplifier>() .HasData(amps); }
public void GlobalGaugeTest() { var meter = Metering.GetGlobalMeter(); meter.Gauge("gauge-stat", 10); }
public void GlobalMeteringTest() { var meter = Metering.GetGlobalMeter(); meter.Meter("meter-stat"); }
public void TenantSpecificGaugeTest() { var meter = Metering.GetMeterForTenant(_tenant); meter.Gauge("tenant-gauge-stat", 10); }
public void BookingEngineMetricTest() { Metering.GetGlobalMeter().Meter("booking-meter"); Metering.GetGlobalMeter().Counter("booking-counter", 1); Metering.GetGlobalMeter().Gauge("booking-gauge", 10); }
public void TenantSpecificMeteringTest() { Metering.GetMeterForTenant(_tenant).Meter("meter-stat"); }