Ejemplo n.º 1
0
 public void TaskWaitBegin(
     int OriginatingTaskSchedulerID, int OriginatingTaskID,  // PFX_COMMON_EVENT_HEADER
     int TaskID, TaskWaitBehavior Behavior, int ContinueWithTaskID)
 {
     if (IsEnabled() && IsEnabled(EventLevel.Informational, Keywords.TaskTransfer | Keywords.Tasks))
     {
         unsafe
         {
             EventData *eventPayload = stackalloc EventData[5];
             eventPayload[0].Size        = sizeof(int);
             eventPayload[0].DataPointer = ((IntPtr)(&OriginatingTaskSchedulerID));
             eventPayload[1].Size        = sizeof(int);
             eventPayload[1].DataPointer = ((IntPtr)(&OriginatingTaskID));
             eventPayload[2].Size        = sizeof(int);
             eventPayload[2].DataPointer = ((IntPtr)(&TaskID));
             eventPayload[3].Size        = sizeof(int);
             eventPayload[3].DataPointer = ((IntPtr)(&Behavior));
             eventPayload[4].Size        = sizeof(int);
             eventPayload[4].DataPointer = ((IntPtr)(&ContinueWithTaskID));
             if (TasksSetActivityIds)
             {
                 Guid childActivityId = CreateGuidForTaskID(TaskID);
                 WriteEventWithRelatedActivityIdCore(TASKWAITBEGIN_ID, &childActivityId, 5, eventPayload);
             }
             else
             {
                 WriteEventCore(TASKWAITBEGIN_ID, 5, eventPayload);
             }
         }
     }
 }
Ejemplo n.º 2
0
        public void TaskWaitBegin(
            int OriginatingTaskSchedulerID, int OriginatingTaskID,  // PFX_COMMON_EVENT_HEADER
            int TaskID, TaskWaitBehavior Behavior)
        {
            if (IsEnabled(EventLevel.Verbose, ALL_KEYWORDS))
            {
                // WriteEvent(TASKWAITBEGIN_ID, OriginatingTaskSchedulerID, OriginatingTaskID, TaskID, Behavior);

                // There is no explicit WriteEvent() overload matching this event's fields.
                // Therefore calling WriteEvent() would hit the "params" overload, which leads to 
                // an object allocation every time this event is fired. To prevent that problem we will
                // call WriteEventCore(), which works with a stack based EventData array populated with the event fields
                unsafe
                {
                    EventData* eventPayload = stackalloc EventData[4];

                    eventPayload[0].Size = sizeof(int);
                    eventPayload[0].DataPointer = ((IntPtr)(&OriginatingTaskSchedulerID));
                    eventPayload[1].Size = sizeof(int);
                    eventPayload[1].DataPointer = ((IntPtr)(&OriginatingTaskID));
                    eventPayload[2].Size = sizeof(int);
                    eventPayload[2].DataPointer = ((IntPtr)(&TaskID));
                    eventPayload[3].Size = sizeof(int);
                    eventPayload[3].DataPointer = ((IntPtr)(&Behavior));

                    WriteEventCore(TASKWAITBEGIN_ID, 4, eventPayload);
                }
            }
        }
Ejemplo n.º 3
0
        public void TaskWaitBegin(
            int OriginatingTaskSchedulerID, int OriginatingTaskID,  // PFX_COMMON_EVENT_HEADER
            int TaskID, TaskWaitBehavior Behavior)
        {
            if (IsEnabled(EventLevel.Verbose, ALL_KEYWORDS))
            {
                // WriteEvent(TASKWAITBEGIN_ID, OriginatingTaskSchedulerID, OriginatingTaskID, TaskID, Behavior);

                // There is no explicit WriteEvent() overload matching this event's fields.
                // Therefore calling WriteEvent() would hit the "params" overload, which leads to
                // an object allocation every time this event is fired. To prevent that problem we will
                // call WriteEventCore(), which works with a stack based EventData array populated with the event fields
                unsafe
                {
                    EventData* eventPayload = stackalloc EventData[4];

                    eventPayload[0].Size = sizeof(int);
                    eventPayload[0].DataPointer = ((IntPtr)(&OriginatingTaskSchedulerID));
                    eventPayload[1].Size = sizeof(int);
                    eventPayload[1].DataPointer = ((IntPtr)(&OriginatingTaskID));
                    eventPayload[2].Size = sizeof(int);
                    eventPayload[2].DataPointer = ((IntPtr)(&TaskID));
                    eventPayload[3].Size = sizeof(int);
                    eventPayload[3].DataPointer = ((IntPtr)(&Behavior));

                    WriteEventCore(TASKWAITBEGIN_ID, 4, eventPayload);
                }
            }
        }
Ejemplo n.º 4
0
 public void TaskWaitBegin(
     int OriginatingTaskSchedulerID, int OriginatingTaskID,  // PFX_COMMON_EVENT_HEADER
     int TaskID, TaskWaitBehavior Behavior, int ContinueWithTaskID, int appDomain)
 {
     if (IsEnabled() && IsEnabled(EventLevel.Informational, Keywords.TaskTransfer|Keywords.Tasks))
     {
         unsafe
         {
             EventData* eventPayload = stackalloc EventData[5];
             eventPayload[0].Size = sizeof(int);
             eventPayload[0].DataPointer = ((IntPtr)(&OriginatingTaskSchedulerID));
             eventPayload[1].Size = sizeof(int);
             eventPayload[1].DataPointer = ((IntPtr)(&OriginatingTaskID));
             eventPayload[2].Size = sizeof(int);
             eventPayload[2].DataPointer = ((IntPtr)(&TaskID));
             eventPayload[3].Size = sizeof(int);
             eventPayload[3].DataPointer = ((IntPtr)(&Behavior));
             eventPayload[4].Size = sizeof(int);
             eventPayload[4].DataPointer = ((IntPtr)(&ContinueWithTaskID));
             if (TasksSetActivityIds)
             {
                 Guid childActivityId = CreateGuidForTaskID(TaskID);
                 WriteEventWithRelatedActivityIdCore(TASKWAITBEGIN_ID, &childActivityId, 5, eventPayload);
             }
             else 
                 WriteEventCore(TASKWAITBEGIN_ID, 5, eventPayload);
         }
     }
 }
Ejemplo n.º 5
0
 public void TaskWaitBegin(int i, int i1, int id, TaskWaitBehavior synchronous, int i2, int getDomainId)
 {
 }