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"); }
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)); }); }
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()); }
public void FileOpenShouldLoadAValidPath() { var ftdc = new FTDCFile(@"diagnostic.data\metrics.2020-01-02T11-02-43Z-00000"); ftdc.Contents.Count.ShouldNotBe(0); }