예제 #1
0
        public ItemTracer(string assemblyName, string methodName)
        {
            if (!TraceClient.FailedToConnect)
            {
                memUseage = GC.GetTotalMemory(false);
                var ticket = this.GetTicket();

                sequenceId = TraceClient.GetNextId();

                key     = GetUniqueKey();
                userKey = GetUserKey();

                this.methodName = methodName;
                TraceClient.PostAsync(FixBeginTraceItem(new TraceItem
                {
                    AssemblyName     = assemblyName,
                    TraceOrderBy     = TraceClient.GetNextUid(),
                    TraceKey         = sequenceId,
                    UserKey          = userKey,
                    GroupKey         = key,
                    EventType        = "Begin",
                    EventDate        = DateTime.Now,
                    CurrentTick      = DateTime.Now.Ticks,
                    HostName         = Environment.MachineName,
                    EventDescription = this.methodName,
                    Ticket           = ticket
                }));
            }
        }
예제 #2
0
        public void Dispose()
        {
            if (!TraceClient.FailedToConnect)
            {
                memUseage = GC.GetTotalMemory(false) - memUseage;

                TraceClient.PostAsync(FixEndTraceItem(new TraceItem
                {
                    TraceOrderBy     = TraceClient.GetNextUid(),
                    TraceKey         = sequenceId,
                    UserKey          = userKey,
                    GroupKey         = key,
                    EventType        = "End",
                    EventDate        = DateTime.Now,
                    CurrentTick      = DateTime.Now.Ticks,
                    EventDescription = this.methodName,
                    Parameters       = methodParameters,
                    MemoryUsage      = memUseage
                }));
            }
        }