File: artifacts\obj\Stress.TelemetryService\Debug\net10.0\opentelemetry\proto\logs\v1\Logs.cs
Project: src\playground\Stress\Stress.TelemetryService\Stress.TelemetryService.csproj (Stress.TelemetryService)
// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: opentelemetry/proto/logs/v1/logs.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace OpenTelemetry.Proto.Logs.V1 {

  /// <summary>Holder for reflection information generated from opentelemetry/proto/logs/v1/logs.proto</summary>
  public static partial class LogsReflection {

    #region Descriptor
    /// <summary>File descriptor for opentelemetry/proto/logs/v1/logs.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static LogsReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "CiZvcGVudGVsZW1ldHJ5L3Byb3RvL2xvZ3MvdjEvbG9ncy5wcm90bxIbb3Bl",
            "bnRlbGVtZXRyeS5wcm90by5sb2dzLnYxGipvcGVudGVsZW1ldHJ5L3Byb3Rv",
            "L2NvbW1vbi92MS9jb21tb24ucHJvdG8aLm9wZW50ZWxlbWV0cnkvcHJvdG8v",
            "cmVzb3VyY2UvdjEvcmVzb3VyY2UucHJvdG8iTAoITG9nc0RhdGESQAoNcmVz",
            "b3VyY2VfbG9ncxgBIAMoCzIpLm9wZW50ZWxlbWV0cnkucHJvdG8ubG9ncy52",
            "MS5SZXNvdXJjZUxvZ3MiowEKDFJlc291cmNlTG9ncxI7CghyZXNvdXJjZRgB",
            "IAEoCzIpLm9wZW50ZWxlbWV0cnkucHJvdG8ucmVzb3VyY2UudjEuUmVzb3Vy",
            "Y2USOgoKc2NvcGVfbG9ncxgCIAMoCzImLm9wZW50ZWxlbWV0cnkucHJvdG8u",
            "bG9ncy52MS5TY29wZUxvZ3MSEgoKc2NoZW1hX3VybBgDIAEoCUoGCOgHEOkH",
            "IqABCglTY29wZUxvZ3MSQgoFc2NvcGUYASABKAsyMy5vcGVudGVsZW1ldHJ5",
            "LnByb3RvLmNvbW1vbi52MS5JbnN0cnVtZW50YXRpb25TY29wZRI7Cgtsb2df",
            "cmVjb3JkcxgCIAMoCzImLm9wZW50ZWxlbWV0cnkucHJvdG8ubG9ncy52MS5M",
            "b2dSZWNvcmQSEgoKc2NoZW1hX3VybBgDIAEoCSLvAgoJTG9nUmVjb3JkEhYK",
            "DnRpbWVfdW5peF9uYW5vGAEgASgGEh8KF29ic2VydmVkX3RpbWVfdW5peF9u",
            "YW5vGAsgASgGEkQKD3NldmVyaXR5X251bWJlchgCIAEoDjIrLm9wZW50ZWxl",
            "bWV0cnkucHJvdG8ubG9ncy52MS5TZXZlcml0eU51bWJlchIVCg1zZXZlcml0",
            "eV90ZXh0GAMgASgJEjUKBGJvZHkYBSABKAsyJy5vcGVudGVsZW1ldHJ5LnBy",
            "b3RvLmNvbW1vbi52MS5BbnlWYWx1ZRI7CgphdHRyaWJ1dGVzGAYgAygLMicu",
            "b3BlbnRlbGVtZXRyeS5wcm90by5jb21tb24udjEuS2V5VmFsdWUSIAoYZHJv",
            "cHBlZF9hdHRyaWJ1dGVzX2NvdW50GAcgASgNEg0KBWZsYWdzGAggASgHEhAK",
            "CHRyYWNlX2lkGAkgASgMEg8KB3NwYW5faWQYCiABKAxKBAgEEAUqwwUKDlNl",
            "dmVyaXR5TnVtYmVyEh8KG1NFVkVSSVRZX05VTUJFUl9VTlNQRUNJRklFRBAA",
            "EhkKFVNFVkVSSVRZX05VTUJFUl9UUkFDRRABEhoKFlNFVkVSSVRZX05VTUJF",
            "Ul9UUkFDRTIQAhIaChZTRVZFUklUWV9OVU1CRVJfVFJBQ0UzEAMSGgoWU0VW",
            "RVJJVFlfTlVNQkVSX1RSQUNFNBAEEhkKFVNFVkVSSVRZX05VTUJFUl9ERUJV",
            "RxAFEhoKFlNFVkVSSVRZX05VTUJFUl9ERUJVRzIQBhIaChZTRVZFUklUWV9O",
            "VU1CRVJfREVCVUczEAcSGgoWU0VWRVJJVFlfTlVNQkVSX0RFQlVHNBAIEhgK",
            "FFNFVkVSSVRZX05VTUJFUl9JTkZPEAkSGQoVU0VWRVJJVFlfTlVNQkVSX0lO",
            "Rk8yEAoSGQoVU0VWRVJJVFlfTlVNQkVSX0lORk8zEAsSGQoVU0VWRVJJVFlf",
            "TlVNQkVSX0lORk80EAwSGAoUU0VWRVJJVFlfTlVNQkVSX1dBUk4QDRIZChVT",
            "RVZFUklUWV9OVU1CRVJfV0FSTjIQDhIZChVTRVZFUklUWV9OVU1CRVJfV0FS",
            "TjMQDxIZChVTRVZFUklUWV9OVU1CRVJfV0FSTjQQEBIZChVTRVZFUklUWV9O",
            "VU1CRVJfRVJST1IQERIaChZTRVZFUklUWV9OVU1CRVJfRVJST1IyEBISGgoW",
            "U0VWRVJJVFlfTlVNQkVSX0VSUk9SMxATEhoKFlNFVkVSSVRZX05VTUJFUl9F",
            "UlJPUjQQFBIZChVTRVZFUklUWV9OVU1CRVJfRkFUQUwQFRIaChZTRVZFUklU",
            "WV9OVU1CRVJfRkFUQUwyEBYSGgoWU0VWRVJJVFlfTlVNQkVSX0ZBVEFMMxAX",
            "EhoKFlNFVkVSSVRZX05VTUJFUl9GQVRBTDQQGCpZCg5Mb2dSZWNvcmRGbGFn",
            "cxIfChtMT0dfUkVDT1JEX0ZMQUdTX0RPX05PVF9VU0UQABImCiFMT0dfUkVD",
            "T1JEX0ZMQUdTX1RSQUNFX0ZMQUdTX01BU0sQ/wFCcwoeaW8ub3BlbnRlbGVt",
            "ZXRyeS5wcm90by5sb2dzLnYxQglMb2dzUHJvdG9QAVomZ28ub3BlbnRlbGVt",
            "ZXRyeS5pby9wcm90by9vdGxwL2xvZ3MvdjGqAhtPcGVuVGVsZW1ldHJ5LlBy",
            "b3RvLkxvZ3MuVjFiBnByb3RvMw=="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::OpenTelemetry.Proto.Common.V1.CommonReflection.Descriptor, global::OpenTelemetry.Proto.Resource.V1.ResourceReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::OpenTelemetry.Proto.Logs.V1.SeverityNumber), typeof(global::OpenTelemetry.Proto.Logs.V1.LogRecordFlags), }, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::OpenTelemetry.Proto.Logs.V1.LogsData), global::OpenTelemetry.Proto.Logs.V1.LogsData.Parser, new[]{ "ResourceLogs" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::OpenTelemetry.Proto.Logs.V1.ResourceLogs), global::OpenTelemetry.Proto.Logs.V1.ResourceLogs.Parser, new[]{ "Resource", "ScopeLogs", "SchemaUrl" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::OpenTelemetry.Proto.Logs.V1.ScopeLogs), global::OpenTelemetry.Proto.Logs.V1.ScopeLogs.Parser, new[]{ "Scope", "LogRecords", "SchemaUrl" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::OpenTelemetry.Proto.Logs.V1.LogRecord), global::OpenTelemetry.Proto.Logs.V1.LogRecord.Parser, new[]{ "TimeUnixNano", "ObservedTimeUnixNano", "SeverityNumber", "SeverityText", "Body", "Attributes", "DroppedAttributesCount", "Flags", "TraceId", "SpanId" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Enums
  /// <summary>
  /// Possible values for LogRecord.SeverityNumber.
  /// </summary>
  public enum SeverityNumber {
    /// <summary>
    /// UNSPECIFIED is the default SeverityNumber, it MUST NOT be used.
    /// </summary>
    [pbr::OriginalName("SEVERITY_NUMBER_UNSPECIFIED")] Unspecified = 0,
    [pbr::OriginalName("SEVERITY_NUMBER_TRACE")] Trace = 1,
    [pbr::OriginalName("SEVERITY_NUMBER_TRACE2")] Trace2 = 2,
    [pbr::OriginalName("SEVERITY_NUMBER_TRACE3")] Trace3 = 3,
    [pbr::OriginalName("SEVERITY_NUMBER_TRACE4")] Trace4 = 4,
    [pbr::OriginalName("SEVERITY_NUMBER_DEBUG")] Debug = 5,
    [pbr::OriginalName("SEVERITY_NUMBER_DEBUG2")] Debug2 = 6,
    [pbr::OriginalName("SEVERITY_NUMBER_DEBUG3")] Debug3 = 7,
    [pbr::OriginalName("SEVERITY_NUMBER_DEBUG4")] Debug4 = 8,
    [pbr::OriginalName("SEVERITY_NUMBER_INFO")] Info = 9,
    [pbr::OriginalName("SEVERITY_NUMBER_INFO2")] Info2 = 10,
    [pbr::OriginalName("SEVERITY_NUMBER_INFO3")] Info3 = 11,
    [pbr::OriginalName("SEVERITY_NUMBER_INFO4")] Info4 = 12,
    [pbr::OriginalName("SEVERITY_NUMBER_WARN")] Warn = 13,
    [pbr::OriginalName("SEVERITY_NUMBER_WARN2")] Warn2 = 14,
    [pbr::OriginalName("SEVERITY_NUMBER_WARN3")] Warn3 = 15,
    [pbr::OriginalName("SEVERITY_NUMBER_WARN4")] Warn4 = 16,
    [pbr::OriginalName("SEVERITY_NUMBER_ERROR")] Error = 17,
    [pbr::OriginalName("SEVERITY_NUMBER_ERROR2")] Error2 = 18,
    [pbr::OriginalName("SEVERITY_NUMBER_ERROR3")] Error3 = 19,
    [pbr::OriginalName("SEVERITY_NUMBER_ERROR4")] Error4 = 20,
    [pbr::OriginalName("SEVERITY_NUMBER_FATAL")] Fatal = 21,
    [pbr::OriginalName("SEVERITY_NUMBER_FATAL2")] Fatal2 = 22,
    [pbr::OriginalName("SEVERITY_NUMBER_FATAL3")] Fatal3 = 23,
    [pbr::OriginalName("SEVERITY_NUMBER_FATAL4")] Fatal4 = 24,
  }

  /// <summary>
  /// LogRecordFlags is defined as a protobuf 'uint32' type and is to be used as
  /// bit-fields. Each non-zero value defined in this enum is a bit-mask.
  /// To extract the bit-field, for example, use an expression like:
  ///
  ///   (logRecord.flags &amp; LOG_RECORD_FLAGS_TRACE_FLAGS_MASK)
  /// </summary>
  public enum LogRecordFlags {
    /// <summary>
    /// The zero value for the enum. Should not be used for comparisons.
    /// Instead use bitwise "and" with the appropriate mask as shown above.
    /// </summary>
    [pbr::OriginalName("LOG_RECORD_FLAGS_DO_NOT_USE")] DoNotUse = 0,
    /// <summary>
    /// Bits 0-7 are used for trace flags.
    /// </summary>
    [pbr::OriginalName("LOG_RECORD_FLAGS_TRACE_FLAGS_MASK")] TraceFlagsMask = 255,
  }

  #endregion

  #region Messages
  /// <summary>
  /// LogsData represents the logs data that can be stored in a persistent storage,
  /// OR can be embedded by other protocols that transfer OTLP logs data but do not
  /// implement the OTLP protocol.
  ///
  /// The main difference between this message and collector protocol is that
  /// in this message there will not be any "control" or "metadata" specific to
  /// OTLP protocol.
  ///
  /// When new fields are added into this message, the OTLP request MUST be updated
  /// as well.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class LogsData : pb::IMessage<LogsData>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<LogsData> _parser = new pb::MessageParser<LogsData>(() => new LogsData());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<LogsData> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::OpenTelemetry.Proto.Logs.V1.LogsReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LogsData() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LogsData(LogsData other) : this() {
      resourceLogs_ = other.resourceLogs_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LogsData Clone() {
      return new LogsData(this);
    }

    /// <summary>Field number for the "resource_logs" field.</summary>
    public const int ResourceLogsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::OpenTelemetry.Proto.Logs.V1.ResourceLogs> _repeated_resourceLogs_codec
        = pb::FieldCodec.ForMessage(10, global::OpenTelemetry.Proto.Logs.V1.ResourceLogs.Parser);
    private readonly pbc::RepeatedField<global::OpenTelemetry.Proto.Logs.V1.ResourceLogs> resourceLogs_ = new pbc::RepeatedField<global::OpenTelemetry.Proto.Logs.V1.ResourceLogs>();
    /// <summary>
    /// An array of ResourceLogs.
    /// For data coming from a single resource this array will typically contain
    /// one element. Intermediary nodes that receive data from multiple origins
    /// typically batch the data before forwarding further and in that case this
    /// array will contain multiple elements.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::OpenTelemetry.Proto.Logs.V1.ResourceLogs> ResourceLogs {
      get { return resourceLogs_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as LogsData);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LogsData other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!resourceLogs_.Equals(other.resourceLogs_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= resourceLogs_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      resourceLogs_.WriteTo(output, _repeated_resourceLogs_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      resourceLogs_.WriteTo(ref output, _repeated_resourceLogs_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += resourceLogs_.CalculateSize(_repeated_resourceLogs_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LogsData other) {
      if (other == null) {
        return;
      }
      resourceLogs_.Add(other.resourceLogs_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            resourceLogs_.AddEntriesFrom(input, _repeated_resourceLogs_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            resourceLogs_.AddEntriesFrom(ref input, _repeated_resourceLogs_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// A collection of ScopeLogs from a Resource.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ResourceLogs : pb::IMessage<ResourceLogs>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ResourceLogs> _parser = new pb::MessageParser<ResourceLogs>(() => new ResourceLogs());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ResourceLogs> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::OpenTelemetry.Proto.Logs.V1.LogsReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResourceLogs() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResourceLogs(ResourceLogs other) : this() {
      resource_ = other.resource_ != null ? other.resource_.Clone() : null;
      scopeLogs_ = other.scopeLogs_.Clone();
      schemaUrl_ = other.schemaUrl_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResourceLogs Clone() {
      return new ResourceLogs(this);
    }

    /// <summary>Field number for the "resource" field.</summary>
    public const int ResourceFieldNumber = 1;
    private global::OpenTelemetry.Proto.Resource.V1.Resource resource_;
    /// <summary>
    /// The resource for the logs in this message.
    /// If this field is not set then resource info is unknown.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::OpenTelemetry.Proto.Resource.V1.Resource Resource {
      get { return resource_; }
      set {
        resource_ = value;
      }
    }

    /// <summary>Field number for the "scope_logs" field.</summary>
    public const int ScopeLogsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::OpenTelemetry.Proto.Logs.V1.ScopeLogs> _repeated_scopeLogs_codec
        = pb::FieldCodec.ForMessage(18, global::OpenTelemetry.Proto.Logs.V1.ScopeLogs.Parser);
    private readonly pbc::RepeatedField<global::OpenTelemetry.Proto.Logs.V1.ScopeLogs> scopeLogs_ = new pbc::RepeatedField<global::OpenTelemetry.Proto.Logs.V1.ScopeLogs>();
    /// <summary>
    /// A list of ScopeLogs that originate from a resource.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::OpenTelemetry.Proto.Logs.V1.ScopeLogs> ScopeLogs {
      get { return scopeLogs_; }
    }

    /// <summary>Field number for the "schema_url" field.</summary>
    public const int SchemaUrlFieldNumber = 3;
    private string schemaUrl_ = "";
    /// <summary>
    /// This schema_url applies to the data in the "resource" field. It does not apply
    /// to the data in the "scope_logs" field which have their own schema_url field.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SchemaUrl {
      get { return schemaUrl_; }
      set {
        schemaUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ResourceLogs);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ResourceLogs other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Resource, other.Resource)) return false;
      if(!scopeLogs_.Equals(other.scopeLogs_)) return false;
      if (SchemaUrl != other.SchemaUrl) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (resource_ != null) hash ^= Resource.GetHashCode();
      hash ^= scopeLogs_.GetHashCode();
      if (SchemaUrl.Length != 0) hash ^= SchemaUrl.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (resource_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Resource);
      }
      scopeLogs_.WriteTo(output, _repeated_scopeLogs_codec);
      if (SchemaUrl.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(SchemaUrl);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (resource_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Resource);
      }
      scopeLogs_.WriteTo(ref output, _repeated_scopeLogs_codec);
      if (SchemaUrl.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(SchemaUrl);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (resource_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Resource);
      }
      size += scopeLogs_.CalculateSize(_repeated_scopeLogs_codec);
      if (SchemaUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SchemaUrl);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ResourceLogs other) {
      if (other == null) {
        return;
      }
      if (other.resource_ != null) {
        if (resource_ == null) {
          Resource = new global::OpenTelemetry.Proto.Resource.V1.Resource();
        }
        Resource.MergeFrom(other.Resource);
      }
      scopeLogs_.Add(other.scopeLogs_);
      if (other.SchemaUrl.Length != 0) {
        SchemaUrl = other.SchemaUrl;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (resource_ == null) {
              Resource = new global::OpenTelemetry.Proto.Resource.V1.Resource();
            }
            input.ReadMessage(Resource);
            break;
          }
          case 18: {
            scopeLogs_.AddEntriesFrom(input, _repeated_scopeLogs_codec);
            break;
          }
          case 26: {
            SchemaUrl = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (resource_ == null) {
              Resource = new global::OpenTelemetry.Proto.Resource.V1.Resource();
            }
            input.ReadMessage(Resource);
            break;
          }
          case 18: {
            scopeLogs_.AddEntriesFrom(ref input, _repeated_scopeLogs_codec);
            break;
          }
          case 26: {
            SchemaUrl = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// A collection of Logs produced by a Scope.
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ScopeLogs : pb::IMessage<ScopeLogs>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ScopeLogs> _parser = new pb::MessageParser<ScopeLogs>(() => new ScopeLogs());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ScopeLogs> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::OpenTelemetry.Proto.Logs.V1.LogsReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ScopeLogs() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ScopeLogs(ScopeLogs other) : this() {
      scope_ = other.scope_ != null ? other.scope_.Clone() : null;
      logRecords_ = other.logRecords_.Clone();
      schemaUrl_ = other.schemaUrl_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ScopeLogs Clone() {
      return new ScopeLogs(this);
    }

    /// <summary>Field number for the "scope" field.</summary>
    public const int ScopeFieldNumber = 1;
    private global::OpenTelemetry.Proto.Common.V1.InstrumentationScope scope_;
    /// <summary>
    /// The instrumentation scope information for the logs in this message.
    /// Semantically when InstrumentationScope isn't set, it is equivalent with
    /// an empty instrumentation scope name (unknown).
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::OpenTelemetry.Proto.Common.V1.InstrumentationScope Scope {
      get { return scope_; }
      set {
        scope_ = value;
      }
    }

    /// <summary>Field number for the "log_records" field.</summary>
    public const int LogRecordsFieldNumber = 2;
    private static readonly pb::FieldCodec<global::OpenTelemetry.Proto.Logs.V1.LogRecord> _repeated_logRecords_codec
        = pb::FieldCodec.ForMessage(18, global::OpenTelemetry.Proto.Logs.V1.LogRecord.Parser);
    private readonly pbc::RepeatedField<global::OpenTelemetry.Proto.Logs.V1.LogRecord> logRecords_ = new pbc::RepeatedField<global::OpenTelemetry.Proto.Logs.V1.LogRecord>();
    /// <summary>
    /// A list of log records.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::OpenTelemetry.Proto.Logs.V1.LogRecord> LogRecords {
      get { return logRecords_; }
    }

    /// <summary>Field number for the "schema_url" field.</summary>
    public const int SchemaUrlFieldNumber = 3;
    private string schemaUrl_ = "";
    /// <summary>
    /// This schema_url applies to all logs in the "logs" field.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SchemaUrl {
      get { return schemaUrl_; }
      set {
        schemaUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ScopeLogs);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ScopeLogs other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(Scope, other.Scope)) return false;
      if(!logRecords_.Equals(other.logRecords_)) return false;
      if (SchemaUrl != other.SchemaUrl) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (scope_ != null) hash ^= Scope.GetHashCode();
      hash ^= logRecords_.GetHashCode();
      if (SchemaUrl.Length != 0) hash ^= SchemaUrl.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (scope_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Scope);
      }
      logRecords_.WriteTo(output, _repeated_logRecords_codec);
      if (SchemaUrl.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(SchemaUrl);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (scope_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(Scope);
      }
      logRecords_.WriteTo(ref output, _repeated_logRecords_codec);
      if (SchemaUrl.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(SchemaUrl);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (scope_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Scope);
      }
      size += logRecords_.CalculateSize(_repeated_logRecords_codec);
      if (SchemaUrl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SchemaUrl);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ScopeLogs other) {
      if (other == null) {
        return;
      }
      if (other.scope_ != null) {
        if (scope_ == null) {
          Scope = new global::OpenTelemetry.Proto.Common.V1.InstrumentationScope();
        }
        Scope.MergeFrom(other.Scope);
      }
      logRecords_.Add(other.logRecords_);
      if (other.SchemaUrl.Length != 0) {
        SchemaUrl = other.SchemaUrl;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (scope_ == null) {
              Scope = new global::OpenTelemetry.Proto.Common.V1.InstrumentationScope();
            }
            input.ReadMessage(Scope);
            break;
          }
          case 18: {
            logRecords_.AddEntriesFrom(input, _repeated_logRecords_codec);
            break;
          }
          case 26: {
            SchemaUrl = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (scope_ == null) {
              Scope = new global::OpenTelemetry.Proto.Common.V1.InstrumentationScope();
            }
            input.ReadMessage(Scope);
            break;
          }
          case 18: {
            logRecords_.AddEntriesFrom(ref input, _repeated_logRecords_codec);
            break;
          }
          case 26: {
            SchemaUrl = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  /// A log record according to OpenTelemetry Log Data Model:
  /// https://github.com/open-telemetry/oteps/blob/main/text/logs/0097-log-data-model.md
  /// </summary>
  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class LogRecord : pb::IMessage<LogRecord>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<LogRecord> _parser = new pb::MessageParser<LogRecord>(() => new LogRecord());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<LogRecord> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::OpenTelemetry.Proto.Logs.V1.LogsReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LogRecord() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LogRecord(LogRecord other) : this() {
      timeUnixNano_ = other.timeUnixNano_;
      observedTimeUnixNano_ = other.observedTimeUnixNano_;
      severityNumber_ = other.severityNumber_;
      severityText_ = other.severityText_;
      body_ = other.body_ != null ? other.body_.Clone() : null;
      attributes_ = other.attributes_.Clone();
      droppedAttributesCount_ = other.droppedAttributesCount_;
      flags_ = other.flags_;
      traceId_ = other.traceId_;
      spanId_ = other.spanId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LogRecord Clone() {
      return new LogRecord(this);
    }

    /// <summary>Field number for the "time_unix_nano" field.</summary>
    public const int TimeUnixNanoFieldNumber = 1;
    private ulong timeUnixNano_;
    /// <summary>
    /// time_unix_nano is the time when the event occurred.
    /// Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
    /// Value of 0 indicates unknown or missing timestamp.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ulong TimeUnixNano {
      get { return timeUnixNano_; }
      set {
        timeUnixNano_ = value;
      }
    }

    /// <summary>Field number for the "observed_time_unix_nano" field.</summary>
    public const int ObservedTimeUnixNanoFieldNumber = 11;
    private ulong observedTimeUnixNano_;
    /// <summary>
    /// Time when the event was observed by the collection system.
    /// For events that originate in OpenTelemetry (e.g. using OpenTelemetry Logging SDK)
    /// this timestamp is typically set at the generation time and is equal to Timestamp.
    /// For events originating externally and collected by OpenTelemetry (e.g. using
    /// Collector) this is the time when OpenTelemetry's code observed the event measured
    /// by the clock of the OpenTelemetry code. This field MUST be set once the event is
    /// observed by OpenTelemetry.
    ///
    /// For converting OpenTelemetry log data to formats that support only one timestamp or
    /// when receiving OpenTelemetry log data by recipients that support only one timestamp
    /// internally the following logic is recommended:
    ///   - Use time_unix_nano if it is present, otherwise use observed_time_unix_nano.
    ///
    /// Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
    /// Value of 0 indicates unknown or missing timestamp.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ulong ObservedTimeUnixNano {
      get { return observedTimeUnixNano_; }
      set {
        observedTimeUnixNano_ = value;
      }
    }

    /// <summary>Field number for the "severity_number" field.</summary>
    public const int SeverityNumberFieldNumber = 2;
    private global::OpenTelemetry.Proto.Logs.V1.SeverityNumber severityNumber_ = global::OpenTelemetry.Proto.Logs.V1.SeverityNumber.Unspecified;
    /// <summary>
    /// Numerical value of the severity, normalized to values described in Log Data Model.
    /// [Optional].
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::OpenTelemetry.Proto.Logs.V1.SeverityNumber SeverityNumber {
      get { return severityNumber_; }
      set {
        severityNumber_ = value;
      }
    }

    /// <summary>Field number for the "severity_text" field.</summary>
    public const int SeverityTextFieldNumber = 3;
    private string severityText_ = "";
    /// <summary>
    /// The severity text (also known as log level). The original string representation as
    /// it is known at the source. [Optional].
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SeverityText {
      get { return severityText_; }
      set {
        severityText_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "body" field.</summary>
    public const int BodyFieldNumber = 5;
    private global::OpenTelemetry.Proto.Common.V1.AnyValue body_;
    /// <summary>
    /// A value containing the body of the log record. Can be for example a human-readable
    /// string message (including multi-line) describing the event in a free form or it can
    /// be a structured data composed of arrays and maps of other values. [Optional].
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::OpenTelemetry.Proto.Common.V1.AnyValue Body {
      get { return body_; }
      set {
        body_ = value;
      }
    }

    /// <summary>Field number for the "attributes" field.</summary>
    public const int AttributesFieldNumber = 6;
    private static readonly pb::FieldCodec<global::OpenTelemetry.Proto.Common.V1.KeyValue> _repeated_attributes_codec
        = pb::FieldCodec.ForMessage(50, global::OpenTelemetry.Proto.Common.V1.KeyValue.Parser);
    private readonly pbc::RepeatedField<global::OpenTelemetry.Proto.Common.V1.KeyValue> attributes_ = new pbc::RepeatedField<global::OpenTelemetry.Proto.Common.V1.KeyValue>();
    /// <summary>
    /// Additional attributes that describe the specific event occurrence. [Optional].
    /// Attribute keys MUST be unique (it is not allowed to have more than one
    /// attribute with the same key).
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::OpenTelemetry.Proto.Common.V1.KeyValue> Attributes {
      get { return attributes_; }
    }

    /// <summary>Field number for the "dropped_attributes_count" field.</summary>
    public const int DroppedAttributesCountFieldNumber = 7;
    private uint droppedAttributesCount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint DroppedAttributesCount {
      get { return droppedAttributesCount_; }
      set {
        droppedAttributesCount_ = value;
      }
    }

    /// <summary>Field number for the "flags" field.</summary>
    public const int FlagsFieldNumber = 8;
    private uint flags_;
    /// <summary>
    /// Flags, a bit field. 8 least significant bits are the trace flags as
    /// defined in W3C Trace Context specification. 24 most significant bits are reserved
    /// and must be set to 0. Readers must not assume that 24 most significant bits
    /// will be zero and must correctly mask the bits when reading 8-bit trace flag (use
    /// flags &amp; LOG_RECORD_FLAGS_TRACE_FLAGS_MASK). [Optional].
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public uint Flags {
      get { return flags_; }
      set {
        flags_ = value;
      }
    }

    /// <summary>Field number for the "trace_id" field.</summary>
    public const int TraceIdFieldNumber = 9;
    private pb::ByteString traceId_ = pb::ByteString.Empty;
    /// <summary>
    /// A unique identifier for a trace. All logs from the same trace share
    /// the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes OR
    /// of length other than 16 bytes is considered invalid (empty string in OTLP/JSON
    /// is zero-length and thus is also invalid).
    ///
    /// This field is optional.
    ///
    /// The receivers SHOULD assume that the log record is not associated with a
    /// trace if any of the following is true:
    ///   - the field is not present,
    ///   - the field contains an invalid value.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString TraceId {
      get { return traceId_; }
      set {
        traceId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "span_id" field.</summary>
    public const int SpanIdFieldNumber = 10;
    private pb::ByteString spanId_ = pb::ByteString.Empty;
    /// <summary>
    /// A unique identifier for a span within a trace, assigned when the span
    /// is created. The ID is an 8-byte array. An ID with all zeroes OR of length
    /// other than 8 bytes is considered invalid (empty string in OTLP/JSON
    /// is zero-length and thus is also invalid).
    ///
    /// This field is optional. If the sender specifies a valid span_id then it SHOULD also
    /// specify a valid trace_id.
    ///
    /// The receivers SHOULD assume that the log record is not associated with a
    /// span if any of the following is true:
    ///   - the field is not present,
    ///   - the field contains an invalid value.
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pb::ByteString SpanId {
      get { return spanId_; }
      set {
        spanId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as LogRecord);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LogRecord other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (TimeUnixNano != other.TimeUnixNano) return false;
      if (ObservedTimeUnixNano != other.ObservedTimeUnixNano) return false;
      if (SeverityNumber != other.SeverityNumber) return false;
      if (SeverityText != other.SeverityText) return false;
      if (!object.Equals(Body, other.Body)) return false;
      if(!attributes_.Equals(other.attributes_)) return false;
      if (DroppedAttributesCount != other.DroppedAttributesCount) return false;
      if (Flags != other.Flags) return false;
      if (TraceId != other.TraceId) return false;
      if (SpanId != other.SpanId) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (TimeUnixNano != 0UL) hash ^= TimeUnixNano.GetHashCode();
      if (ObservedTimeUnixNano != 0UL) hash ^= ObservedTimeUnixNano.GetHashCode();
      if (SeverityNumber != global::OpenTelemetry.Proto.Logs.V1.SeverityNumber.Unspecified) hash ^= SeverityNumber.GetHashCode();
      if (SeverityText.Length != 0) hash ^= SeverityText.GetHashCode();
      if (body_ != null) hash ^= Body.GetHashCode();
      hash ^= attributes_.GetHashCode();
      if (DroppedAttributesCount != 0) hash ^= DroppedAttributesCount.GetHashCode();
      if (Flags != 0) hash ^= Flags.GetHashCode();
      if (TraceId.Length != 0) hash ^= TraceId.GetHashCode();
      if (SpanId.Length != 0) hash ^= SpanId.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (TimeUnixNano != 0UL) {
        output.WriteRawTag(9);
        output.WriteFixed64(TimeUnixNano);
      }
      if (SeverityNumber != global::OpenTelemetry.Proto.Logs.V1.SeverityNumber.Unspecified) {
        output.WriteRawTag(16);
        output.WriteEnum((int) SeverityNumber);
      }
      if (SeverityText.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(SeverityText);
      }
      if (body_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Body);
      }
      attributes_.WriteTo(output, _repeated_attributes_codec);
      if (DroppedAttributesCount != 0) {
        output.WriteRawTag(56);
        output.WriteUInt32(DroppedAttributesCount);
      }
      if (Flags != 0) {
        output.WriteRawTag(69);
        output.WriteFixed32(Flags);
      }
      if (TraceId.Length != 0) {
        output.WriteRawTag(74);
        output.WriteBytes(TraceId);
      }
      if (SpanId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteBytes(SpanId);
      }
      if (ObservedTimeUnixNano != 0UL) {
        output.WriteRawTag(89);
        output.WriteFixed64(ObservedTimeUnixNano);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (TimeUnixNano != 0UL) {
        output.WriteRawTag(9);
        output.WriteFixed64(TimeUnixNano);
      }
      if (SeverityNumber != global::OpenTelemetry.Proto.Logs.V1.SeverityNumber.Unspecified) {
        output.WriteRawTag(16);
        output.WriteEnum((int) SeverityNumber);
      }
      if (SeverityText.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(SeverityText);
      }
      if (body_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(Body);
      }
      attributes_.WriteTo(ref output, _repeated_attributes_codec);
      if (DroppedAttributesCount != 0) {
        output.WriteRawTag(56);
        output.WriteUInt32(DroppedAttributesCount);
      }
      if (Flags != 0) {
        output.WriteRawTag(69);
        output.WriteFixed32(Flags);
      }
      if (TraceId.Length != 0) {
        output.WriteRawTag(74);
        output.WriteBytes(TraceId);
      }
      if (SpanId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteBytes(SpanId);
      }
      if (ObservedTimeUnixNano != 0UL) {
        output.WriteRawTag(89);
        output.WriteFixed64(ObservedTimeUnixNano);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (TimeUnixNano != 0UL) {
        size += 1 + 8;
      }
      if (ObservedTimeUnixNano != 0UL) {
        size += 1 + 8;
      }
      if (SeverityNumber != global::OpenTelemetry.Proto.Logs.V1.SeverityNumber.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SeverityNumber);
      }
      if (SeverityText.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SeverityText);
      }
      if (body_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Body);
      }
      size += attributes_.CalculateSize(_repeated_attributes_codec);
      if (DroppedAttributesCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(DroppedAttributesCount);
      }
      if (Flags != 0) {
        size += 1 + 4;
      }
      if (TraceId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(TraceId);
      }
      if (SpanId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeBytesSize(SpanId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LogRecord other) {
      if (other == null) {
        return;
      }
      if (other.TimeUnixNano != 0UL) {
        TimeUnixNano = other.TimeUnixNano;
      }
      if (other.ObservedTimeUnixNano != 0UL) {
        ObservedTimeUnixNano = other.ObservedTimeUnixNano;
      }
      if (other.SeverityNumber != global::OpenTelemetry.Proto.Logs.V1.SeverityNumber.Unspecified) {
        SeverityNumber = other.SeverityNumber;
      }
      if (other.SeverityText.Length != 0) {
        SeverityText = other.SeverityText;
      }
      if (other.body_ != null) {
        if (body_ == null) {
          Body = new global::OpenTelemetry.Proto.Common.V1.AnyValue();
        }
        Body.MergeFrom(other.Body);
      }
      attributes_.Add(other.attributes_);
      if (other.DroppedAttributesCount != 0) {
        DroppedAttributesCount = other.DroppedAttributesCount;
      }
      if (other.Flags != 0) {
        Flags = other.Flags;
      }
      if (other.TraceId.Length != 0) {
        TraceId = other.TraceId;
      }
      if (other.SpanId.Length != 0) {
        SpanId = other.SpanId;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 9: {
            TimeUnixNano = input.ReadFixed64();
            break;
          }
          case 16: {
            SeverityNumber = (global::OpenTelemetry.Proto.Logs.V1.SeverityNumber) input.ReadEnum();
            break;
          }
          case 26: {
            SeverityText = input.ReadString();
            break;
          }
          case 42: {
            if (body_ == null) {
              Body = new global::OpenTelemetry.Proto.Common.V1.AnyValue();
            }
            input.ReadMessage(Body);
            break;
          }
          case 50: {
            attributes_.AddEntriesFrom(input, _repeated_attributes_codec);
            break;
          }
          case 56: {
            DroppedAttributesCount = input.ReadUInt32();
            break;
          }
          case 69: {
            Flags = input.ReadFixed32();
            break;
          }
          case 74: {
            TraceId = input.ReadBytes();
            break;
          }
          case 82: {
            SpanId = input.ReadBytes();
            break;
          }
          case 89: {
            ObservedTimeUnixNano = input.ReadFixed64();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 9: {
            TimeUnixNano = input.ReadFixed64();
            break;
          }
          case 16: {
            SeverityNumber = (global::OpenTelemetry.Proto.Logs.V1.SeverityNumber) input.ReadEnum();
            break;
          }
          case 26: {
            SeverityText = input.ReadString();
            break;
          }
          case 42: {
            if (body_ == null) {
              Body = new global::OpenTelemetry.Proto.Common.V1.AnyValue();
            }
            input.ReadMessage(Body);
            break;
          }
          case 50: {
            attributes_.AddEntriesFrom(ref input, _repeated_attributes_codec);
            break;
          }
          case 56: {
            DroppedAttributesCount = input.ReadUInt32();
            break;
          }
          case 69: {
            Flags = input.ReadFixed32();
            break;
          }
          case 74: {
            TraceId = input.ReadBytes();
            break;
          }
          case 82: {
            SpanId = input.ReadBytes();
            break;
          }
          case 89: {
            ObservedTimeUnixNano = input.ReadFixed64();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code