Mercurial > pub > ImplabNet
comparison Implab/Diagnostics/ActivityScope.cs @ 253:34df34841225 v3 v3.0.1-beta
Implab.Diagnostics drafts
author | cin |
---|---|
date | Mon, 12 Feb 2018 17:03:37 +0300 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
252:6f4630d0bcd9 | 253:34df34841225 |
---|---|
1 using System; | |
2 using System.Diagnostics; | |
3 | |
4 namespace Implab.Diagnostics { | |
5 public class ActivityScope : IDisposable { | |
6 readonly TraceSource m_source; | |
7 | |
8 readonly Guid m_prevId; | |
9 | |
10 readonly string m_activity; | |
11 | |
12 readonly int m_code; | |
13 | |
14 internal ActivityScope(TraceSource source, Guid prevId, int code, string activity) { | |
15 m_source = source; | |
16 m_prevId = prevId; | |
17 m_code = code; | |
18 m_activity = activity; | |
19 } | |
20 | |
21 | |
22 public void Dispose() { | |
23 if (Trace.CorrelationManager.ActivityId != m_prevId) | |
24 m_source.TraceTransfer(m_code, "Transfer", m_prevId); | |
25 m_source.TraceEvent(TraceEventType.Stop, 0, m_activity); | |
26 Trace.CorrelationManager.ActivityId = m_prevId; | |
27 } | |
28 } | |
29 } |