Ejemplo n.º 1
0
        public Dictionary <string, SpanSet> CollectEvidences()
        {
            var result = new Dictionary <string, SpanSet>(StringComparer.OrdinalIgnoreCase);

            foreach (var record in _records)
            {
                SpanSet spans;
                if (!result.TryGetValue(record.Path, out spans))
                {
                    spans = new SpanSet()
                    {
                        Time = record.Time
                    };
                    result.Add(record.Path, spans);
                    continue;
                }

                var idle = spans.Time - record.Time;
                spans.Time = record.Time;

                int span = Mat.Span(idle.TotalHours);
                if (span < Info.SpanCount)
                {
                    ++spans.Spans[span];
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public Dictionary<string, SpanSet> CollectEvidences()
        {
            var result = new Dictionary<string, SpanSet>(StringComparer.OrdinalIgnoreCase);
            var set1 = new SpanSet();

            foreach (var record in _records)
            {
                SpanSet set2;
                if (!result.TryGetValue(record.Path, out set2))
                {
                    set2 = new SpanSet() { Time = record.Time };
                    result.Add(record.Path, set2);
                    continue;
                }

                var idle = set2.Time - record.Time;
                set2.Time = record.Time;

                int span = Mat.EvidenceSpan(idle.TotalHours, Info.SpanScale);
                if (span < Info.SpanCount)
                {
                    ++set1.Spans[span];
                    ++set2.Spans[span];
                }
            }

            result.Add(string.Empty, set1);
            return result;
        }