internal static StatelessServiceLoadMetricDescription ParseStatelessMetric(string metricStr) { StatelessServiceLoadMetricDescription desc; string[] metricFields = metricStr.Split(',', ' '); if (metricFields.Length != 3 && metricFields.Length != 4) { throw new ArgumentException(StringResources.Error_InvalidMetricSpecification); } int defaultLoad; if (!int.TryParse(metricFields[2], out defaultLoad)) { throw new ArgumentException(StringResources.Error_InvalidMetricSpecification); } desc = new StatelessServiceLoadMetricDescription() { Name = metricFields[0], Weight = ParseWeight(metricFields[1]), DefaultLoad = defaultLoad }; return(desc); }
internal StatelessServiceDescription GetStatelessDescription(Job j) { var ser = JsonSerializer.Create(); var sw = new StringWriter(); ser.Serialize(sw, j); var desc = new StatelessServiceDescription() { ApplicationName = new Uri("fabric:/Compute2"), DefaultMoveCost = MoveCost.High, ServiceName = new Uri(string.Format("fabric:/Compute2/ComputeInstance{0}", System.DateTime.Now.Ticks)), ServiceTypeName = "StatelessComputeServiceType", PartitionSchemeDescription = new SingletonPartitionSchemeDescription(), InstanceCount = 1, InitializationData = Encoding.UTF8.GetBytes(sw.ToString()) }; var metric = new StatelessServiceLoadMetricDescription() { DefaultLoad = 1, Name = "TCU", Weight = ServiceLoadMetricWeight.Medium }; desc.Metrics.Add(metric); return(desc); }
public static StatelessServiceLoadMetricDescription GetClone(this StatelessServiceLoadMetricDescription other) { if (other == null) { return(null); } return(new StatelessServiceLoadMetricDescription() { Name = other.Name, DefaultLoad = other.DefaultLoad, Weight = other.Weight }); }
public static ServiceLoadMetricDescription GetClone(this ServiceLoadMetricDescription other) { if (other == null) { return(null); } ServiceLoadMetricDescription casted; if (other is StatefulServiceLoadMetricDescription) { casted = new StatefulServiceLoadMetricDescription(other as StatefulServiceLoadMetricDescription); } else if (other is StatelessServiceLoadMetricDescription) { casted = new StatelessServiceLoadMetricDescription(other as StatelessServiceLoadMetricDescription); } else { casted = new ServiceLoadMetricDescription(other); } return(casted); }