コード例 #1
0
        public TraceTreeNode GetTraceViewModel(TraceGroupViewModel tg)
        {
            TraceTreeNode vm = null;

            using (new DebugTracer("GetTraceViewModel"))
            {
                var items = this.Repository.GetTraceItems(tg);
                if (items.Count > 0)
                {
                    using (new DebugTracer("FixLooseEnds"))
                    {
                        FixLooseEnds(items);
                    }
                    using (new DebugTracer("CreateTreeNodeViewModel"))
                    {
                        vm = CreateTreeNodeViewModel(items);
                    }
                }
            }
            using (new DebugTracer("FilterThresholds"))
            {
                FilterThresholds(vm, tg);
            }
            return(vm);
        }
コード例 #2
0
 public List <string> GetTraceList(TraceGroupViewModel group)
 {
     lock (items)
     {
         return(items
                .Where(x => x.EventDate >= group.StartDate && x.EventDate <= group.EndDate)
                .Select(x => x.GroupKey).Distinct().ToList());
     }
 }
コード例 #3
0
        private void LoadData()
        {
            this.tg = services.GetTraceGroupViewModel();

            this.comboBox1.DataBindings.Add(new Binding("Text", this.bsTraceGroup, "GroupKey", true, DataSourceUpdateMode.OnPropertyChanged));
            this.textBox1.DataBindings.Add(new Binding("Text", this.bsTraceGroup, "ThresholdMilliseconds", true));
            this.comboBox1.DataBindings.Add(new Binding("Enabled", this.bsTraceGroup, "IsNotRunning", true, DataSourceUpdateMode.Never));
            this.dateTimePicker1.DataBindings.Add(new Binding("Value", this.bsTraceGroup, "StartDate", true));
            this.dateTimePicker2.DataBindings.Add(new Binding("Value", this.bsTraceGroup, "EndDate", true));

            this.bsTraceGroup.DataSource = tg;
        }
コード例 #4
0
        private void LoadData()
        {
            tg = new TraceGroupViewModel
            {
                StartDate = DateTime.Today,
                EndDate   = DateTime.Today.AddDays(1),
                UserKey   = string.Empty,
                GroupKey  = string.Empty
            };

            this.comboBox1.DataBindings.Add(new Binding("Text", this.bsTraceGroup, "GroupKey", true, DataSourceUpdateMode.OnPropertyChanged));
            this.textBox1.DataBindings.Add(new Binding("Text", this.bsTraceGroup, "ThresholdMilliseconds", true));
            this.comboBox1.DataBindings.Add(new Binding("Enabled", this.bsTraceGroup, "IsNotRunning", true, DataSourceUpdateMode.Never));
            this.dateTimePicker1.DataBindings.Add(new Binding("Value", this.bsTraceGroup, "StartDate", true));
            this.dateTimePicker2.DataBindings.Add(new Binding("Value", this.bsTraceGroup, "EndDate", true));
            bsTraceGroup.DataSource = tg;
        }
コード例 #5
0
 public List <string> GetTraceList(TraceGroupViewModel group)
 {
     using (var context = new TraceDataContext())
     {
         return(context.TestTraceLogs
                .Where(x =>
                       x.UserKey.Contains(group.UserKey)
                       &&
                       x.HostName.Contains(group.HostName)
                       &&
                       x.EventDate >= group.StartDate
                       &&
                       x.EventDate <= group.EndDate)
                .Select(x => x.GroupKey)
                .Distinct()
                .ToList());
     }
 }
コード例 #6
0
 public List <TraceItem> GetTraceItems(TraceGroupViewModel group)
 {
     lock (items)
     {
         using (new DebugTracer("GetTraceItems"))
         {
             return(items
                    .Where(x =>
                           x.GroupKey == group.GroupKey &&
                           x.EventDate >= group.StartDate &&
                           x.EventDate <= group.EndDate)
                    .OrderBy(x => x.GroupKey)
                    .ThenBy(x => x.EventDate)
                    .ThenBy(x => x.TraceOrderBy)
                    .ToList());
         }
     }
 }
コード例 #7
0
        private void FilterThresholds(TraceTreeNode vm, TraceGroupViewModel tg)
        {
            if (vm != null && tg.ThresholdMilliseconds > 0)
            {
                bool blnRet = false;

                if (vm.TraceNode.TimeTakenMilliseconds < tg.ThresholdMilliseconds)
                {
                    if (HasNoException(vm))
                    {
                        blnRet = vm.Remove();
                    }
                }
                if (!blnRet)
                {
                    for (var i = vm.Nodes.Count - 1; i >= 0; i--)
                    {
                        FilterThresholds(vm.Nodes[i] as TraceTreeNode, tg);
                    }
                }
            }
        }
コード例 #8
0
 public List <TraceItem> GetTraceItems(TraceGroupViewModel group)
 {
     using (var context = new TraceDataContext())
     {
         return(context.TestTraceLogs
                .Where(x =>
                       x.GroupKey == group.GroupKey
                       &&
                       x.UserKey.Contains(group.UserKey)
                       &&
                       x.HostName.Contains(group.HostName)
                       &&
                       x.EventDate >= group.StartDate
                       &&
                       x.EventDate <= group.EndDate)
                .OrderBy(x => x.GroupKey)
                .ThenBy(x => x.EventDate)
                .ThenBy(x => x.TraceOrderBy)
                .Select(x => new TraceItem {
             EventDate = x.EventDate,
             EventDescription = x.EventDescription,
             EventType = x.EventType,
             GroupKey = x.GroupKey,
             TraceKey = x.TraceKey,
             TraceOrderBy = x.TraceOrderBy,
             UserKey = x.UserKey,
             AssemblyName = x.AssemblyName,
             CurrentTick = x.CurrentTick,
             IsException = x.IsException,
             MemoryUsage = x.MemoryUsage,
             Parameters = x.Parameters,
             HostName = x.HostName
         })
                .ToList());
     }
 }
コード例 #9
0
 public List <TraceItem> GetTraceItems(TraceGroupViewModel group)
 {
     return(XmlUtil.Deserialize <List <TraceItem> >(File.ReadAllText(fileName)));
 }
コード例 #10
0
 public List <string> GetTraceList(TraceGroupViewModel group)
 {
     return(new List <string> {
         "Test"
     });
 }
コード例 #11
0
 public List <string> GetTraceList(TraceGroupViewModel tg)
 {
     return(this.Repository.GetTraceList(tg));
 }