summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/TraceLoggingEventSource.cs17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/TraceLoggingEventSource.cs b/src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/TraceLoggingEventSource.cs
index 2fde2233ea..95cadbc906 100644
--- a/src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/TraceLoggingEventSource.cs
+++ b/src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/TraceLoggingEventSource.cs
@@ -5,11 +5,13 @@
// This program uses code hyperlinks available as part of the HyperAddin Visual Studio plug-in.
// It is available from http://www.codeplex.com/hyperAddin
+#if !PLATFORM_UNIX
#define FEATURE_MANAGED_ETW
#if !ES_BUILD_STANDALONE
#define FEATURE_ACTIVITYSAMPLING
#endif
+#endif // PLATFORM_UNIX
#if ES_BUILD_STANDALONE
#define FEATURE_MANAGED_ETW_CHANNELS
@@ -44,7 +46,9 @@ namespace System.Diagnostics.Tracing
{
public partial class EventSource
{
+#if FEATURE_MANAGED_ETW
private byte[] providerMetadata;
+#endif
/// <summary>
/// Construct an EventSource with a given name for non-contract based events (e.g. those using the Write() API).
@@ -420,6 +424,7 @@ namespace System.Diagnostics.Tracing
Guid* childActivityID,
params object[] values)
{
+#if FEATURE_MANAGED_ETW
int identity = 0;
byte level = (options.valuesSet & EventSourceOptions.levelSet) != 0
? options.level
@@ -488,7 +493,7 @@ namespace System.Diagnostics.Tracing
this.WriteCleanup(pins, pinCount);
}
}
-
+#endif // FEATURE_MANAGED_ETW
}
/// <summary>
@@ -530,6 +535,7 @@ namespace System.Diagnostics.Tracing
Guid* childActivityID,
EventData* data)
{
+#if FEATURE_MANAGED_ETW
if (!this.IsEnabled())
{
return;
@@ -595,6 +601,7 @@ namespace System.Diagnostics.Tracing
(IntPtr)descriptors);
}
}
+#endif // FEATURE_MANAGED_ETW
}
[SecuritySafeCritical]
@@ -618,6 +625,7 @@ namespace System.Diagnostics.Tracing
return;
}
+#if FEATURE_MANAGED_ETW
var pinCount = eventTypes.pinCount;
var scratch = stackalloc byte[eventTypes.scratchSize];
var descriptors = stackalloc EventData[eventTypes.dataCount + 3];
@@ -631,6 +639,7 @@ namespace System.Diagnostics.Tracing
descriptors[0].SetMetadata(pMetadata0, this.providerMetadata.Length, 2);
descriptors[1].SetMetadata(pMetadata1, nameInfo.nameMetadata.Length, 1);
descriptors[2].SetMetadata(pMetadata2, eventTypes.typeMetadata.Length, 1);
+#endif // FEATURE_MANAGED_ETW
#if (!ES_BUILD_PCL && !PROJECTN)
System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegions();
@@ -658,6 +667,7 @@ namespace System.Diagnostics.Tracing
try
{
+#if FEATURE_MANAGED_ETW
DataCollector.ThreadInstance.Enable(
scratch,
eventTypes.scratchSize,
@@ -676,6 +686,7 @@ namespace System.Diagnostics.Tracing
pRelatedActivityId,
(int)(DataCollector.ThreadInstance.Finish() - descriptors),
(IntPtr)descriptors);
+#endif // FEATURE_MANAGED_ETW
// TODO enable filtering for listeners.
if (m_Dispatchers != null)
@@ -692,11 +703,13 @@ namespace System.Diagnostics.Tracing
else
ThrowEventSourceException(eventName, ex);
}
+#if FEATURE_MANAGED_ETW
finally
{
this.WriteCleanup(pins, pinCount);
}
}
+#endif // FEATURE_MANAGED_ETW
}
}
catch (Exception ex)
@@ -754,6 +767,7 @@ namespace System.Diagnostics.Tracing
private void InitializeProviderMetadata()
{
+#if FEATURE_MANAGED_ETW
if (m_traits != null)
{
List<byte> traitMetaData = new List<byte>(100);
@@ -791,6 +805,7 @@ namespace System.Diagnostics.Tracing
}
else
providerMetadata = Statics.MetadataForString(this.Name, 0, 0, 0);
+#endif //FEATURE_MANAGED_ETW
}
private static int AddValueToMetaData(List<byte> metaData, string value)