public void NodeMetrics_MetricValues_must_extract_expected_metrics_for_load_balancing() { var stream1 = Convert.ToInt64(_node1.Metric(StandardMetrics.SystemMemoryMax).Value); var stream2 = Convert.ToInt64(_node2.Metric(StandardMetrics.SystemMemoryAvailable).Value); Assert.True(stream1 >= stream2); }
Decompose(NodeMetrics nodeMetrics) { var used = nodeMetrics.Metric(MemoryUsed); var available = nodeMetrics.Metric(MemoryAvailable); if (!used.HasValue || !available.HasValue) return Option<(Actor.Address, long, double, double, Option<double>)>.None; return ( nodeMetrics.Address, nodeMetrics.Timestamp, used.Value.SmoothValue, available.Value.SmoothValue, nodeMetrics.Metric(MaxMemoryRecommended).Select(v => v.SmoothValue) ); }
public void NodeMetrics_MetricValues_should_extract_expected_metrics_for_load_balancing() { var stream1 = _node2.Metric(StandardMetrics.MemoryAvailable).Value.Value.LongValue; var stream2 = _node1.Metric(StandardMetrics.MemoryUsed).Value.Value.LongValue; stream1.Should().BeGreaterOrEqualTo(stream2); }
/// <summary> /// Given a NodeMetrics it returns the Cpu data if the nodeMetrics contains necessary heap metrics. /// </summary> /// <returns>If possible a tuple matching the Cpu constructor parameters</returns> public static Option<(Actor.Address Address, long Timestamp, double CpuProcessUsage, double CpuTotalUsage, int Processors)> Decompose(NodeMetrics nodeMetrics) { var processors = nodeMetrics.Metric(Processors); var cpuProcessUsage = nodeMetrics.Metric(CpuProcessUsage); var cpuTotalUsage = nodeMetrics.Metric(CpuTotalUsage); if (!processors.HasValue || !cpuProcessUsage.HasValue || !cpuTotalUsage.HasValue) return Option<(Actor.Address, long, double, double, int)>.None; return ( nodeMetrics.Address, nodeMetrics.Timestamp, cpuProcessUsage.Value.SmoothValue, cpuTotalUsage.Value.SmoothValue, (int)processors.Value.Value.LongValue ); }