示例#1
0
        public void RunDebugging()
        {
            var svge = new SvgExport();

            foreach (var zip in FindZips(_dirIn))
            {
                _logger.Info(@"Opening {0} ...", zip);
                var intervals = InitTransformer().TransformFile(zip).ToList();
                _logger.Info(@"Found {0} intervals.", intervals.Count);


                var userId        = zip.Substring(_dirIn.Length, zip.Length - _dirIn.Length - 4); // strip baseDir and extension
                var svgFile       = _dirSvg + userId + ".svg";
                var relEventsFile = userId + ".txt";
                var wdFilesFolder = _dirWd + userId;

                _logger.Info(@"Dumping Event Stream ... ({0})", relEventsFile);
                WriteEventStream(zip, relEventsFile);

                _logger.Info(@"Converting to WD format ... ({0})", wdFilesFolder);
                WatchdogExporter.Convert(intervals).WriteToFiles(wdFilesFolder);

                _logger.Info(@"Now exporting .svg files for debugging ...");
                svge.Run(Lists.NewListFrom(intervals), svgFile);
            }
        }
示例#2
0
        public void CreatesProjectObjectForEachProjectId()
        {
            var i1 = new VisualStudioOpenedInterval {
                Project = "a"
            };
            var i2 = new VisualStudioOpenedInterval {
                Project = "a"
            };
            var i3 = new VisualStudioOpenedInterval {
                Project = "b"
            };

            var data = WatchdogExporter.Convert(new Interval[] { i1, i2, i3 });

            Assert.AreEqual(2, data.Projects.Count);
        }
示例#3
0
        public void CreatesIntervalObjectForEachInterval()
        {
            var i1 = new VisualStudioOpenedInterval {
                UserId = "a"
            };
            var i2 = new VisualStudioOpenedInterval {
                UserId = "a"
            };
            var i3 = new VisualStudioOpenedInterval {
                UserId = "b"
            };

            var data = WatchdogExporter.Convert(new Interval[] { i1, i2, i3 });

            Assert.AreEqual(3, data.Intervals.Count);
        }
示例#4
0
        public void RunTransformation()
        {
            var transformer = InitTransformer();

            Console.Write(@"Finding Zips... ");
            var zips = FindZips(_dirIn);

            Console.WriteLine(@"found {0}.", zips.Length);

            var total = zips.Length;
            var cur   = 0;

            var intervals = zips.SelectMany(
                zip =>
            {
                Console.WriteLine();
                Console.WriteLine(new string('#', 60));
                var proc     = 100 * cur / (double)total;
                var size     = new FileInfo(zip).Length;
                var sizeInMb = size / (1024 * 1024);
                Console.WriteLine(
                    @"Transforming .zip {0}/{1} ({2:0.0}% done): {3} [{4:0.0}MB]...",
                    ++cur,
                    total,
                    proc,
                    zip,
                    sizeInMb);
                var intervalsForFile = transformer.TransformFile(zip).ToList();
                Console.WriteLine(@"--> Extracted {0} intervals.", intervalsForFile.Count);
                return(intervalsForFile);
            }).ToList();

            Console.WriteLine();
            Console.WriteLine(new string('#', 60));
            Console.WriteLine(@"Found {0} intervals, converting to WatchDog Data...", intervals.Count);
            var data = WatchdogExporter.Convert(intervals);

            Console.WriteLine(@"Wrtiting...");
            data.WriteToFiles(_dirWd);
        }