private ActivityScheduledQuery Match(ActivityScheduledRecord activityScheduledRecord)
        {
            ActivityScheduledQuery query = null;

            if (this.activityScheduledSubscriptions != null)
            {
                for (int i = 0; i < this.activityScheduledSubscriptions.Count; i++)
                {
                    string strB = (activityScheduledRecord.Activity == null) ? null : activityScheduledRecord.Activity.Name;
                    if (string.CompareOrdinal(this.activityScheduledSubscriptions[i].ActivityName, strB) == 0)
                    {
                        if (!CheckSubscription(this.activityScheduledSubscriptions[i].ChildActivityName, activityScheduledRecord.Child.Name))
                        {
                            continue;
                        }
                        query = this.activityScheduledSubscriptions[i];
                        break;
                    }
                    if ((string.CompareOrdinal(this.activityScheduledSubscriptions[i].ActivityName, "*") == 0) && CheckSubscription(this.activityScheduledSubscriptions[i].ChildActivityName, activityScheduledRecord.Child.Name))
                    {
                        query = this.activityScheduledSubscriptions[i];
                        break;
                    }
                }
            }
            if (((query == null) || (this.associatedProfile.ImplementationVisibility != ImplementationVisibility.RootScope)) || (this.ShouldTrackActivity(activityScheduledRecord.Activity, query.ActivityName) && this.ShouldTrackActivity(activityScheduledRecord.Child, query.ChildActivityName)))
            {
                return(query);
            }
            return(null);
        }
 private void TrackActivityScheduledRecord(ActivityScheduledRecord scheduledRecord)
 {
     if (EtwTrackingParticipantTrackRecords.ActivityScheduledRecordIsEnabled(this.diagnosticTrace) && !EtwTrackingParticipantTrackRecords.ActivityScheduledRecord(this.diagnosticTrace, scheduledRecord.InstanceId, scheduledRecord.RecordNumber, scheduledRecord.EventTime.ToFileTime(), (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.Name, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.Id, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.InstanceId, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.TypeName, scheduledRecord.Child.Name, scheduledRecord.Child.Id, scheduledRecord.Child.InstanceId, scheduledRecord.Child.TypeName, scheduledRecord.HasAnnotations ? PrepareAnnotations(scheduledRecord.Annotations) : "<items />", (this.TrackingProfile == null) ? string.Empty : this.TrackingProfile.Name, this.ApplicationReference))
     {
         if (EtwTrackingParticipantTrackRecords.ActivityScheduledRecord(this.diagnosticTrace, scheduledRecord.InstanceId, scheduledRecord.RecordNumber, scheduledRecord.EventTime.ToFileTime(), (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.Name, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.Id, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.InstanceId, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.TypeName, scheduledRecord.Child.Name, scheduledRecord.Child.Id, scheduledRecord.Child.InstanceId, scheduledRecord.Child.TypeName, "<items>...</items>", (this.TrackingProfile == null) ? string.Empty : this.TrackingProfile.Name, this.ApplicationReference))
         {
             this.TraceTrackingRecordTruncated(scheduledRecord.RecordNumber);
         }
         else
         {
             this.TraceTrackingRecordDropped(scheduledRecord.RecordNumber);
         }
     }
 }
Ejemplo n.º 3
0
        private ActivityScheduledQuery Match(ActivityScheduledRecord activityScheduledRecord)
        {
            ActivityScheduledQuery query = null;

            if (this.activityScheduledSubscriptions != null)
            {
                for (var i = 0; i < this.activityScheduledSubscriptions.Count; i++)
                {
                    //check specific and then generic
                    var activityName = activityScheduledRecord.Activity == null ? null : activityScheduledRecord.Activity.Name;
                    if (string.CompareOrdinal(this.activityScheduledSubscriptions[i].ActivityName, activityName) == 0)
                    {
                        if (CheckSubscription(this.activityScheduledSubscriptions[i].ChildActivityName, activityScheduledRecord.Child.Name))
                        {
                            query = this.activityScheduledSubscriptions[i];
                            break;
                        }
                    }
                    else if (string.CompareOrdinal(this.activityScheduledSubscriptions[i].ActivityName, "*") == 0)
                    {
                        if (CheckSubscription(this.activityScheduledSubscriptions[i].ChildActivityName, activityScheduledRecord.Child.Name))
                        {
                            query = this.activityScheduledSubscriptions[i];
                            break;
                        }
                    }
                }
            }

            if ((query != null) && (this.associatedProfile.ImplementationVisibility == ImplementationVisibility.RootScope))
            {
                if ((!ShouldTrackActivity(activityScheduledRecord.Activity, query.ActivityName)) ||
                    (!ShouldTrackActivity(activityScheduledRecord.Child, query.ChildActivityName)))
                {
                    return(null);
                }
            }

            return(query);
        }
Ejemplo n.º 4
0
 private ActivityScheduledRecord(ActivityScheduledRecord record)
     : base(record)
 {
     this.Activity = record.Activity;
     this.Child    = record.Child;
 }
 private void TrackActivityScheduledRecord(ActivityScheduledRecord scheduledRecord)
 {
     if (EtwTrackingParticipantTrackRecords.ActivityScheduledRecordIsEnabled(this.diagnosticTrace) && !EtwTrackingParticipantTrackRecords.ActivityScheduledRecord(this.diagnosticTrace, scheduledRecord.InstanceId, scheduledRecord.RecordNumber, scheduledRecord.EventTime.ToFileTime(), (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.Name, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.Id, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.InstanceId, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.TypeName, scheduledRecord.Child.Name, scheduledRecord.Child.Id, scheduledRecord.Child.InstanceId, scheduledRecord.Child.TypeName, scheduledRecord.HasAnnotations ? PrepareAnnotations(scheduledRecord.Annotations) : "<items />", (this.TrackingProfile == null) ? string.Empty : this.TrackingProfile.Name, this.ApplicationReference))
     {
         if (EtwTrackingParticipantTrackRecords.ActivityScheduledRecord(this.diagnosticTrace, scheduledRecord.InstanceId, scheduledRecord.RecordNumber, scheduledRecord.EventTime.ToFileTime(), (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.Name, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.Id, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.InstanceId, (scheduledRecord.Activity == null) ? string.Empty : scheduledRecord.Activity.TypeName, scheduledRecord.Child.Name, scheduledRecord.Child.Id, scheduledRecord.Child.InstanceId, scheduledRecord.Child.TypeName, "<items>...</items>", (this.TrackingProfile == null) ? string.Empty : this.TrackingProfile.Name, this.ApplicationReference))
         {
             this.TraceTrackingRecordTruncated(scheduledRecord.RecordNumber);
         }
         else
         {
             this.TraceTrackingRecordDropped(scheduledRecord.RecordNumber);
         }
     }
 }
 private ActivityScheduledQuery Match(ActivityScheduledRecord activityScheduledRecord)
 {
     ActivityScheduledQuery query = null;
     if (this.activityScheduledSubscriptions != null)
     {
         for (int i = 0; i < this.activityScheduledSubscriptions.Count; i++)
         {
             string strB = (activityScheduledRecord.Activity == null) ? null : activityScheduledRecord.Activity.Name;
             if (string.CompareOrdinal(this.activityScheduledSubscriptions[i].ActivityName, strB) == 0)
             {
                 if (!CheckSubscription(this.activityScheduledSubscriptions[i].ChildActivityName, activityScheduledRecord.Child.Name))
                 {
                     continue;
                 }
                 query = this.activityScheduledSubscriptions[i];
                 break;
             }
             if ((string.CompareOrdinal(this.activityScheduledSubscriptions[i].ActivityName, "*") == 0) && CheckSubscription(this.activityScheduledSubscriptions[i].ChildActivityName, activityScheduledRecord.Child.Name))
             {
                 query = this.activityScheduledSubscriptions[i];
                 break;
             }
         }
     }
     if (((query == null) || (this.associatedProfile.ImplementationVisibility != ImplementationVisibility.RootScope)) || (this.ShouldTrackActivity(activityScheduledRecord.Activity, query.ActivityName) && this.ShouldTrackActivity(activityScheduledRecord.Child, query.ChildActivityName)))
     {
         return query;
     }
     return null;
 }
 private ActivityScheduledRecord(ActivityScheduledRecord record) : base(record)
 {
     this.Activity = record.Activity;
     this.Child = record.Child;
 }
        ActivityScheduledQuery Match(ActivityScheduledRecord activityScheduledRecord)
        {
            ActivityScheduledQuery query = null;
            if (this.activityScheduledSubscriptions != null)
            {
                for (int i = 0; i < this.activityScheduledSubscriptions.Count; i++)
                {
                    //check specific and then generic
                    string activityName = activityScheduledRecord.Activity == null ? null : activityScheduledRecord.Activity.Name;
                    if (string.CompareOrdinal(this.activityScheduledSubscriptions[i].ActivityName, activityName) == 0)
                    {
                        if (CheckSubscription(this.activityScheduledSubscriptions[i].ChildActivityName, activityScheduledRecord.Child.Name))
                        {
                            query = this.activityScheduledSubscriptions[i];
                            break;
                        }

                    }
                    else if (string.CompareOrdinal(this.activityScheduledSubscriptions[i].ActivityName, "*") == 0)
                    {
                        if (CheckSubscription(this.activityScheduledSubscriptions[i].ChildActivityName, activityScheduledRecord.Child.Name))
                        {
                            query = this.activityScheduledSubscriptions[i];
                            break;
                        }
                    }
                }
            }

            if ((query != null) && (this.associatedProfile.ImplementationVisibility == ImplementationVisibility.RootScope))
            {
                if ((!ShouldTrackActivity(activityScheduledRecord.Activity, query.ActivityName)) ||
                        (!ShouldTrackActivity(activityScheduledRecord.Child, query.ChildActivityName)))
                {
                    return null;
                }
            }

            return query;
        }
Ejemplo n.º 9
0
 /// <summary>
 /// When implemented in a derived class, used to synchronously process the tracking record.
 /// </summary>
 /// <param name="record">The generated tracking record.</param><param name="timeout">The time period after which the provider aborts the attempt.</param>
 protected override void Track(ActivityScheduledRecord record, TimeSpan timeout)
 {
     Console.WriteLine("Activity Scheduled {0}", record.Activity != null ? record.Activity.Name : "<Null>");
 }
 protected virtual void OnActivityScheduled(ActivityScheduledRecord record, TimeSpan timeout) { }
 /// <summary>
 /// When implemented in a derived class, used to synchronously process the tracking record.
 /// </summary>
 /// <param name="record">
 /// The generated tracking record. 
 /// </param>
 /// <param name="timeout">
 /// The time period after which the provider aborts the attempt. 
 /// </param>
 protected virtual void Track(ActivityScheduledRecord record, TimeSpan timeout)
 {
     // Do nothing
 }