Esempio n. 1
0
 public void Apply(StatisticReceived @event)
 {
     UpdateCounts(@event);
     UpdateTimestamps(@event);
     UpdateGraphs(@event);
     UpdateConditions(@event);
 }
Esempio n. 2
0
        public void Apply(StatisticReceived @event, bool active)
        {
            if (active)
            {
                LastActive = Latest(LastActive, @event.Timestamp);
            }
            else
            {
                LastInactive = Latest(LastInactive, @event.Timestamp);
            }

            var groupTime = Truncate(@event.Timestamp);

            QueryGraph.TryGetValue(groupTime, out var queryCount);
            QueryGraph[groupTime] = ++queryCount;

            if (active)
            {
                ActiveGraph.TryGetValue(groupTime, out var activeCount);
                ActiveGraph[groupTime] = ++activeCount;
            }
            else
            {
                InactiveGraph.TryGetValue(groupTime, out var inactiveCount);
                InactiveGraph[groupTime] = ++inactiveCount;
            }
        }
Esempio n. 3
0
        private void UpdateCounts(StatisticReceived @event)
        {
            TotalQueries++;

            if (@event.Active)
            {
                ActiveQueries++;
            }

            ActivePercentage = (int)((100M / TotalQueries) * ActiveQueries);
        }
Esempio n. 4
0
        private void UpdateConditions(StatisticReceived @event)
        {
            foreach (var state in @event.ConditionStates)
            {
                if (Conditions.TryGetValue(state.Key, out var view) == false)
                {
                    Conditions[state.Key] = view = new ConditionStatisticView();
                }

                view.Apply(@event, state.Value);
            }
        }
Esempio n. 5
0
        private void UpdateTimestamps(StatisticReceived @event)
        {
            LastQueried = Latest(LastQueried, @event.Timestamp);

            if (@event.Active)
            {
                LastActive = Latest(LastActive, @event.Timestamp);
            }
            else
            {
                LastInactive = Latest(LastInactive, @event.Timestamp);
            }
        }
Esempio n. 6
0
        private void UpdateGraphs(StatisticReceived @event)
        {
            var groupTime = Truncate(@event.Timestamp);

            QueryGraph.TryGetValue(groupTime, out var queryCount);
            QueryGraph[groupTime] = ++queryCount;

            if (@event.Active)
            {
                ActiveGraph.TryGetValue(groupTime, out var activeCount);
                ActiveGraph[groupTime] = ++activeCount;
            }
            else
            {
                InactiveGraph.TryGetValue(groupTime, out var inactiveCount);
                InactiveGraph[groupTime] = ++inactiveCount;
            }
        }