Example #1
0
        public void TestMixed()
        {
            var files = new[]
            {
                new FileSystemMetadata {
                    FullName = "Bad Boys (2006) part1.mkv", IsDirectory = false
                },
                new FileSystemMetadata {
                    FullName = "Bad Boys (2006) part2.mkv", IsDirectory = false
                },
                new FileSystemMetadata {
                    FullName = "300 (2006) part2", IsDirectory = true
                },
                new FileSystemMetadata {
                    FullName = "300 (2006) part3", IsDirectory = true
                },
                new FileSystemMetadata {
                    FullName = "300 (2006) part1", IsDirectory = true
                }
            };

            var result = StackResolver.Resolve(files, _namingOptions).ToList();

            Assert.Equal(2, result.Count);
            TestStackInfo(result[0], "300 (2006)", 3);
            TestStackInfo(result[1], "Bad Boys (2006)", 2);
        }
Example #2
0
        protected override void OnIntensiveSamplingStart()
        {
            int currentPid = Process.GetCurrentProcess().Id;
            var session    = new LiveSession(EventSpecification, new[] { currentPid }, includeKernelFrames: false);

            session.EventOccurred += OnEventOccurred;
            Task.Run(() => session.Start());
            Thread.Sleep(IntensiveSamplingDuration);
            session.Stop();

            WriteTraceLine($"Top {TopStacksToReport} stacks gathered during intensive sampling:");
            foreach (var stack in session.Stacks.TopStacks(TopStacksToReport, 0))
            {
                WriteTraceLine("");
                WriteTraceLine($"  {stack.Count,10}");
                foreach (var symbol in _resolver.Resolve(currentPid, stack.Addresses))
                {
                    WriteTraceLine("    " + symbol.ToString());
                }
            }
        }