예제 #1
0
 /// <summary>
 /// Create an instance of <see cref="HostingTraceRecordParser"/>
 /// </summary>
 /// <param name="traceRecordSession"></param>
 public QueryStoreTraceRecordParser(TraceRecordSession traceRecordSession) : base(traceRecordSession)
 {
     this.knownTraceRecords = new List <TraceRecord>
     {
         new ProcessUnexpectedTerminationTraceRecord(null),
         new OperationTraceRecord(null),
         new ApplicationHostTerminatedTraceRecord(null),
         new OperationIgnoredTraceRecord(null),
         new BeginReportFaultTraceRecord(null),
         new ApiReportFaultTraceRecord(null),
         new ReportFaultTraceRecord(null),
         new ReplicaStateChangeTraceRecord(null)
     };
 }
예제 #2
0
        // public static IDisposable dispose;

        static void Main(string[] args)
        {
            //azureSession = new ServiceFabricAzureTableRecordSession(
            //    "winfablrc",
            //    "<key>",
            //    true,
            //    "vipinchaos1logsqt",
            //    null);

            var files = Directory.EnumerateFiles(@"E:\crm_duplicate\OperationalTraces\", "*.etl");

            azureSession = new EtwTraceRecordSession(files.ToList());

            var parser = new EventStoreTraceRecordParser(azureSession);

            parser.SubscribeAsync(typeof(ReconfigurationCompletedTraceRecord), Parser_HandleRecord, CancellationToken.None).GetAwaiter().GetResult();
            parser.SubscribeAsync(typeof(NodeOpenedFailedTraceRecord), Parser_HandleRecord, CancellationToken.None).GetAwaiter().GetResult();

            azureSession.StartReadingAsync(DateTimeOffset.UtcNow - TimeSpan.FromDays(500), DateTimeOffset.UtcNow, CancellationToken.None).GetAwaiter().GetResult();

            Console.WriteLine("Record Count " + collect.Count);

            Console.Read();
        }
 protected override ITraceRecordParser GetParser(TraceRecordSession traceSession)
 {
     return(new EventStoreTraceRecordParser(traceSession));
 }
 /// <summary>
 /// Create an instance of <see cref="HostingTraceRecordParser"/>
 /// </summary>
 /// <param name="traceSession"></param>
 public HostingTraceRecordParser(TraceRecordSession traceSession) : base(traceSession)
 {
     this.knownTraceRecords = new List <TraceRecord> {
         new ProcessUnexpectedTerminationTraceRecord(null)
     };
 }
예제 #5
0
        public EventStoreTraceRecordParser(TraceRecordSession traceSession) : base(traceSession)
        {
            this.knownTraceRecords = new List <TraceRecord>
            {
                // FM Node Events
                new NodeUpTraceRecord(null),
                new NodeDownTraceRecord(null),
                new NodeAddedTraceRecord(null),
                new NodeRemovedTraceRecord(null),
                new NodeDeactivateStartTraceRecord(null),
                new NodeDeactivateCompleteTraceRecord(null),
                new NodeOpenedSuccessTraceRecord(null),
                new NodeOpenedFailedTraceRecord(null),
                new NodeClosedTraceRecord(null),
                new NodeAbortedTraceRecord(null),

                // App Events.
                new ApplicationCreatedTraceRecord(null),
                new ApplicationDeletedTraceRecord(null),
                new ApplicationUpgradeStartTraceRecord(null),
                new ApplicationUpgradeCompleteTraceRecord(null),
                new ApplicationUpgradeDomainCompleteTraceRecord(null),
                new ApplicationUpgradeRollbackStartTraceRecord(null),
                new ApplicationUpgradeRollbackCompleteTraceRecord(null),

                // CM Events.
                new ClusterUpgradeStartTraceRecord(null),
                new ClusterUpgradeCompleteTraceRecord(null),
                new ClusterUpgradeDomainCompleteTraceRecord(null),
                new ClusterUpgradeRollbackStartTraceRecord(null),
                new ClusterUpgradeRollbackCompleteTraceRecord(null),

                // Service Events from FM.
                new ServiceCreatedTraceRecord(null),
                new ServiceDeletedTraceRecord(null),

                // Health Events.
                new ApplicationHealthReportCreatedTraceRecord(null),
                new ApplicationHealthReportExpiredTraceRecord(null),
                new ClusterHealthReportCreatedTraceRecord(null),
                new ClusterHealthReportExpiredTraceRecord(null),
                new DeployedApplicationHealthReportCreatedTraceRecord(null),
                new DeployedApplicationHealthReportExpiredTraceRecord(null),
                new DeployedServiceHealthReportCreatedTraceRecord(null),
                new DeployedServiceHealthReportExpiredTraceRecord(null),
                new NodeHealthReportCreatedTraceRecord(null),
                new NodeHealthReportExpiredTraceRecord(null),
                new PartitionHealthReportCreatedTraceRecord(null),
                new PartitionHealthReportExpiredTraceRecord(null),
                new ServiceHealthReportCreatedTraceRecord(null),
                new ServiceHealthReportExpiredTraceRecord(null),
                new StatefulReplicaHealthReportCreatedTraceRecord(null),
                new StatefulReplicaHealthReportExpiredTraceRecord(null),
                new StatelessReplicaHealthReportCreatedTraceRecord(null),
                new StatelessReplicaHealthReportExpiredTraceRecord(null),

                // Hosting Events.
                new ContainerExitedTraceRecord(null),
                new ProcessExitedTraceRecord(null),

                // Partition
                new ReconfigurationCompletedTraceRecord(null),
                new PrimaryMoveAnalysisTraceRecord(null),

                // CorrelationTraceRecord
                new CorrelationTraceRecord(null),

                // Chaos Events
                new ChaosStartedTraceRecord(null),
                new ChaosStoppedTraceRecord(null),
                new ChaosMovePrimaryFaultScheduledTraceRecord(null),
                new ChaosMoveSecondaryFaultScheduledTraceRecord(null),
                new ChaosRemoveReplicaFaultScheduledTraceRecord(null),
                new ChaosRestartCodePackageFaultScheduledTraceRecord(null),
                new ChaosRestartNodeFaultScheduledTraceRecord(null),
                new ChaosRestartReplicaFaultScheduledTraceRecord(null)
            };
        }
예제 #6
0
 protected BaseTraceRecordParser(TraceRecordSession traceSession)
 {
     this.TraceSession = traceSession ?? throw new ArgumentNullException("traceSession");
 }
예제 #7
0
 /// <summary>
 /// Get the Parser Object
 /// </summary>
 /// <param name="traceSession"></param>
 /// <returns></returns>
 protected abstract ITraceRecordParser GetParser(TraceRecordSession traceSession);