Beispiel #1
0
        public void ParsedFTDCFileShouldContainTimespan()
        {
            var ftdc = new FTDCFile(@"diagnostic.data\metrics.2020-01-02T11-02-43Z-00000");

            ftdc.MetricsStart.ToString().ShouldBe("1/2/2020 11:02:43 AM");
            ftdc.MetricsEnd.ToString().ShouldBe("1/2/2020 3:19:56 PM");
        }
Beispiel #2
0
        private static void Main(string[] args)
        {
            args = new string[] {
                "-v", "true",
                "-f",
                @"C:\Temp\metrics.2019-12-22T17-34-22Z-00000",
                //@"C:\Users\Administrator\source\repos\MongoDB.FTDC\MongoDB.FTDC.Parser.Tests\diagnostic.data\metrics.2020-01-02T11-02-43Z-00000",
                "--limit-samples", "1",
                "--skip-zero-samples", "true"
            };

            CommandLine.Parser.Default.ParseArguments <Options>(args)
            .WithParsed <Options>(o =>
            {
                var ftdc = new FTDCFile(o.Filename);

                if (o.Verbose)
                {
                    Console.WriteLine("MongoDB FTDC Parser");
                    Console.WriteLine($"FTDC Samples: {ftdc.Contents.Count}");
                    Console.WriteLine($"Metrics Begin: {ftdc.MetricsStart}");
                    Console.WriteLine($"Metrics End:   {ftdc.MetricsEnd}");
                    var details = ftdc.Contents.First(d => d.type == 0).DocAsJson();
                    PrintFlattenedJson(details, o);
                }

                var q = ftdc.Contents.Where(d => d.type == 1);
                if (o.LimitSamples > 0)
                {
                    q = q.Take(o.LimitSamples);
                }
                q.ToList().ForEach(x => PrintFlattenedJson(x.DataAsJson(), o));
            });
        }
Beispiel #3
0
        public void ParsedFTDCFileShouldDecodeData()
        {
            var ftdc = new FTDCFile(@"diagnostic.data\metrics.2020-01-02T11-02-43Z-00000");

            ftdc.Contents.Count.ShouldNotBe(0);

            Should.NotThrow(() => ftdc.Contents[1].DecompressData());
        }
Beispiel #4
0
        public void FileOpenShouldLoadAValidPath()
        {
            var ftdc = new FTDCFile(@"diagnostic.data\metrics.2020-01-02T11-02-43Z-00000");

            ftdc.Contents.Count.ShouldNotBe(0);
        }