示例#1
0
 public void MetricsChanged(MetricsDTO metrics)
 {
     ThroughputMin    = 0;
     ThroughputMax    = 1;
     Throughput       = metrics.Throughput;
     UpTime           = (int)metrics.UpTime.TotalMinutes;
     DownTime         = (int)metrics.DownTime.TotalMinutes;
     OverallItemCount = metrics.OverallItemCount;
 }
示例#2
0
        /// <summary>
        /// Raises the metrics changed event.
        /// </summary>
        /// <param name="oee">A value between 0 and 1 indicating the speedometer (for whatever metric).</param>
        protected internal void RaiseMetricsChangedEvent()
        {
            // callbacks will be raised in any case even if the state hasn't changed. to update WCF clients.
            if (EventRaiser != null)
            {
                var metrics = new MetricsDTO(
                    OverallItemCount,
                    Metrics.UpTime,
                    Metrics.DownTime,
                    Metrics.OverallEquipmentEfficiency);

                EventRaiser.Raise(ref MetricsChangedCallback, metrics);
            }
        }
示例#3
0
        public GtResult getResult(DataFeed feed, GtQueryDetails details)
        {
            string dimensionPrefix;
            string dimensionSufix;

            try
            {
                IList <AtomEntry> feedCollection = feed.Entries.ToList <AtomEntry>();
                GtResult          result         = new GtResult();
                //Uncomment this line to display also the name of the profileId requested.
                //result.AccountName = feed.DataSource.TableName;
                result.AccountTittle = details.Tittle;
                result.Metrics       = new List <MetricsDTO>();


                foreach (DataEntry entri in feedCollection)
                {
                    if (entri.Dimensions.Count != 0)
                    {
                        foreach (Metric metric in entri.Metrics)
                        {
                            List <String> dimensionValues = new List <String>();
                            for (int i = 0; i < entri.Dimensions.Count; i++)
                            {
                                dimensionPrefix = "";
                                dimensionSufix  = "";


                                if (i == 0)
                                {
                                    dimensionPrefix = ConfigurationManager.AppSettings["dimensionPrefix"];
                                }
                                if (i == entri.Dimensions.Count - 1)
                                {
                                    dimensionSufix = ConfigurationManager.AppSettings["dimensionSufix"];
                                }

                                dimensionValues.Add(dimensionPrefix + entri.Dimensions[i].Value + dimensionSufix);
                            }
                            MetricsDTO metricDTO = new MetricsDTO();
                            metricDTO.DimensionsValues = dimensionValues;
                            metricDTO.MetricValue      = Math.Round(metric.FloatValue, 2);
                            metricDTO.MetricName       = metric.Name.Replace("ga:", "") + ConfigurationManager.AppSettings["metricSufix"];
                            result.Metrics.Add(metricDTO);
                        }
                    }
                    else
                    {
                        foreach (Metric metric in entri.Metrics)
                        {
                            MetricsDTO metricDTO = new MetricsDTO();
                            metricDTO.MetricValue = Math.Round(metric.FloatValue, 2);
                            metricDTO.MetricName  = metric.Name.Replace("ga:", "");
                            result.Metrics.Add(metricDTO);
                        }
                    }
                }
                return(result);
            }
            catch (GDataRequestException ex)
            {
                throw ex;
            }
        }