예제 #1
0
        public void SetStatus_Sets_Appropriate_Status(
            MetricStatus status1,
            MetricStatus status2,
            MetricStatus status3,
            MetricStatus status4,
            NodeStatus expectedStatus)
        {
            var node = new ClusterNode
            {
                Metrics = new List <Metric>
                {
                    new Metric {
                        Status = status1
                    },
                    new Metric {
                        Status = status2
                    },
                    new Metric {
                        Status = status3
                    },
                    new Metric {
                        Status = status4
                    },
                }
            };

            node.SetStatus();

            node.Status.Should().Be(expectedStatus);
        }
예제 #2
0
        public void SetStatus(IEnumerable <Threshold> thresholds)
        {
            var threshold = thresholds.FirstOrDefault(t => string.Compare(t.MetricKey, Key, StringComparison.InvariantCultureIgnoreCase) == 0);

            if (threshold == null)
            {
                return;
            }

            var dangerVal = (IComparable)threshold.DangerValue;
            var warnVal   = (IComparable)threshold.WarnValue;
            var metricVal = (IComparable)Value;

            if (metricVal.CompareTo(dangerVal) >= 0)
            {
                Status = MetricStatus.Danger;
                return;
            }

            if (metricVal.CompareTo(warnVal) >= 0)
            {
                Status = MetricStatus.Warn;
                return;
            }

            Status = MetricStatus.Good;
        }
예제 #3
0
 public void SaveMetric(MetricStatus metrics)
 {
     using (var sqlconn = new SQLiteConnection(EnvironmentHelper.GetValue(DictionaryConstants.DatabaseConnectionString)))
     {
         sqlconn.Open();
         try
         {
             var sqlcom = new SQLiteCommand($"UPDATE MachinesConsume " +
                                            $"SET CpuUsage = {metrics.CpuUsage}, " +
                                            $"MemoryUsage = {metrics.MemoryUsage} " +
                                            $"WHERE MachineName = '{metrics.MachineName}'", sqlconn);
             sqlcom.ExecuteNonQuery();
         }
         finally
         {
             sqlconn.Close();
             sqlconn.Dispose();
         }
     }
 }
예제 #4
0
        public void SetStatus_Sets_Appropriate_Status(
            MetricStatus status1,
            MetricStatus status2,
            MetricStatus status3,
            MetricStatus status4,
            ClusterStatus expectedStatus)
        {
            var cluster = new Cluster
            {
                Nodes = new List <ClusterNode>
                {
                    new ClusterNode
                    {
                        Metrics = new List <Metric>
                        {
                            new Metric {
                                Status = status1
                            },
                            new Metric {
                                Status = status2
                            },
                            new Metric {
                                Status = status3
                            },
                            new Metric {
                                Status = status4
                            },
                        }
                    }
                }
            };

            cluster.SetStatus();

            cluster.Status.Should().Be(expectedStatus);
        }
 private static void WriteHeaderCsv(TextWriter streamWriter)
 => streamWriter.WriteLine(MetricStatus.GetCsvHeader());
 public MetricService(IMetrics metrics, MetricsRegistry metricsRegistry)
 {
     _metrics         = metrics;
     _metricsRegistry = metricsRegistry;
     _metricStatus    = MetricStatus.Create();
 }
 public MetricService(/*IMetrics metrics, MetricsRegistry metricsRegistry*/)
 {
     // _metrics = metrics;
     // _metricsRegistry = metricsRegistry;
     _metricStatus = MetricStatus.Create();
 }