private TraceLoggingEventTypes( EventTags tags, string defaultName, TraceLoggingTypeInfo[] typeInfos) { if (defaultName is null) { throw new ArgumentNullException(nameof(defaultName)); } this.typeInfos = typeInfos; this.name = defaultName; this.tags = tags; this.level = Statics.DefaultLevel; var collector = new TraceLoggingMetadataCollector(); foreach (TraceLoggingTypeInfo typeInfo in typeInfos) { this.level = Statics.Combine((int)typeInfo.Level, this.level); this.opcode = Statics.Combine((int)typeInfo.Opcode, this.opcode); this.keywords |= typeInfo.Keywords; typeInfo.WriteMetadata(collector, null, EventFieldFormat.Default); } this.typeMetadata = collector.GetMetadata(); this.scratchSize = collector.ScratchSize; this.dataCount = collector.DataCount; this.pinCount = collector.PinCount; }
internal TraceLoggingEventTypes(string name, EventTags tags, ParameterInfo[] paramInfos) { if (name == null) { throw new ArgumentNullException("name"); } this.typeInfos = this.MakeArray(paramInfos); this.name = name; this.tags = tags; this.level = (byte)5; TraceLoggingMetadataCollector collector = new TraceLoggingMetadataCollector(); for (int index = 0; index < this.typeInfos.Length; ++index) { TraceLoggingTypeInfo traceLoggingTypeInfo = this.typeInfos[index]; this.level = Statics.Combine((int)traceLoggingTypeInfo.Level, this.level); this.opcode = Statics.Combine((int)traceLoggingTypeInfo.Opcode, this.opcode); this.keywords = this.keywords | traceLoggingTypeInfo.Keywords; string name1 = paramInfos[index].Name; if (Statics.ShouldOverrideFieldName(name1)) { name1 = traceLoggingTypeInfo.Name; } traceLoggingTypeInfo.WriteMetadata(collector, name1, EventFieldFormat.Default); } this.typeMetadata = collector.GetMetadata(); this.scratchSize = collector.ScratchSize; this.dataCount = collector.DataCount; this.pinCount = collector.PinCount; }
internal TraceLoggingEventTypes( string name, EventTags tags, System.Reflection.ParameterInfo[] paramInfos) { if (name is null) { throw new ArgumentNullException(nameof(name)); } this.typeInfos = MakeArray(paramInfos); #if FEATURE_PERFTRACING this.paramNames = MakeParamNameArray(paramInfos); #endif this.name = name; this.tags = tags; this.level = Statics.DefaultLevel; var collector = new TraceLoggingMetadataCollector(); for (int i = 0; i < typeInfos.Length; ++i) { TraceLoggingTypeInfo typeInfo = typeInfos[i]; this.level = Statics.Combine((int)typeInfo.Level, this.level); this.opcode = Statics.Combine((int)typeInfo.Opcode, this.opcode); this.keywords |= typeInfo.Keywords; string?paramName = paramInfos[i].Name; if (Statics.ShouldOverrideFieldName(paramName !)) { paramName = typeInfo.Name; } typeInfo.WriteMetadata(collector, paramName, EventFieldFormat.Default); } this.typeMetadata = collector.GetMetadata(); this.scratchSize = collector.ScratchSize; this.dataCount = collector.DataCount; this.pinCount = collector.PinCount; }