diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,11 @@
 # Changelog for otlp
 
+## Unreleased
+
+## 0.1.1.0
+
+- Support OTLP specification v1.7
+
 ## 0.1.0.0
 
 Support OTLP specification v1.0.0
diff --git a/hs-opentelemetry-otlp.cabal b/hs-opentelemetry-otlp.cabal
--- a/hs-opentelemetry-otlp.cabal
+++ b/hs-opentelemetry-otlp.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.36.0.
+-- This file has been generated from package.yaml by hpack version 0.37.0.
 --
 -- see: https://github.com/sol/hpack
 
 name:           hs-opentelemetry-otlp
-version:        0.1.0.0
+version:        0.1.1.0
 synopsis:       OpenTelemetry protocol buffer modules generated for the OTLP protocol by the proto-lens package
 description:    Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry#readme>
 category:       OpenTelemetry
@@ -22,10 +22,12 @@
     ChangeLog.md
     proto/opentelemetry/proto/collector/logs/v1/logs_service.proto
     proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto
+    proto/opentelemetry/proto/collector/profiles/v1development/profiles_service.proto
     proto/opentelemetry/proto/collector/trace/v1/trace_service.proto
     proto/opentelemetry/proto/common/v1/common.proto
     proto/opentelemetry/proto/logs/v1/logs.proto
     proto/opentelemetry/proto/metrics/v1/metrics.proto
+    proto/opentelemetry/proto/profiles/v1development/profiles.proto
     proto/opentelemetry/proto/resource/v1/resource.proto
     proto/opentelemetry/proto/trace/v1/trace.proto
 
@@ -39,6 +41,8 @@
       Proto.Opentelemetry.Proto.Collector.Logs.V1.LogsService_Fields
       Proto.Opentelemetry.Proto.Collector.Metrics.V1.MetricsService
       Proto.Opentelemetry.Proto.Collector.Metrics.V1.MetricsService_Fields
+      Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService
+      Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields
       Proto.Opentelemetry.Proto.Collector.Trace.V1.TraceService
       Proto.Opentelemetry.Proto.Collector.Trace.V1.TraceService_Fields
       Proto.Opentelemetry.Proto.Common.V1.Common
@@ -47,6 +51,8 @@
       Proto.Opentelemetry.Proto.Logs.V1.Logs_Fields
       Proto.Opentelemetry.Proto.Metrics.V1.Metrics
       Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields
+      Proto.Opentelemetry.Proto.Profiles.V1development.Profiles
+      Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields
       Proto.Opentelemetry.Proto.Resource.V1.Resource
       Proto.Opentelemetry.Proto.Resource.V1.Resource_Fields
       Proto.Opentelemetry.Proto.Trace.V1.Trace
diff --git a/proto/opentelemetry/proto/collector/logs/v1/logs_service.proto b/proto/opentelemetry/proto/collector/logs/v1/logs_service.proto
--- a/proto/opentelemetry/proto/collector/logs/v1/logs_service.proto
+++ b/proto/opentelemetry/proto/collector/logs/v1/logs_service.proto
@@ -28,8 +28,6 @@
 // OpenTelemetry and an collector, or between an collector and a central collector (in this
 // case logs are sent/received to/from multiple Applications).
 service LogsService {
-  // For performance reasons, it is recommended to keep this RPC
-  // alive for the entire life of the application.
   rpc Export(ExportLogsServiceRequest) returns (ExportLogsServiceResponse) {}
 }
 
diff --git a/proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto b/proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto
--- a/proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto
+++ b/proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto
@@ -28,8 +28,6 @@
 // instrumented with OpenTelemetry and a collector, or between a collector and a
 // central collector.
 service MetricsService {
-  // For performance reasons, it is recommended to keep this RPC
-  // alive for the entire life of the application.
   rpc Export(ExportMetricsServiceRequest) returns (ExportMetricsServiceResponse) {}
 }
 
diff --git a/proto/opentelemetry/proto/collector/profiles/v1development/profiles_service.proto b/proto/opentelemetry/proto/collector/profiles/v1development/profiles_service.proto
new file mode 100644
--- /dev/null
+++ b/proto/opentelemetry/proto/collector/profiles/v1development/profiles_service.proto
@@ -0,0 +1,79 @@
+// Copyright 2023, OpenTelemetry Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package opentelemetry.proto.collector.profiles.v1development;
+
+import "opentelemetry/proto/profiles/v1development/profiles.proto";
+
+option csharp_namespace = "OpenTelemetry.Proto.Collector.Profiles.V1Development";
+option java_multiple_files = true;
+option java_package = "io.opentelemetry.proto.collector.profiles.v1development";
+option java_outer_classname = "ProfilesServiceProto";
+option go_package = "go.opentelemetry.io/proto/otlp/collector/profiles/v1development";
+
+// Service that can be used to push profiles between one Application instrumented with
+// OpenTelemetry and a collector, or between a collector and a central collector.
+service ProfilesService {
+  rpc Export(ExportProfilesServiceRequest) returns (ExportProfilesServiceResponse) {}
+}
+
+message ExportProfilesServiceRequest {
+  // An array of ResourceProfiles.
+  // For data coming from a single resource this array will typically contain one
+  // element. Intermediary nodes (such as OpenTelemetry Collector) that receive
+  // data from multiple origins typically batch the data before forwarding further and
+  // in that case this array will contain multiple elements.
+  repeated opentelemetry.proto.profiles.v1development.ResourceProfiles resource_profiles = 1;
+
+  // The reference table containing all data shared by profiles across the message being sent.
+  opentelemetry.proto.profiles.v1development.ProfilesDictionary dictionary = 2;
+}
+
+message ExportProfilesServiceResponse {
+  // The details of a partially successful export request.
+  //
+  // If the request is only partially accepted
+  // (i.e. when the server accepts only parts of the data and rejects the rest)
+  // the server MUST initialize the `partial_success` field and MUST
+  // set the `rejected_<signal>` with the number of items it rejected.
+  //
+  // Servers MAY also make use of the `partial_success` field to convey
+  // warnings/suggestions to senders even when the request was fully accepted.
+  // In such cases, the `rejected_<signal>` MUST have a value of `0` and
+  // the `error_message` MUST be non-empty.
+  //
+  // A `partial_success` message with an empty value (rejected_<signal> = 0 and
+  // `error_message` = "") is equivalent to it not being set/present. Senders
+  // SHOULD interpret it the same way as in the full success case.
+  ExportProfilesPartialSuccess partial_success = 1;
+}
+
+message ExportProfilesPartialSuccess {
+  // The number of rejected profiles.
+  //
+  // A `rejected_<signal>` field holding a `0` value indicates that the
+  // request was fully accepted.
+  int64 rejected_profiles = 1;
+
+  // A developer-facing human-readable message in English. It should be used
+  // either to explain why the server rejected parts of the data during a partial
+  // success or to convey warnings/suggestions during a full success. The message
+  // should offer guidance on how users can address such issues.
+  //
+  // error_message is an optional field. An error_message with an empty value
+  // is equivalent to it not being set.
+  string error_message = 2;
+}
diff --git a/proto/opentelemetry/proto/collector/trace/v1/trace_service.proto b/proto/opentelemetry/proto/collector/trace/v1/trace_service.proto
--- a/proto/opentelemetry/proto/collector/trace/v1/trace_service.proto
+++ b/proto/opentelemetry/proto/collector/trace/v1/trace_service.proto
@@ -28,8 +28,6 @@
 // OpenTelemetry and a collector, or between a collector and a central collector (in this
 // case spans are sent/received to/from multiple Applications).
 service TraceService {
-  // For performance reasons, it is recommended to keep this RPC
-  // alive for the entire life of the application.
   rpc Export(ExportTraceServiceRequest) returns (ExportTraceServiceResponse) {}
 }
 
diff --git a/proto/opentelemetry/proto/common/v1/common.proto b/proto/opentelemetry/proto/common/v1/common.proto
--- a/proto/opentelemetry/proto/common/v1/common.proto
+++ b/proto/opentelemetry/proto/common/v1/common.proto
@@ -79,3 +79,37 @@
   repeated KeyValue attributes = 3;
   uint32 dropped_attributes_count = 4;
 }
+
+// A reference to an Entity.
+// Entity represents an object of interest associated with produced telemetry: e.g spans, metrics, profiles, or logs.
+//
+// Status: [Development]
+message EntityRef {
+  // The Schema URL, if known. This is the identifier of the Schema that the entity data
+  // is recorded in. To learn more about Schema URL see
+  // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
+  //
+  // This schema_url applies to the data in this message and to the Resource attributes
+  // referenced by id_keys and description_keys.
+  // TODO: discuss if we are happy with this somewhat complicated definition of what
+  // the schema_url applies to.
+  //
+  // This field obsoletes the schema_url field in ResourceMetrics/ResourceSpans/ResourceLogs.
+  string schema_url = 1;
+
+  // Defines the type of the entity. MUST not change during the lifetime of the entity.
+  // For example: "service" or "host". This field is required and MUST not be empty
+  // for valid entities.
+  string type = 2;
+
+  // Attribute Keys that identify the entity.
+  // MUST not change during the lifetime of the entity. The Id must contain at least one attribute.
+  // These keys MUST exist in the containing {message}.attributes.
+  repeated string id_keys = 3;
+
+  // Descriptive (non-identifying) attribute keys of the entity.
+  // MAY change over the lifetime of the entity. MAY be empty.
+  // These attribute keys are not part of entity's identity.
+  // These keys MUST exist in the containing {message}.attributes.
+  repeated string description_keys = 4;
+}
diff --git a/proto/opentelemetry/proto/logs/v1/logs.proto b/proto/opentelemetry/proto/logs/v1/logs.proto
--- a/proto/opentelemetry/proto/logs/v1/logs.proto
+++ b/proto/opentelemetry/proto/logs/v1/logs.proto
@@ -55,6 +55,10 @@
   // A list of ScopeLogs that originate from a resource.
   repeated ScopeLogs scope_logs = 2;
 
+  // The Schema URL, if known. This is the identifier of the Schema that the resource data
+  // is recorded in. Notably, the last part of the URL path is the version number of the
+  // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
+  // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
   // 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.
   string schema_url = 3;
@@ -70,6 +74,10 @@
   // A list of log records.
   repeated LogRecord log_records = 2;
 
+  // The Schema URL, if known. This is the identifier of the Schema that the log data
+  // is recorded in. Notably, the last part of the URL path is the version number of the
+  // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
+  // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
   // This schema_url applies to all logs in the "logs" field.
   string schema_url = 3;
 }
@@ -104,9 +112,11 @@
   SEVERITY_NUMBER_FATAL4 = 24;
 }
 
-// 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:
+// LogRecordFlags represents constants used to interpret the
+// LogRecord.flags field, which is protobuf 'fixed32' 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 & LOG_RECORD_FLAGS_TRACE_FLAGS_MASK)
 //
@@ -200,4 +210,16 @@
   //   - the field is not present,
   //   - the field contains an invalid value.
   bytes span_id = 10;
+
+  // A unique identifier of event category/type.
+  // All events with the same event_name are expected to conform to the same
+  // schema for both their attributes and their body.
+  //
+  // Recommended to be fully qualified and short (no longer than 256 characters).
+  //
+  // Presence of event_name on the log record identifies this record
+  // as an event.
+  //
+  // [Optional].
+  string event_name = 12;
 }
diff --git a/proto/opentelemetry/proto/metrics/v1/metrics.proto b/proto/opentelemetry/proto/metrics/v1/metrics.proto
--- a/proto/opentelemetry/proto/metrics/v1/metrics.proto
+++ b/proto/opentelemetry/proto/metrics/v1/metrics.proto
@@ -29,6 +29,24 @@
 // storage, OR can be embedded by other protocols that transfer OTLP metrics
 // data but do not implement the OTLP protocol.
 //
+// MetricsData
+// └─── ResourceMetrics
+//   ├── Resource
+//   ├── SchemaURL
+//   └── ScopeMetrics
+//      ├── Scope
+//      ├── SchemaURL
+//      └── Metric
+//         ├── Name
+//         ├── Description
+//         ├── Unit
+//         └── data
+//            ├── Gauge
+//            ├── Sum
+//            ├── Histogram
+//            ├── ExponentialHistogram
+//            └── Summary
+//
 // 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.
@@ -55,6 +73,10 @@
   // A list of metrics that originate from a resource.
   repeated ScopeMetrics scope_metrics = 2;
 
+  // The Schema URL, if known. This is the identifier of the Schema that the resource data
+  // is recorded in. Notably, the last part of the URL path is the version number of the
+  // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
+  // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
   // This schema_url applies to the data in the "resource" field. It does not apply
   // to the data in the "scope_metrics" field which have their own schema_url field.
   string schema_url = 3;
@@ -70,6 +92,10 @@
   // A list of metrics that originate from an instrumentation library.
   repeated Metric metrics = 2;
 
+  // The Schema URL, if known. This is the identifier of the Schema that the metric data
+  // is recorded in. Notably, the last part of the URL path is the version number of the
+  // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
+  // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
   // This schema_url applies to all metrics in the "metrics" field.
   string schema_url = 3;
 }
@@ -79,7 +105,6 @@
 //
 //   https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/data-model.md
 //
-//
 // The data model and relation between entities is shown in the
 // diagram below. Here, "DataPoint" is the term used to refer to any
 // one of the specific data point value types, and "points" is the term used
@@ -91,7 +116,7 @@
 // - DataPoint contains timestamps, attributes, and one of the possible value type
 //   fields.
 //
-//     Metric
+//    Metric
 //  +------------+
 //  |name        |
 //  |description |
@@ -162,14 +187,14 @@
 message Metric {
   reserved 4, 6, 8;
 
-  // name of the metric, including its DNS name prefix. It must be unique.
+  // name of the metric.
   string name = 1;
 
   // description of the metric, which can be used in documentation.
   string description = 2;
 
   // unit in which the metric value is reported. Follows the format
-  // described by http://unitsofmeasure.org/ucum.html.
+  // described by https://unitsofmeasure.org/ucum.html.
   string unit = 3;
 
   // Data determines the aggregation type (if any) of the metric, what is the
@@ -182,6 +207,15 @@
     ExponentialHistogram exponential_histogram = 10;
     Summary summary = 11;
   }
+
+  // Additional metadata attributes that describe the metric. [Optional].
+  // Attributes are non-identifying.
+  // Consumers SHOULD NOT need to be aware of these attributes.
+  // These attributes MAY be used to encode information allowing
+  // for lossless roundtrip translation to / from another data model.
+  // Attribute keys MUST be unique (it is not allowed to have more than one
+  // attribute with the same key).
+  repeated opentelemetry.proto.common.v1.KeyValue metadata = 12;
 }
 
 // Gauge represents the type of a scalar metric that always exports the
@@ -232,10 +266,13 @@
 
 // Summary metric data are used to convey quantile summaries,
 // a Prometheus (see: https://prometheus.io/docs/concepts/metric_types/#summary)
-// and OpenMetrics (see: https://github.com/OpenObservability/OpenMetrics/blob/4dbf6075567ab43296eed941037c12951faafb92/protos/prometheus.proto#L45)
+// and OpenMetrics (see: https://github.com/prometheus/OpenMetrics/blob/4dbf6075567ab43296eed941037c12951faafb92/protos/prometheus.proto#L45)
 // data type. These data points cannot always be merged in a meaningful way.
 // While they can be useful in some applications, histogram data points are
 // recommended for new applications.
+// Summary metrics do not have an aggregation temporality field. This is
+// because the count and sum fields of a SummaryDataPoint are assumed to be
+// cumulative values.
 message Summary {
   repeated SummaryDataPoint data_points = 1;
 }
@@ -415,7 +452,7 @@
   // events, and is assumed to be monotonic over the values of these events.
   // Negative events *can* be recorded, but sum should not be filled out when
   // doing so.  This is specifically to enforce compatibility w/ OpenMetrics,
-  // see: https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#histogram
+  // see: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#histogram
   optional double sum = 5;
 
   // bucket_counts is an optional field contains the count values of histogram
@@ -424,7 +461,9 @@
   // The sum of the bucket_counts must equal the value in the count field.
   //
   // The number of elements in bucket_counts array must be by one greater than
-  // the number of elements in explicit_bounds array.
+  // the number of elements in explicit_bounds array. The exception to this rule
+  // is when the length of bucket_counts is 0, then the length of explicit_bounds
+  // must also be 0.
   repeated fixed64 bucket_counts = 6;
 
   // explicit_bounds specifies buckets with explicitly defined bounds for values.
@@ -440,6 +479,9 @@
   // Histogram buckets are inclusive of their upper boundary, except the last
   // bucket where the boundary is at infinity. This format is intentionally
   // compatible with the OpenMetrics histogram definition.
+  //
+  // If bucket_counts length is 0 then explicit_bounds length must also be 0,
+  // otherwise the data point is invalid.
   repeated double explicit_bounds = 7;
 
   // (Optional) List of exemplars collected from
@@ -494,9 +536,9 @@
   // events, and is assumed to be monotonic over the values of these events.
   // Negative events *can* be recorded, but sum should not be filled out when
   // doing so.  This is specifically to enforce compatibility w/ OpenMetrics,
-  // see: https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#histogram
+  // see: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#histogram
   optional double sum = 5;
-  
+
   // scale describes the resolution of the histogram.  Boundaries are
   // located at powers of the base, where:
   //
@@ -534,7 +576,7 @@
   // of counts.
   message Buckets {
     // Offset is the bucket index of the first entry in the bucket_counts array.
-    // 
+    //
     // Note: This uses a varint encoding as a simple form of compression.
     sint32 offset = 1;
 
@@ -548,7 +590,7 @@
     // especially zeros, so uint64 has been selected to ensure
     // varint encoding.
     repeated uint64 bucket_counts = 2;
-  } 
+  }
 
   // Flags that apply to this specific data point.  See DataPointFlags
   // for the available flags and their meaning.
@@ -574,7 +616,8 @@
 }
 
 // SummaryDataPoint is a single data point in a timeseries that describes the
-// time-varying values of a Summary metric.
+// time-varying values of a Summary metric. The count and sum fields represent
+// cumulative values.
 message SummaryDataPoint {
   reserved 1;
 
@@ -607,7 +650,7 @@
   // events, and is assumed to be monotonic over the values of these events.
   // Negative events *can* be recorded, but sum should not be filled out when
   // doing so.  This is specifically to enforce compatibility w/ OpenMetrics,
-  // see: https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#summary
+  // see: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#summary
   double sum = 5;
 
   // Represents the value at a given quantile of a distribution.
diff --git a/proto/opentelemetry/proto/profiles/v1development/profiles.proto b/proto/opentelemetry/proto/profiles/v1development/profiles.proto
new file mode 100644
--- /dev/null
+++ b/proto/opentelemetry/proto/profiles/v1development/profiles.proto
@@ -0,0 +1,487 @@
+// Copyright 2023, OpenTelemetry Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// This file includes work covered by the following copyright and permission notices:
+//
+// Copyright 2016 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package opentelemetry.proto.profiles.v1development;
+
+import "opentelemetry/proto/common/v1/common.proto";
+import "opentelemetry/proto/resource/v1/resource.proto";
+
+option csharp_namespace = "OpenTelemetry.Proto.Profiles.V1Development";
+option java_multiple_files = true;
+option java_package = "io.opentelemetry.proto.profiles.v1development";
+option java_outer_classname = "ProfilesProto";
+option go_package = "go.opentelemetry.io/proto/otlp/profiles/v1development";
+
+//                Relationships Diagram
+//
+// ┌──────────────────┐                      LEGEND
+// │   ProfilesData   │ ─────┐
+// └──────────────────┘      │           ─────▶ embedded
+//   │                       │
+//   │ 1-n                   │           ─────▷ referenced by index
+//   ▼                       ▼
+// ┌──────────────────┐   ┌────────────────────┐
+// │ ResourceProfiles │   │ ProfilesDictionary │
+// └──────────────────┘   └────────────────────┘
+//   │
+//   │ 1-n
+//   ▼
+// ┌──────────────────┐
+// │  ScopeProfiles   │
+// └──────────────────┘
+//   │
+//   │ 1-1
+//   ▼
+// ┌──────────────────┐
+// │      Profile     │
+// └──────────────────┘
+//   │                                n-1
+//   │ 1-n         ┌───────────────────────────────────────┐
+//   ▼             │                                       ▽
+// ┌──────────────────┐   1-n   ┌──────────────┐      ┌──────────┐
+// │      Sample      │ ──────▷ │   KeyValue   │      │   Link   │
+// └──────────────────┘         └──────────────┘      └──────────┘
+//   │                    1-n       △      △
+//   │ 1-n        ┌─────────────────┘      │ 1-n
+//   ▽            │                        │
+// ┌──────────────────┐   n-1   ┌──────────────┐
+// │     Location     │ ──────▷ │   Mapping    │
+// └──────────────────┘         └──────────────┘
+//   │
+//   │ 1-n
+//   ▼
+// ┌──────────────────┐
+// │       Line       │
+// └──────────────────┘
+//   │
+//   │ 1-1
+//   ▽
+// ┌──────────────────┐
+// │     Function     │
+// └──────────────────┘
+//
+
+// ProfilesDictionary represents the profiles data shared across the
+// entire message being sent.
+message ProfilesDictionary {
+  // Mappings from address ranges to the image/binary/library mapped
+  // into that address range referenced by locations via Location.mapping_index.
+  repeated Mapping mapping_table = 1;
+
+  // Locations referenced by samples via Profile.location_indices.
+  repeated Location location_table = 2;
+
+  // Functions referenced by locations via Line.function_index.
+  repeated Function function_table = 3;
+
+  // Links referenced by samples via Sample.link_index.
+  repeated Link link_table = 4;
+
+  // A common table for strings referenced by various messages.
+  // string_table[0] must always be "".
+  repeated string string_table = 5;
+
+  // A common table for attributes referenced by various messages.
+  repeated opentelemetry.proto.common.v1.KeyValue attribute_table = 6;
+
+  // Represents a mapping between Attribute Keys and Units.
+  repeated AttributeUnit attribute_units = 7;
+}
+
+// ProfilesData represents the profiles data that can be stored in persistent storage,
+// OR can be embedded by other protocols that transfer OTLP profiles 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.
+message ProfilesData {
+  // An array of ResourceProfiles.
+  // For data coming from an SDK profiler, this array will typically contain one
+  // element. Host-level profilers will usually create one ResourceProfile per
+  // container, as well as one additional ResourceProfile grouping all samples
+  // from non-containerized processes.
+  // Other resource groupings are possible as well and clarified via
+  // Resource.attributes and semantic conventions.
+  repeated ResourceProfiles resource_profiles = 1;
+
+  // One instance of ProfilesDictionary
+  ProfilesDictionary dictionary = 2;
+}
+
+
+// A collection of ScopeProfiles from a Resource.
+message ResourceProfiles {
+  reserved 1000;
+
+  // The resource for the profiles in this message.
+  // If this field is not set then no resource info is known.
+  opentelemetry.proto.resource.v1.Resource resource = 1;
+
+  // A list of ScopeProfiles that originate from a resource.
+  repeated ScopeProfiles scope_profiles = 2;
+
+  // The Schema URL, if known. This is the identifier of the Schema that the resource data
+  // is recorded in. Notably, the last part of the URL path is the version number of the
+  // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
+  // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
+  // This schema_url applies to the data in the "resource" field. It does not apply
+  // to the data in the "scope_profiles" field which have their own schema_url field.
+  string schema_url = 3;
+}
+
+// A collection of Profiles produced by an InstrumentationScope.
+message ScopeProfiles {
+  // The instrumentation scope information for the profiles in this message.
+  // Semantically when InstrumentationScope isn't set, it is equivalent with
+  // an empty instrumentation scope name (unknown).
+  opentelemetry.proto.common.v1.InstrumentationScope scope = 1;
+
+  // A list of Profiles that originate from an instrumentation scope.
+  repeated Profile profiles = 2;
+
+  // The Schema URL, if known. This is the identifier of the Schema that the profile data
+  // is recorded in. Notably, the last part of the URL path is the version number of the
+  // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
+  // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
+  // This schema_url applies to all profiles in the "profiles" field.
+  string schema_url = 3;
+}
+
+// Profile is a common stacktrace profile format.
+//
+// Measurements represented with this format should follow the
+// following conventions:
+//
+// - Consumers should treat unset optional fields as if they had been
+//   set with their default value.
+//
+// - When possible, measurements should be stored in "unsampled" form
+//   that is most useful to humans.  There should be enough
+//   information present to determine the original sampled values.
+//
+// - On-disk, the serialized proto must be gzip-compressed.
+//
+// - The profile is represented as a set of samples, where each sample
+//   references a sequence of locations, and where each location belongs
+//   to a mapping.
+// - There is a N->1 relationship from sample.location_id entries to
+//   locations. For every sample.location_id entry there must be a
+//   unique Location with that index.
+// - There is an optional N->1 relationship from locations to
+//   mappings. For every nonzero Location.mapping_id there must be a
+//   unique Mapping with that index.
+
+// Represents a complete profile, including sample types, samples,
+// mappings to binaries, locations, functions, string table, and additional metadata.
+// It modifies and annotates pprof Profile with OpenTelemetry specific fields.
+//
+// Note that whilst fields in this message retain the name and field id from pprof in most cases
+// for ease of understanding data migration, it is not intended that pprof:Profile and
+// OpenTelemetry:Profile encoding be wire compatible.
+message Profile {
+  // A description of the samples associated with each Sample.value.
+  // For a cpu profile this might be:
+  //   [["cpu","nanoseconds"]] or [["wall","seconds"]] or [["syscall","count"]]
+  // For a heap profile, this might be:
+  //   [["allocations","count"], ["space","bytes"]],
+  // If one of the values represents the number of events represented
+  // by the sample, by convention it should be at index 0 and use
+  // sample_type.unit == "count".
+  repeated ValueType sample_type = 1;
+  // The set of samples recorded in this profile.
+  repeated Sample sample = 2;
+
+  // References to locations in ProfilesDictionary.location_table.
+  repeated int32 location_indices = 3;
+
+  // The following fields 4-14 are informational, do not affect
+  // interpretation of results.
+
+  // Time of collection (UTC) represented as nanoseconds past the epoch.
+  int64 time_nanos = 4;
+  // Duration of the profile, if a duration makes sense.
+  int64 duration_nanos = 5;
+  // The kind of events between sampled occurrences.
+  // e.g [ "cpu","cycles" ] or [ "heap","bytes" ]
+  ValueType period_type = 6;
+  // The number of events between sampled occurrences.
+  int64 period = 7;
+  // Free-form text associated with the profile. The text is displayed as is
+  // to the user by the tools that read profiles (e.g. by pprof). This field
+  // should not be used to store any machine-readable information, it is only
+  // for human-friendly content. The profile must stay functional if this field
+  // is cleaned.
+  repeated int32 comment_strindices = 8; // Indices into ProfilesDictionary.string_table.
+  // Index into the sample_type array to the default sample type.
+  int32 default_sample_type_index = 9;
+
+  // A globally unique identifier for a profile. The ID is a 16-byte array. An ID with
+  // all zeroes is considered invalid.
+  //
+  // This field is required.
+  bytes profile_id = 10;
+
+  // dropped_attributes_count is the number of attributes that were discarded. Attributes
+  // can be discarded because their keys are too long or because there are too many
+  // attributes. If this value is 0, then no attributes were dropped.
+  uint32 dropped_attributes_count = 11;
+
+  // Specifies format of the original payload. Common values are defined in semantic conventions. [required if original_payload is present]
+  string original_payload_format = 12;
+
+  // Original payload can be stored in this field. This can be useful for users who want to get the original payload.
+  // Formats such as JFR are highly extensible and can contain more information than what is defined in this spec.
+  // Inclusion of original payload should be configurable by the user. Default behavior should be to not include the original payload.
+  // If the original payload is in pprof format, it SHOULD not be included in this field.
+  // The field is optional, however if it is present then equivalent converted data should be populated in other fields
+  // of this message as far as is practicable.
+  bytes original_payload = 13;
+
+  // References to attributes in attribute_table. [optional]
+  // It is a collection of key/value pairs. Note, global attributes
+  // like server name can be set using the resource API. Examples of attributes:
+  //
+  //     "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
+  //     "/http/server_latency": 300
+  //     "abc.com/myattribute": true
+  //     "abc.com/score": 10.239
+  //
+  // The OpenTelemetry API specification further restricts the allowed value types:
+  // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute
+  // Attribute keys MUST be unique (it is not allowed to have more than one
+  // attribute with the same key).
+  repeated int32 attribute_indices = 14;
+}
+
+// Represents a mapping between Attribute Keys and Units.
+message AttributeUnit {
+  // Index into string table.
+  int32 attribute_key_strindex = 1;
+  // Index into string table.
+  int32 unit_strindex = 2;
+}
+
+// A pointer from a profile Sample to a trace Span.
+// Connects a profile sample to a trace span, identified by unique trace and span IDs.
+message Link {
+  // A unique identifier of a trace that this linked span is part of. The ID is a
+  // 16-byte array.
+  bytes trace_id = 1;
+
+  // A unique identifier for the linked span. The ID is an 8-byte array.
+  bytes span_id = 2;
+}
+
+// Specifies the method of aggregating metric values, either DELTA (change since last report)
+// or CUMULATIVE (total since a fixed start time).
+enum AggregationTemporality {
+  /* UNSPECIFIED is the default AggregationTemporality, it MUST not be used. */
+  AGGREGATION_TEMPORALITY_UNSPECIFIED = 0;
+
+  /** DELTA is an AggregationTemporality for a profiler which reports
+  changes since last report time. Successive metrics contain aggregation of
+  values from continuous and non-overlapping intervals.
+
+  The values for a DELTA metric are based only on the time interval
+  associated with one measurement cycle. There is no dependency on
+  previous measurements like is the case for CUMULATIVE metrics.
+
+  For example, consider a system measuring the number of requests that
+  it receives and reports the sum of these requests every second as a
+  DELTA metric:
+
+  1. The system starts receiving at time=t_0.
+  2. A request is received, the system measures 1 request.
+  3. A request is received, the system measures 1 request.
+  4. A request is received, the system measures 1 request.
+  5. The 1 second collection cycle ends. A metric is exported for the
+      number of requests received over the interval of time t_0 to
+      t_0+1 with a value of 3.
+  6. A request is received, the system measures 1 request.
+  7. A request is received, the system measures 1 request.
+  8. The 1 second collection cycle ends. A metric is exported for the
+      number of requests received over the interval of time t_0+1 to
+      t_0+2 with a value of 2. */
+  AGGREGATION_TEMPORALITY_DELTA = 1;
+
+  /** CUMULATIVE is an AggregationTemporality for a profiler which
+  reports changes since a fixed start time. This means that current values
+  of a CUMULATIVE metric depend on all previous measurements since the
+  start time. Because of this, the sender is required to retain this state
+  in some form. If this state is lost or invalidated, the CUMULATIVE metric
+  values MUST be reset and a new fixed start time following the last
+  reported measurement time sent MUST be used.
+
+  For example, consider a system measuring the number of requests that
+  it receives and reports the sum of these requests every second as a
+  CUMULATIVE metric:
+
+  1. The system starts receiving at time=t_0.
+  2. A request is received, the system measures 1 request.
+  3. A request is received, the system measures 1 request.
+  4. A request is received, the system measures 1 request.
+  5. The 1 second collection cycle ends. A metric is exported for the
+      number of requests received over the interval of time t_0 to
+      t_0+1 with a value of 3.
+  6. A request is received, the system measures 1 request.
+  7. A request is received, the system measures 1 request.
+  8. The 1 second collection cycle ends. A metric is exported for the
+      number of requests received over the interval of time t_0 to
+      t_0+2 with a value of 5.
+  9. The system experiences a fault and loses state.
+  10. The system recovers and resumes receiving at time=t_1.
+  11. A request is received, the system measures 1 request.
+  12. The 1 second collection cycle ends. A metric is exported for the
+      number of requests received over the interval of time t_1 to
+      t_1+1 with a value of 1.
+
+  Note: Even though, when reporting changes since last report time, using
+  CUMULATIVE is valid, it is not recommended. */
+  AGGREGATION_TEMPORALITY_CUMULATIVE = 2;
+}
+
+// ValueType describes the type and units of a value, with an optional aggregation temporality.
+message ValueType {
+  int32 type_strindex = 1; // Index into ProfilesDictionary.string_table.
+  int32 unit_strindex = 2; // Index into ProfilesDictionary.string_table.
+
+  AggregationTemporality aggregation_temporality = 3;
+}
+
+// Each Sample records values encountered in some program
+// context. The program context is typically a stack trace, perhaps
+// augmented with auxiliary information like the thread-id, some
+// indicator of a higher level request being handled etc.
+message Sample {
+  // locations_start_index along with locations_length refers to to a slice of locations in Profile.location_indices.
+  int32 locations_start_index = 1;
+  // locations_length along with locations_start_index refers to a slice of locations in Profile.location_indices.
+  // Supersedes location_index.
+  int32 locations_length = 2;
+  // The type and unit of each value is defined by the corresponding
+  // entry in Profile.sample_type. All samples must have the same
+  // number of values, the same as the length of Profile.sample_type.
+  // When aggregating multiple samples into a single sample, the
+  // result has a list of values that is the element-wise sum of the
+  // lists of the originals.
+  repeated int64 value = 3;
+  // References to attributes in ProfilesDictionary.attribute_table. [optional]
+  repeated int32 attribute_indices = 4;
+
+  // Reference to link in ProfilesDictionary.link_table. [optional]
+  optional int32 link_index = 5;
+
+  // Timestamps associated with Sample represented in nanoseconds. These timestamps are expected
+  // to fall within the Profile's time range. [optional]
+  repeated uint64 timestamps_unix_nano = 6;
+}
+
+// Describes the mapping of a binary in memory, including its address range,
+// file offset, and metadata like build ID
+message Mapping {
+  // Address at which the binary (or DLL) is loaded into memory.
+  uint64 memory_start = 1;
+  // The limit of the address range occupied by this mapping.
+  uint64 memory_limit = 2;
+  // Offset in the binary that corresponds to the first mapped address.
+  uint64 file_offset = 3;
+  // The object this entry is loaded from.  This can be a filename on
+  // disk for the main binary and shared libraries, or virtual
+  // abstractions like "[vdso]".
+  int32 filename_strindex = 4;  // Index into ProfilesDictionary.string_table.
+  // References to attributes in ProfilesDictionary.attribute_table. [optional]
+  repeated int32 attribute_indices = 5;
+  // The following fields indicate the resolution of symbolic info.
+  bool has_functions = 6;
+  bool has_filenames = 7;
+  bool has_line_numbers = 8;
+  bool has_inline_frames = 9;
+}
+
+// Describes function and line table debug information.
+message Location {
+  // Reference to mapping in ProfilesDictionary.mapping_table.
+  // It can be unset if the mapping is unknown or not applicable for
+  // this profile type.
+  optional int32 mapping_index = 1;
+  // The instruction address for this location, if available.  It
+  // should be within [Mapping.memory_start...Mapping.memory_limit]
+  // for the corresponding mapping. A non-leaf address may be in the
+  // middle of a call instruction. It is up to display tools to find
+  // the beginning of the instruction if necessary.
+  uint64 address = 2;
+  // Multiple line indicates this location has inlined functions,
+  // where the last entry represents the caller into which the
+  // preceding entries were inlined.
+  //
+  // E.g., if memcpy() is inlined into printf:
+  //    line[0].function_name == "memcpy"
+  //    line[1].function_name == "printf"
+  repeated Line line = 3;
+  // Provides an indication that multiple symbols map to this location's
+  // address, for example due to identical code folding by the linker. In that
+  // case the line information above represents one of the multiple
+  // symbols. This field must be recomputed when the symbolization state of the
+  // profile changes.
+  bool is_folded = 4;
+
+  // References to attributes in ProfilesDictionary.attribute_table. [optional]
+  repeated int32 attribute_indices = 5;
+}
+
+// Details a specific line in a source code, linked to a function.
+message Line {
+  // Reference to function in ProfilesDictionary.function_table.
+  int32 function_index = 1;
+  // Line number in source code. 0 means unset.
+  int64 line = 2;
+  // Column number in source code. 0 means unset.
+  int64 column = 3;
+}
+
+// Describes a function, including its human-readable name, system name,
+// source file, and starting line number in the source.
+message Function {
+  // Function name. Empty string if not available.
+  int32 name_strindex = 1;
+  // Function name, as identified by the system. For instance,
+  // it can be a C++ mangled name. Empty string if not available.
+  int32 system_name_strindex = 2;
+  // Source file containing the function. Empty string if not available.
+  int32 filename_strindex = 3;
+  // Line number in source file. 0 means unset.
+  int64 start_line = 4;
+}
diff --git a/proto/opentelemetry/proto/resource/v1/resource.proto b/proto/opentelemetry/proto/resource/v1/resource.proto
--- a/proto/opentelemetry/proto/resource/v1/resource.proto
+++ b/proto/opentelemetry/proto/resource/v1/resource.proto
@@ -34,4 +34,11 @@
   // dropped_attributes_count is the number of dropped attributes. If the value is 0, then
   // no attributes were dropped.
   uint32 dropped_attributes_count = 2;
+
+  // Set of entities that participate in this Resource.
+  //
+  // Note: keys in the references MUST exist in attributes of this message.
+  //
+  // Status: [Development]
+  repeated opentelemetry.proto.common.v1.EntityRef entity_refs = 3;
 }
diff --git a/proto/opentelemetry/proto/trace/v1/trace.proto b/proto/opentelemetry/proto/trace/v1/trace.proto
--- a/proto/opentelemetry/proto/trace/v1/trace.proto
+++ b/proto/opentelemetry/proto/trace/v1/trace.proto
@@ -55,6 +55,10 @@
   // A list of ScopeSpans that originate from a resource.
   repeated ScopeSpans scope_spans = 2;
 
+  // The Schema URL, if known. This is the identifier of the Schema that the resource data
+  // is recorded in. Notably, the last part of the URL path is the version number of the
+  // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
+  // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
   // This schema_url applies to the data in the "resource" field. It does not apply
   // to the data in the "scope_spans" field which have their own schema_url field.
   string schema_url = 3;
@@ -70,6 +74,10 @@
   // A list of Spans that originate from an instrumentation scope.
   repeated Span spans = 2;
 
+  // The Schema URL, if known. This is the identifier of the Schema that the span data
+  // is recorded in. Notably, the last part of the URL path is the version number of the
+  // schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see
+  // https://opentelemetry.io/docs/specs/otel/schemas/#schema-url
   // This schema_url applies to all spans and span events in the "spans" field.
   string schema_url = 3;
 }
@@ -103,6 +111,29 @@
   // field must be empty. The ID is an 8-byte array.
   bytes parent_span_id = 4;
 
+  // Flags, a bit field.
+  //
+  // Bits 0-7 (8 least significant bits) are the trace flags as defined in W3C Trace
+  // Context specification. To read the 8-bit W3C trace flag, use
+  // `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`.
+  //
+  // See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.
+  //
+  // Bits 8 and 9 represent the 3 states of whether a span's parent
+  // is remote. The states are (unknown, is not remote, is remote).
+  // To read whether the value is known, use `(flags & SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0`.
+  // To read whether the span is remote, use `(flags & SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0`.
+  //
+  // When creating span messages, if the message is logically forwarded from another source
+  // with an equivalent flags fields (i.e., usually another OTLP span message), the field SHOULD
+  // be copied as-is. If creating from a source that does not have an equivalent flags field
+  // (such as a runtime representation of an OpenTelemetry span), the high 22 bits MUST
+  // be set to zero.
+  // Readers MUST NOT assume that bits 10-31 (22 most significant bits) will be zero.
+  //
+  // [Optional].
+  fixed32 flags = 16;
+
   // A description of the span's operation.
   //
   // For example, the name can be a qualified method name or a file name
@@ -236,6 +267,25 @@
     // dropped_attributes_count is the number of dropped attributes. If the value is 0,
     // then no attributes were dropped.
     uint32 dropped_attributes_count = 5;
+
+    // Flags, a bit field.
+    //
+    // Bits 0-7 (8 least significant bits) are the trace flags as defined in W3C Trace
+    // Context specification. To read the 8-bit W3C trace flag, use
+    // `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`.
+    //
+    // See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.
+    //
+    // Bits 8 and 9 represent the 3 states of whether the link is remote.
+    // The states are (unknown, is not remote, is remote).
+    // To read whether the value is known, use `(flags & SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0`.
+    // To read whether the link is remote, use `(flags & SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0`.
+    //
+    // Readers MUST NOT assume that bits 10-31 (22 most significant bits) will be zero.
+    // When creating new spans, bits 10-31 (most-significant 22-bits) MUST be zero.
+    //
+    // [Optional].
+    fixed32 flags = 6;
   }
 
   // links is a collection of Links, which are references from this span to a span
@@ -273,4 +323,35 @@
 
   // The status code.
   StatusCode code = 3;
+}
+
+// SpanFlags represents constants used to interpret the
+// Span.flags field, which is protobuf 'fixed32' 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:
+//
+//   (span.flags & SPAN_FLAGS_TRACE_FLAGS_MASK)
+//
+// See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.
+//
+// Note that Span flags were introduced in version 1.1 of the
+// OpenTelemetry protocol.  Older Span producers do not set this
+// field, consequently consumers should not rely on the absence of a
+// particular flag bit to indicate the presence of a particular feature.
+enum SpanFlags {
+  // The zero value for the enum. Should not be used for comparisons.
+  // Instead use bitwise "and" with the appropriate mask as shown above.
+  SPAN_FLAGS_DO_NOT_USE = 0;
+
+  // Bits 0-7 are used for trace flags.
+  SPAN_FLAGS_TRACE_FLAGS_MASK = 0x000000FF;
+
+  // Bits 8 and 9 are used to indicate that the parent span or link span is remote.
+  // Bit 8 (`HAS_IS_REMOTE`) indicates whether the value is known.
+  // Bit 9 (`IS_REMOTE`) indicates whether the span or link is remote.
+  SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK = 0x00000100;
+  SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK = 0x00000200;
+
+  // Bits 10-31 are reserved for future use.
 }
diff --git a/src/Proto/Opentelemetry/Proto/Collector/Logs/V1/LogsService.hs b/src/Proto/Opentelemetry/Proto/Collector/Logs/V1/LogsService.hs
--- a/src/Proto/Opentelemetry/Proto/Collector/Logs/V1/LogsService.hs
+++ b/src/Proto/Opentelemetry/Proto/Collector/Logs/V1/LogsService.hs
@@ -495,8 +495,8 @@
     \\rerror_message\CAN\STX \SOH(\tR\ferrorMessage2\157\SOH\n\
     \\vLogsService\DC2\141\SOH\n\
     \\ACKExport\DC2?.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest\SUB@.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse\"\NULB\152\SOH\n\
-    \(io.opentelemetry.proto.collector.logs.v1B\DLELogsServiceProtoP\SOHZ0go.opentelemetry.io/proto/otlp/collector/logs/v1\170\STX%OpenTelemetry.Proto.Collector.Logs.V1J\155\CAN\n\
-    \\ACK\DC2\EOT\SO\NULN\SOH\n\
+    \(io.opentelemetry.proto.collector.logs.v1B\DLELogsServiceProtoP\SOHZ0go.opentelemetry.io/proto/otlp/collector/logs/v1\170\STX%OpenTelemetry.Proto.Collector.Logs.V1J\173\ETB\n\
+    \\ACK\DC2\EOT\SO\NULL\SOH\n\
     \\200\EOT\n\
     \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2020, OpenTelemetry Authors\n\
     \\n\
@@ -538,53 +538,51 @@
     \\t\n\
     \\STX\b\v\DC2\ETX\CAN\NULG\n\
     \\245\SOH\n\
-    \\STX\ACK\NUL\DC2\EOT\GS\NUL!\SOH\SUB\232\SOH Service that can be used to push logs between one Application instrumented with\n\
+    \\STX\ACK\NUL\DC2\EOT\GS\NUL\US\SOH\SUB\232\SOH Service that can be used to push logs between one Application instrumented with\n\
     \ OpenTelemetry and an collector, or between an collector and a central collector (in this\n\
     \ case logs are sent/received to/from multiple Applications).\n\
     \\n\
     \\n\
     \\n\
     \\ETX\ACK\NUL\SOH\DC2\ETX\GS\b\DC3\n\
-    \y\n\
-    \\EOT\ACK\NUL\STX\NUL\DC2\ETX \STXM\SUBl For performance reasons, it is recommended to keep this RPC\n\
-    \ alive for the entire life of the application.\n\
-    \\n\
+    \\v\n\
+    \\EOT\ACK\NUL\STX\NUL\DC2\ETX\RS\STXM\n\
     \\f\n\
-    \\ENQ\ACK\NUL\STX\NUL\SOH\DC2\ETX \ACK\f\n\
+    \\ENQ\ACK\NUL\STX\NUL\SOH\DC2\ETX\RS\ACK\f\n\
     \\f\n\
-    \\ENQ\ACK\NUL\STX\NUL\STX\DC2\ETX \r%\n\
+    \\ENQ\ACK\NUL\STX\NUL\STX\DC2\ETX\RS\r%\n\
     \\f\n\
-    \\ENQ\ACK\NUL\STX\NUL\ETX\DC2\ETX 0I\n\
+    \\ENQ\ACK\NUL\STX\NUL\ETX\DC2\ETX\RS0I\n\
     \\n\
     \\n\
-    \\STX\EOT\NUL\DC2\EOT#\NUL*\SOH\n\
+    \\STX\EOT\NUL\DC2\EOT!\NUL(\SOH\n\
     \\n\
     \\n\
-    \\ETX\EOT\NUL\SOH\DC2\ETX#\b \n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX!\b \n\
     \\207\STX\n\
-    \\EOT\EOT\NUL\STX\NUL\DC2\ETX)\STXF\SUB\193\STX An array of ResourceLogs.\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\ETX'\STXF\SUB\193\STX An array of ResourceLogs.\n\
     \ For data coming from a single resource this array will typically contain one\n\
     \ element. Intermediary nodes (such as OpenTelemetry Collector) that receive\n\
     \ data from multiple origins typically batch the data before forwarding further and\n\
     \ in that case this array will contain multiple elements.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX)\STX\n\
+    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX'\STX\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX)\v3\n\
+    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX'\v3\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX)4A\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX'4A\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX)DE\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX'DE\n\
     \\n\
     \\n\
-    \\STX\EOT\SOH\DC2\EOT,\NUL=\SOH\n\
+    \\STX\EOT\SOH\DC2\EOT*\NUL;\SOH\n\
     \\n\
     \\n\
-    \\ETX\EOT\SOH\SOH\DC2\ETX,\b!\n\
+    \\ETX\EOT\SOH\SOH\DC2\ETX*\b!\n\
     \\148\ACK\n\
-    \\EOT\EOT\SOH\STX\NUL\DC2\ETX<\STX/\SUB\134\ACK The details of a partially successful export request.\n\
+    \\EOT\EOT\SOH\STX\NUL\DC2\ETX:\STX/\SUB\134\ACK The details of a partially successful export request.\n\
     \\n\
     \ If the request is only partially accepted\n\
     \ (i.e. when the server accepts only parts of the data and rejects the rest)\n\
@@ -601,31 +599,31 @@
     \ SHOULD interpret it the same way as in the full success case.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX<\STX\SUB\n\
+    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX:\STX\SUB\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX<\ESC*\n\
+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX:\ESC*\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX<-.\n\
+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX:-.\n\
     \\n\
     \\n\
-    \\STX\EOT\STX\DC2\EOT?\NULN\SOH\n\
+    \\STX\EOT\STX\DC2\EOT=\NULL\SOH\n\
     \\n\
     \\n\
-    \\ETX\EOT\STX\SOH\DC2\ETX?\b \n\
+    \\ETX\EOT\STX\SOH\DC2\ETX=\b \n\
     \\149\SOH\n\
-    \\EOT\EOT\STX\STX\NUL\DC2\ETXD\STX!\SUB\135\SOH The number of rejected log records.\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\ETXB\STX!\SUB\135\SOH The number of rejected log records.\n\
     \\n\
     \ A `rejected_<signal>` field holding a `0` value indicates that the\n\
     \ request was fully accepted.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETXD\STX\a\n\
+    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETXB\STX\a\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXD\b\FS\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXB\b\FS\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXD\US \n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXB\US \n\
     \\159\ETX\n\
-    \\EOT\EOT\STX\STX\SOH\DC2\ETXM\STX\ESC\SUB\145\ETX A developer-facing human-readable message in English. It should be used\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\ETXK\STX\ESC\SUB\145\ETX A developer-facing human-readable message in English. It should be used\n\
     \ either to explain why the server rejected parts of the data during a partial\n\
     \ success or to convey warnings/suggestions during a full success. The message\n\
     \ should offer guidance on how users can address such issues.\n\
@@ -634,8 +632,8 @@
     \ is equivalent to it not being set.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXM\STX\b\n\
+    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXK\STX\b\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXM\t\SYN\n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXK\t\SYN\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXM\EM\SUBb\ACKproto3"
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXK\EM\SUBb\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Collector/Metrics/V1/MetricsService.hs b/src/Proto/Opentelemetry/Proto/Collector/Metrics/V1/MetricsService.hs
--- a/src/Proto/Opentelemetry/Proto/Collector/Metrics/V1/MetricsService.hs
+++ b/src/Proto/Opentelemetry/Proto/Collector/Metrics/V1/MetricsService.hs
@@ -500,8 +500,8 @@
     \\rerror_message\CAN\STX \SOH(\tR\ferrorMessage2\172\SOH\n\
     \\SOMetricsService\DC2\153\SOH\n\
     \\ACKExport\DC2E.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest\SUBF.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse\"\NULB\164\SOH\n\
-    \+io.opentelemetry.proto.collector.metrics.v1B\DC3MetricsServiceProtoP\SOHZ3go.opentelemetry.io/proto/otlp/collector/metrics/v1\170\STX(OpenTelemetry.Proto.Collector.Metrics.V1J\219\ETB\n\
-    \\ACK\DC2\EOT\SO\NULN\SOH\n\
+    \+io.opentelemetry.proto.collector.metrics.v1B\DC3MetricsServiceProtoP\SOHZ3go.opentelemetry.io/proto/otlp/collector/metrics/v1\170\STX(OpenTelemetry.Proto.Collector.Metrics.V1J\237\SYN\n\
+    \\ACK\DC2\EOT\SO\NULL\SOH\n\
     \\200\EOT\n\
     \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2019, OpenTelemetry Authors\n\
     \\n\
@@ -543,53 +543,51 @@
     \\t\n\
     \\STX\b\v\DC2\ETX\CAN\NULJ\n\
     \\178\SOH\n\
-    \\STX\ACK\NUL\DC2\EOT\GS\NUL!\SOH\SUB\165\SOH Service that can be used to push metrics between one Application\n\
+    \\STX\ACK\NUL\DC2\EOT\GS\NUL\US\SOH\SUB\165\SOH Service that can be used to push metrics between one Application\n\
     \ instrumented with OpenTelemetry and a collector, or between a collector and a\n\
     \ central collector.\n\
     \\n\
     \\n\
     \\n\
     \\ETX\ACK\NUL\SOH\DC2\ETX\GS\b\SYN\n\
-    \y\n\
-    \\EOT\ACK\NUL\STX\NUL\DC2\ETX \STXS\SUBl For performance reasons, it is recommended to keep this RPC\n\
-    \ alive for the entire life of the application.\n\
-    \\n\
+    \\v\n\
+    \\EOT\ACK\NUL\STX\NUL\DC2\ETX\RS\STXS\n\
     \\f\n\
-    \\ENQ\ACK\NUL\STX\NUL\SOH\DC2\ETX \ACK\f\n\
+    \\ENQ\ACK\NUL\STX\NUL\SOH\DC2\ETX\RS\ACK\f\n\
     \\f\n\
-    \\ENQ\ACK\NUL\STX\NUL\STX\DC2\ETX \r(\n\
+    \\ENQ\ACK\NUL\STX\NUL\STX\DC2\ETX\RS\r(\n\
     \\f\n\
-    \\ENQ\ACK\NUL\STX\NUL\ETX\DC2\ETX 3O\n\
+    \\ENQ\ACK\NUL\STX\NUL\ETX\DC2\ETX\RS3O\n\
     \\n\
     \\n\
-    \\STX\EOT\NUL\DC2\EOT#\NUL*\SOH\n\
+    \\STX\EOT\NUL\DC2\EOT!\NUL(\SOH\n\
     \\n\
     \\n\
-    \\ETX\EOT\NUL\SOH\DC2\ETX#\b#\n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX!\b#\n\
     \\210\STX\n\
-    \\EOT\EOT\NUL\STX\NUL\DC2\ETX)\STXO\SUB\196\STX An array of ResourceMetrics.\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\ETX'\STXO\SUB\196\STX An array of ResourceMetrics.\n\
     \ For data coming from a single resource this array will typically contain one\n\
     \ element. Intermediary nodes (such as OpenTelemetry Collector) that receive\n\
     \ data from multiple origins typically batch the data before forwarding further and\n\
     \ in that case this array will contain multiple elements.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX)\STX\n\
+    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX'\STX\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX)\v9\n\
+    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX'\v9\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX):J\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX':J\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX)MN\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX'MN\n\
     \\n\
     \\n\
-    \\STX\EOT\SOH\DC2\EOT,\NUL=\SOH\n\
+    \\STX\EOT\SOH\DC2\EOT*\NUL;\SOH\n\
     \\n\
     \\n\
-    \\ETX\EOT\SOH\SOH\DC2\ETX,\b$\n\
+    \\ETX\EOT\SOH\SOH\DC2\ETX*\b$\n\
     \\148\ACK\n\
-    \\EOT\EOT\SOH\STX\NUL\DC2\ETX<\STX2\SUB\134\ACK The details of a partially successful export request.\n\
+    \\EOT\EOT\SOH\STX\NUL\DC2\ETX:\STX2\SUB\134\ACK The details of a partially successful export request.\n\
     \\n\
     \ If the request is only partially accepted\n\
     \ (i.e. when the server accepts only parts of the data and rejects the rest)\n\
@@ -606,31 +604,31 @@
     \ SHOULD interpret it the same way as in the full success case.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX<\STX\GS\n\
+    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX:\STX\GS\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX<\RS-\n\
+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX:\RS-\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX<01\n\
+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX:01\n\
     \\n\
     \\n\
-    \\STX\EOT\STX\DC2\EOT?\NULN\SOH\n\
+    \\STX\EOT\STX\DC2\EOT=\NULL\SOH\n\
     \\n\
     \\n\
-    \\ETX\EOT\STX\SOH\DC2\ETX?\b#\n\
+    \\ETX\EOT\STX\SOH\DC2\ETX=\b#\n\
     \\149\SOH\n\
-    \\EOT\EOT\STX\STX\NUL\DC2\ETXD\STX!\SUB\135\SOH The number of rejected data points.\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\ETXB\STX!\SUB\135\SOH The number of rejected data points.\n\
     \\n\
     \ A `rejected_<signal>` field holding a `0` value indicates that the\n\
     \ request was fully accepted.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETXD\STX\a\n\
+    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETXB\STX\a\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXD\b\FS\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXB\b\FS\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXD\US \n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXB\US \n\
     \\159\ETX\n\
-    \\EOT\EOT\STX\STX\SOH\DC2\ETXM\STX\ESC\SUB\145\ETX A developer-facing human-readable message in English. It should be used\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\ETXK\STX\ESC\SUB\145\ETX A developer-facing human-readable message in English. It should be used\n\
     \ either to explain why the server rejected parts of the data during a partial\n\
     \ success or to convey warnings/suggestions during a full success. The message\n\
     \ should offer guidance on how users can address such issues.\n\
@@ -639,8 +637,8 @@
     \ is equivalent to it not being set.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXM\STX\b\n\
+    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXK\STX\b\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXM\t\SYN\n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXK\t\SYN\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXM\EM\SUBb\ACKproto3"
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXK\EM\SUBb\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Collector/Profiles/V1development/ProfilesService.hs b/src/Proto/Opentelemetry/Proto/Collector/Profiles/V1development/ProfilesService.hs
new file mode 100644
--- /dev/null
+++ b/src/Proto/Opentelemetry/Proto/Collector/Profiles/V1development/ProfilesService.hs
@@ -0,0 +1,714 @@
+{- HLINT ignore -}
+{- This file was auto-generated from opentelemetry/proto/collector/profiles/v1development/profiles_service.proto by the proto-lens-protoc program. -}
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService (
+        ProfilesService(..), ExportProfilesPartialSuccess(),
+        ExportProfilesServiceRequest(), ExportProfilesServiceResponse()
+    ) where
+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
+import qualified Data.ProtoLens.Runtime.Prelude as Prelude
+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
+import qualified Proto.Opentelemetry.Proto.Profiles.V1development.Profiles
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields.rejectedProfiles' @:: Lens' ExportProfilesPartialSuccess Data.Int.Int64@
+         * 'Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields.errorMessage' @:: Lens' ExportProfilesPartialSuccess Data.Text.Text@ -}
+data ExportProfilesPartialSuccess
+  = ExportProfilesPartialSuccess'_constructor {_ExportProfilesPartialSuccess'rejectedProfiles :: !Data.Int.Int64,
+                                               _ExportProfilesPartialSuccess'errorMessage :: !Data.Text.Text,
+                                               _ExportProfilesPartialSuccess'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ExportProfilesPartialSuccess where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ExportProfilesPartialSuccess "rejectedProfiles" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ExportProfilesPartialSuccess'rejectedProfiles
+           (\ x__ y__
+              -> x__ {_ExportProfilesPartialSuccess'rejectedProfiles = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ExportProfilesPartialSuccess "errorMessage" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ExportProfilesPartialSuccess'errorMessage
+           (\ x__ y__
+              -> x__ {_ExportProfilesPartialSuccess'errorMessage = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ExportProfilesPartialSuccess where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.collector.profiles.v1development.ExportProfilesPartialSuccess"
+  packedMessageDescriptor _
+    = "\n\
+      \\FSExportProfilesPartialSuccess\DC2+\n\
+      \\DC1rejected_profiles\CAN\SOH \SOH(\ETXR\DLErejectedProfiles\DC2#\n\
+      \\rerror_message\CAN\STX \SOH(\tR\ferrorMessage"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        rejectedProfiles__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "rejected_profiles"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"rejectedProfiles")) ::
+              Data.ProtoLens.FieldDescriptor ExportProfilesPartialSuccess
+        errorMessage__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "error_message"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"errorMessage")) ::
+              Data.ProtoLens.FieldDescriptor ExportProfilesPartialSuccess
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, rejectedProfiles__field_descriptor),
+           (Data.ProtoLens.Tag 2, errorMessage__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ExportProfilesPartialSuccess'_unknownFields
+        (\ x__ y__
+           -> x__ {_ExportProfilesPartialSuccess'_unknownFields = y__})
+  defMessage
+    = ExportProfilesPartialSuccess'_constructor
+        {_ExportProfilesPartialSuccess'rejectedProfiles = Data.ProtoLens.fieldDefault,
+         _ExportProfilesPartialSuccess'errorMessage = Data.ProtoLens.fieldDefault,
+         _ExportProfilesPartialSuccess'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ExportProfilesPartialSuccess
+          -> Data.ProtoLens.Encoding.Bytes.Parser ExportProfilesPartialSuccess
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "rejected_profiles"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"rejectedProfiles") y x)
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "error_message"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"errorMessage") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "ExportProfilesPartialSuccess"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"rejectedProfiles") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      ((Prelude..)
+                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view (Data.ProtoLens.Field.field @"errorMessage") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((Prelude..)
+                            (\ bs
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Data.Text.Encoding.encodeUtf8 _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData ExportProfilesPartialSuccess where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ExportProfilesPartialSuccess'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ExportProfilesPartialSuccess'rejectedProfiles x__)
+                (Control.DeepSeq.deepseq
+                   (_ExportProfilesPartialSuccess'errorMessage x__) ()))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields.resourceProfiles' @:: Lens' ExportProfilesServiceRequest [Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ResourceProfiles]@
+         * 'Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields.vec'resourceProfiles' @:: Lens' ExportProfilesServiceRequest (Data.Vector.Vector Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ResourceProfiles)@
+         * 'Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields.dictionary' @:: Lens' ExportProfilesServiceRequest Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ProfilesDictionary@
+         * 'Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields.maybe'dictionary' @:: Lens' ExportProfilesServiceRequest (Prelude.Maybe Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ProfilesDictionary)@ -}
+data ExportProfilesServiceRequest
+  = ExportProfilesServiceRequest'_constructor {_ExportProfilesServiceRequest'resourceProfiles :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ResourceProfiles),
+                                               _ExportProfilesServiceRequest'dictionary :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ProfilesDictionary),
+                                               _ExportProfilesServiceRequest'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ExportProfilesServiceRequest where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ExportProfilesServiceRequest "resourceProfiles" [Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ResourceProfiles] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ExportProfilesServiceRequest'resourceProfiles
+           (\ x__ y__
+              -> x__ {_ExportProfilesServiceRequest'resourceProfiles = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ExportProfilesServiceRequest "vec'resourceProfiles" (Data.Vector.Vector Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ResourceProfiles) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ExportProfilesServiceRequest'resourceProfiles
+           (\ x__ y__
+              -> x__ {_ExportProfilesServiceRequest'resourceProfiles = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ExportProfilesServiceRequest "dictionary" Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ProfilesDictionary where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ExportProfilesServiceRequest'dictionary
+           (\ x__ y__
+              -> x__ {_ExportProfilesServiceRequest'dictionary = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ExportProfilesServiceRequest "maybe'dictionary" (Prelude.Maybe Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ProfilesDictionary) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ExportProfilesServiceRequest'dictionary
+           (\ x__ y__
+              -> x__ {_ExportProfilesServiceRequest'dictionary = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ExportProfilesServiceRequest where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.collector.profiles.v1development.ExportProfilesServiceRequest"
+  packedMessageDescriptor _
+    = "\n\
+      \\FSExportProfilesServiceRequest\DC2i\n\
+      \\DC1resource_profiles\CAN\SOH \ETX(\v2<.opentelemetry.proto.profiles.v1development.ResourceProfilesR\DLEresourceProfiles\DC2^\n\
+      \\n\
+      \dictionary\CAN\STX \SOH(\v2>.opentelemetry.proto.profiles.v1development.ProfilesDictionaryR\n\
+      \dictionary"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        resourceProfiles__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "resource_profiles"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ResourceProfiles)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"resourceProfiles")) ::
+              Data.ProtoLens.FieldDescriptor ExportProfilesServiceRequest
+        dictionary__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "dictionary"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ProfilesDictionary)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'dictionary")) ::
+              Data.ProtoLens.FieldDescriptor ExportProfilesServiceRequest
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, resourceProfiles__field_descriptor),
+           (Data.ProtoLens.Tag 2, dictionary__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ExportProfilesServiceRequest'_unknownFields
+        (\ x__ y__
+           -> x__ {_ExportProfilesServiceRequest'_unknownFields = y__})
+  defMessage
+    = ExportProfilesServiceRequest'_constructor
+        {_ExportProfilesServiceRequest'resourceProfiles = Data.Vector.Generic.empty,
+         _ExportProfilesServiceRequest'dictionary = Prelude.Nothing,
+         _ExportProfilesServiceRequest'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ExportProfilesServiceRequest
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Profiles.V1development.Profiles.ResourceProfiles
+             -> Data.ProtoLens.Encoding.Bytes.Parser ExportProfilesServiceRequest
+        loop x mutable'resourceProfiles
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'resourceProfiles <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                      mutable'resourceProfiles)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'resourceProfiles")
+                              frozen'resourceProfiles x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "resource_profiles"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'resourceProfiles y)
+                                loop x v
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "dictionary"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"dictionary") y x)
+                                  mutable'resourceProfiles
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'resourceProfiles
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'resourceProfiles <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'resourceProfiles)
+          "ExportProfilesServiceRequest"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'resourceProfiles") _x))
+             ((Data.Monoid.<>)
+                (case
+                     Lens.Family2.view
+                       (Data.ProtoLens.Field.field @"maybe'dictionary") _x
+                 of
+                   Prelude.Nothing -> Data.Monoid.mempty
+                   (Prelude.Just _v)
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                          ((Prelude..)
+                             (\ bs
+                                -> (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                             Data.ProtoLens.encodeMessage _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData ExportProfilesServiceRequest where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ExportProfilesServiceRequest'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ExportProfilesServiceRequest'resourceProfiles x__)
+                (Control.DeepSeq.deepseq
+                   (_ExportProfilesServiceRequest'dictionary x__) ()))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields.partialSuccess' @:: Lens' ExportProfilesServiceResponse ExportProfilesPartialSuccess@
+         * 'Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields.maybe'partialSuccess' @:: Lens' ExportProfilesServiceResponse (Prelude.Maybe ExportProfilesPartialSuccess)@ -}
+data ExportProfilesServiceResponse
+  = ExportProfilesServiceResponse'_constructor {_ExportProfilesServiceResponse'partialSuccess :: !(Prelude.Maybe ExportProfilesPartialSuccess),
+                                                _ExportProfilesServiceResponse'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ExportProfilesServiceResponse where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ExportProfilesServiceResponse "partialSuccess" ExportProfilesPartialSuccess where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ExportProfilesServiceResponse'partialSuccess
+           (\ x__ y__
+              -> x__ {_ExportProfilesServiceResponse'partialSuccess = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ExportProfilesServiceResponse "maybe'partialSuccess" (Prelude.Maybe ExportProfilesPartialSuccess) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ExportProfilesServiceResponse'partialSuccess
+           (\ x__ y__
+              -> x__ {_ExportProfilesServiceResponse'partialSuccess = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ExportProfilesServiceResponse where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.collector.profiles.v1development.ExportProfilesServiceResponse"
+  packedMessageDescriptor _
+    = "\n\
+      \\GSExportProfilesServiceResponse\DC2{\n\
+      \\SIpartial_success\CAN\SOH \SOH(\v2R.opentelemetry.proto.collector.profiles.v1development.ExportProfilesPartialSuccessR\SOpartialSuccess"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        partialSuccess__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "partial_success"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ExportProfilesPartialSuccess)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'partialSuccess")) ::
+              Data.ProtoLens.FieldDescriptor ExportProfilesServiceResponse
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, partialSuccess__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ExportProfilesServiceResponse'_unknownFields
+        (\ x__ y__
+           -> x__ {_ExportProfilesServiceResponse'_unknownFields = y__})
+  defMessage
+    = ExportProfilesServiceResponse'_constructor
+        {_ExportProfilesServiceResponse'partialSuccess = Prelude.Nothing,
+         _ExportProfilesServiceResponse'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ExportProfilesServiceResponse
+          -> Data.ProtoLens.Encoding.Bytes.Parser ExportProfilesServiceResponse
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "partial_success"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"partialSuccess") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "ExportProfilesServiceResponse"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view
+                    (Data.ProtoLens.Field.field @"maybe'partialSuccess") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData ExportProfilesServiceResponse where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ExportProfilesServiceResponse'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ExportProfilesServiceResponse'partialSuccess x__) ())
+data ProfilesService = ProfilesService {}
+instance Data.ProtoLens.Service.Types.Service ProfilesService where
+  type ServiceName ProfilesService = "ProfilesService"
+  type ServicePackage ProfilesService = "opentelemetry.proto.collector.profiles.v1development"
+  type ServiceMethods ProfilesService = '["export"]
+  packedServiceDescriptor _
+    = "\n\
+      \\SIProfilesService\DC2\179\SOH\n\
+      \\ACKExport\DC2R.opentelemetry.proto.collector.profiles.v1development.ExportProfilesServiceRequest\SUBS.opentelemetry.proto.collector.profiles.v1development.ExportProfilesServiceResponse\"\NUL"
+instance Data.ProtoLens.Service.Types.HasMethodImpl ProfilesService "export" where
+  type MethodName ProfilesService "export" = "Export"
+  type MethodInput ProfilesService "export" = ExportProfilesServiceRequest
+  type MethodOutput ProfilesService "export" = ExportProfilesServiceResponse
+  type MethodStreamingType ProfilesService "export" = 'Data.ProtoLens.Service.Types.NonStreaming
+packedFileDescriptor :: Data.ByteString.ByteString
+packedFileDescriptor
+  = "\n\
+    \Kopentelemetry/proto/collector/profiles/v1development/profiles_service.proto\DC24opentelemetry.proto.collector.profiles.v1development\SUB9opentelemetry/proto/profiles/v1development/profiles.proto\"\233\SOH\n\
+    \\FSExportProfilesServiceRequest\DC2i\n\
+    \\DC1resource_profiles\CAN\SOH \ETX(\v2<.opentelemetry.proto.profiles.v1development.ResourceProfilesR\DLEresourceProfiles\DC2^\n\
+    \\n\
+    \dictionary\CAN\STX \SOH(\v2>.opentelemetry.proto.profiles.v1development.ProfilesDictionaryR\n\
+    \dictionary\"\156\SOH\n\
+    \\GSExportProfilesServiceResponse\DC2{\n\
+    \\SIpartial_success\CAN\SOH \SOH(\v2R.opentelemetry.proto.collector.profiles.v1development.ExportProfilesPartialSuccessR\SOpartialSuccess\"p\n\
+    \\FSExportProfilesPartialSuccess\DC2+\n\
+    \\DC1rejected_profiles\CAN\SOH \SOH(\ETXR\DLErejectedProfiles\DC2#\n\
+    \\rerror_message\CAN\STX \SOH(\tR\ferrorMessage2\199\SOH\n\
+    \\SIProfilesService\DC2\179\SOH\n\
+    \\ACKExport\DC2R.opentelemetry.proto.collector.profiles.v1development.ExportProfilesServiceRequest\SUBS.opentelemetry.proto.collector.profiles.v1development.ExportProfilesServiceResponse\"\NULB\201\SOH\n\
+    \7io.opentelemetry.proto.collector.profiles.v1developmentB\DC4ProfilesServiceProtoP\SOHZ?go.opentelemetry.io/proto/otlp/collector/profiles/v1development\170\STX4OpenTelemetry.Proto.Collector.Profiles.V1DevelopmentJ\255\ETB\n\
+    \\ACK\DC2\EOT\SO\NULN\SOH\n\
+    \\200\EOT\n\
+    \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2023, OpenTelemetry Authors\n\
+    \\n\
+    \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
+    \ you may not use this file except in compliance with the License.\n\
+    \ You may obtain a copy of the License at\n\
+    \\n\
+    \     http://www.apache.org/licenses/LICENSE-2.0\n\
+    \\n\
+    \ Unless required by applicable law or agreed to in writing, software\n\
+    \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
+    \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
+    \ See the License for the specific language governing permissions and\n\
+    \ limitations under the License.\n\
+    \\n\
+    \\b\n\
+    \\SOH\STX\DC2\ETX\DLE\NUL=\n\
+    \\t\n\
+    \\STX\ETX\NUL\DC2\ETX\DC2\NULC\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\DC4\NULQ\n\
+    \\t\n\
+    \\STX\b%\DC2\ETX\DC4\NULQ\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\NAK\NUL\"\n\
+    \\t\n\
+    \\STX\b\n\
+    \\DC2\ETX\NAK\NUL\"\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\SYN\NULP\n\
+    \\t\n\
+    \\STX\b\SOH\DC2\ETX\SYN\NULP\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\ETB\NUL5\n\
+    \\t\n\
+    \\STX\b\b\DC2\ETX\ETB\NUL5\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\CAN\NULV\n\
+    \\t\n\
+    \\STX\b\v\DC2\ETX\CAN\NULV\n\
+    \\178\SOH\n\
+    \\STX\ACK\NUL\DC2\EOT\FS\NUL\RS\SOH\SUB\165\SOH Service that can be used to push profiles between one Application instrumented with\n\
+    \ OpenTelemetry and a collector, or between a collector and a central collector.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\ACK\NUL\SOH\DC2\ETX\FS\b\ETB\n\
+    \\v\n\
+    \\EOT\ACK\NUL\STX\NUL\DC2\ETX\GS\STXU\n\
+    \\f\n\
+    \\ENQ\ACK\NUL\STX\NUL\SOH\DC2\ETX\GS\ACK\f\n\
+    \\f\n\
+    \\ENQ\ACK\NUL\STX\NUL\STX\DC2\ETX\GS\r)\n\
+    \\f\n\
+    \\ENQ\ACK\NUL\STX\NUL\ETX\DC2\ETX\GS4Q\n\
+    \\n\
+    \\n\
+    \\STX\EOT\NUL\DC2\EOT \NUL*\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX \b$\n\
+    \\211\STX\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\ETX&\STX]\SUB\197\STX An array of ResourceProfiles.\n\
+    \ For data coming from a single resource this array will typically contain one\n\
+    \ element. Intermediary nodes (such as OpenTelemetry Collector) that receive\n\
+    \ data from multiple origins typically batch the data before forwarding further and\n\
+    \ in that case this array will contain multiple elements.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX&\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX&\vF\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX&GX\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX&[\\\n\
+    \h\n\
+    \\EOT\EOT\NUL\STX\SOH\DC2\ETX)\STXO\SUB[ The reference table containing all data shared by profiles across the message being sent.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\ACK\DC2\ETX)\STX?\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX)@J\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX)MN\n\
+    \\n\
+    \\n\
+    \\STX\EOT\SOH\DC2\EOT,\NUL=\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\SOH\SOH\DC2\ETX,\b%\n\
+    \\148\ACK\n\
+    \\EOT\EOT\SOH\STX\NUL\DC2\ETX<\STX3\SUB\134\ACK The details of a partially successful export request.\n\
+    \\n\
+    \ If the request is only partially accepted\n\
+    \ (i.e. when the server accepts only parts of the data and rejects the rest)\n\
+    \ the server MUST initialize the `partial_success` field and MUST\n\
+    \ set the `rejected_<signal>` with the number of items it rejected.\n\
+    \\n\
+    \ Servers MAY also make use of the `partial_success` field to convey\n\
+    \ warnings/suggestions to senders even when the request was fully accepted.\n\
+    \ In such cases, the `rejected_<signal>` MUST have a value of `0` and\n\
+    \ the `error_message` MUST be non-empty.\n\
+    \\n\
+    \ A `partial_success` message with an empty value (rejected_<signal> = 0 and\n\
+    \ `error_message` = \"\") is equivalent to it not being set/present. Senders\n\
+    \ SHOULD interpret it the same way as in the full success case.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX<\STX\RS\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX<\US.\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX<12\n\
+    \\n\
+    \\n\
+    \\STX\EOT\STX\DC2\EOT?\NULN\SOH\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\STX\SOH\DC2\ETX?\b$\n\
+    \\146\SOH\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\ETXD\STX\RS\SUB\132\SOH The number of rejected profiles.\n\
+    \\n\
+    \ A `rejected_<signal>` field holding a `0` value indicates that the\n\
+    \ request was fully accepted.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETXD\STX\a\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXD\b\EM\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXD\FS\GS\n\
+    \\159\ETX\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\ETXM\STX\ESC\SUB\145\ETX A developer-facing human-readable message in English. It should be used\n\
+    \ either to explain why the server rejected parts of the data during a partial\n\
+    \ success or to convey warnings/suggestions during a full success. The message\n\
+    \ should offer guidance on how users can address such issues.\n\
+    \\n\
+    \ error_message is an optional field. An error_message with an empty value\n\
+    \ is equivalent to it not being set.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXM\STX\b\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXM\t\SYN\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXM\EM\SUBb\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Collector/Profiles/V1development/ProfilesService_Fields.hs b/src/Proto/Opentelemetry/Proto/Collector/Profiles/V1development/ProfilesService_Fields.hs
new file mode 100644
--- /dev/null
+++ b/src/Proto/Opentelemetry/Proto/Collector/Profiles/V1development/ProfilesService_Fields.hs
@@ -0,0 +1,81 @@
+{- HLINT ignore -}
+{- This file was auto-generated from opentelemetry/proto/collector/profiles/v1development/profiles_service.proto by the proto-lens-protoc program. -}
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.Opentelemetry.Proto.Collector.Profiles.V1development.ProfilesService_Fields where
+import qualified Data.ProtoLens.Runtime.Prelude as Prelude
+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
+import qualified Proto.Opentelemetry.Proto.Profiles.V1development.Profiles
+dictionary ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "dictionary" a) =>
+  Lens.Family2.LensLike' f s a
+dictionary = Data.ProtoLens.Field.field @"dictionary"
+errorMessage ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "errorMessage" a) =>
+  Lens.Family2.LensLike' f s a
+errorMessage = Data.ProtoLens.Field.field @"errorMessage"
+maybe'dictionary ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'dictionary" a) =>
+  Lens.Family2.LensLike' f s a
+maybe'dictionary = Data.ProtoLens.Field.field @"maybe'dictionary"
+maybe'partialSuccess ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'partialSuccess" a) =>
+  Lens.Family2.LensLike' f s a
+maybe'partialSuccess
+  = Data.ProtoLens.Field.field @"maybe'partialSuccess"
+partialSuccess ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "partialSuccess" a) =>
+  Lens.Family2.LensLike' f s a
+partialSuccess = Data.ProtoLens.Field.field @"partialSuccess"
+rejectedProfiles ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "rejectedProfiles" a) =>
+  Lens.Family2.LensLike' f s a
+rejectedProfiles = Data.ProtoLens.Field.field @"rejectedProfiles"
+resourceProfiles ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "resourceProfiles" a) =>
+  Lens.Family2.LensLike' f s a
+resourceProfiles = Data.ProtoLens.Field.field @"resourceProfiles"
+vec'resourceProfiles ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'resourceProfiles" a) =>
+  Lens.Family2.LensLike' f s a
+vec'resourceProfiles
+  = Data.ProtoLens.Field.field @"vec'resourceProfiles"
diff --git a/src/Proto/Opentelemetry/Proto/Collector/Trace/V1/TraceService.hs b/src/Proto/Opentelemetry/Proto/Collector/Trace/V1/TraceService.hs
--- a/src/Proto/Opentelemetry/Proto/Collector/Trace/V1/TraceService.hs
+++ b/src/Proto/Opentelemetry/Proto/Collector/Trace/V1/TraceService.hs
@@ -499,8 +499,8 @@
     \\rerror_message\CAN\STX \SOH(\tR\ferrorMessage2\162\SOH\n\
     \\fTraceService\DC2\145\SOH\n\
     \\ACKExport\DC2A.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest\SUBB.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse\"\NULB\156\SOH\n\
-    \)io.opentelemetry.proto.collector.trace.v1B\DC1TraceServiceProtoP\SOHZ1go.opentelemetry.io/proto/otlp/collector/trace/v1\170\STX&OpenTelemetry.Proto.Collector.Trace.V1J\150\CAN\n\
-    \\ACK\DC2\EOT\SO\NULN\SOH\n\
+    \)io.opentelemetry.proto.collector.trace.v1B\DC1TraceServiceProtoP\SOHZ1go.opentelemetry.io/proto/otlp/collector/trace/v1\170\STX&OpenTelemetry.Proto.Collector.Trace.V1J\168\ETB\n\
+    \\ACK\DC2\EOT\SO\NULL\SOH\n\
     \\200\EOT\n\
     \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2019, OpenTelemetry Authors\n\
     \\n\
@@ -542,53 +542,51 @@
     \\t\n\
     \\STX\b\v\DC2\ETX\CAN\NULH\n\
     \\245\SOH\n\
-    \\STX\ACK\NUL\DC2\EOT\GS\NUL!\SOH\SUB\232\SOH Service that can be used to push spans between one Application instrumented with\n\
+    \\STX\ACK\NUL\DC2\EOT\GS\NUL\US\SOH\SUB\232\SOH Service that can be used to push spans between one Application instrumented with\n\
     \ OpenTelemetry and a collector, or between a collector and a central collector (in this\n\
     \ case spans are sent/received to/from multiple Applications).\n\
     \\n\
     \\n\
     \\n\
     \\ETX\ACK\NUL\SOH\DC2\ETX\GS\b\DC4\n\
-    \y\n\
-    \\EOT\ACK\NUL\STX\NUL\DC2\ETX \STXO\SUBl For performance reasons, it is recommended to keep this RPC\n\
-    \ alive for the entire life of the application.\n\
-    \\n\
+    \\v\n\
+    \\EOT\ACK\NUL\STX\NUL\DC2\ETX\RS\STXO\n\
     \\f\n\
-    \\ENQ\ACK\NUL\STX\NUL\SOH\DC2\ETX \ACK\f\n\
+    \\ENQ\ACK\NUL\STX\NUL\SOH\DC2\ETX\RS\ACK\f\n\
     \\f\n\
-    \\ENQ\ACK\NUL\STX\NUL\STX\DC2\ETX \r&\n\
+    \\ENQ\ACK\NUL\STX\NUL\STX\DC2\ETX\RS\r&\n\
     \\f\n\
-    \\ENQ\ACK\NUL\STX\NUL\ETX\DC2\ETX 1K\n\
+    \\ENQ\ACK\NUL\STX\NUL\ETX\DC2\ETX\RS1K\n\
     \\n\
     \\n\
-    \\STX\EOT\NUL\DC2\EOT#\NUL*\SOH\n\
+    \\STX\EOT\NUL\DC2\EOT!\NUL(\SOH\n\
     \\n\
     \\n\
-    \\ETX\EOT\NUL\SOH\DC2\ETX#\b!\n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX!\b!\n\
     \\208\STX\n\
-    \\EOT\EOT\NUL\STX\NUL\DC2\ETX)\STXI\SUB\194\STX An array of ResourceSpans.\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\ETX'\STXI\SUB\194\STX An array of ResourceSpans.\n\
     \ For data coming from a single resource this array will typically contain one\n\
     \ element. Intermediary nodes (such as OpenTelemetry Collector) that receive\n\
     \ data from multiple origins typically batch the data before forwarding further and\n\
     \ in that case this array will contain multiple elements.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX)\STX\n\
+    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX'\STX\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX)\v5\n\
+    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX'\v5\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX)6D\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX'6D\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX)GH\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX'GH\n\
     \\n\
     \\n\
-    \\STX\EOT\SOH\DC2\EOT,\NUL=\SOH\n\
+    \\STX\EOT\SOH\DC2\EOT*\NUL;\SOH\n\
     \\n\
     \\n\
-    \\ETX\EOT\SOH\SOH\DC2\ETX,\b\"\n\
+    \\ETX\EOT\SOH\SOH\DC2\ETX*\b\"\n\
     \\148\ACK\n\
-    \\EOT\EOT\SOH\STX\NUL\DC2\ETX<\STX0\SUB\134\ACK The details of a partially successful export request.\n\
+    \\EOT\EOT\SOH\STX\NUL\DC2\ETX:\STX0\SUB\134\ACK The details of a partially successful export request.\n\
     \\n\
     \ If the request is only partially accepted\n\
     \ (i.e. when the server accepts only parts of the data and rejects the rest)\n\
@@ -605,31 +603,31 @@
     \ SHOULD interpret it the same way as in the full success case.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX<\STX\ESC\n\
+    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX:\STX\ESC\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX<\FS+\n\
+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX:\FS+\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX<./\n\
+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX:./\n\
     \\n\
     \\n\
-    \\STX\EOT\STX\DC2\EOT?\NULN\SOH\n\
+    \\STX\EOT\STX\DC2\EOT=\NULL\SOH\n\
     \\n\
     \\n\
-    \\ETX\EOT\STX\SOH\DC2\ETX?\b!\n\
+    \\ETX\EOT\STX\SOH\DC2\ETX=\b!\n\
     \\143\SOH\n\
-    \\EOT\EOT\STX\STX\NUL\DC2\ETXD\STX\ESC\SUB\129\SOH The number of rejected spans.\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\ETXB\STX\ESC\SUB\129\SOH The number of rejected spans.\n\
     \\n\
     \ A `rejected_<signal>` field holding a `0` value indicates that the\n\
     \ request was fully accepted.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETXD\STX\a\n\
+    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETXB\STX\a\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXD\b\SYN\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXB\b\SYN\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXD\EM\SUB\n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXB\EM\SUB\n\
     \\159\ETX\n\
-    \\EOT\EOT\STX\STX\SOH\DC2\ETXM\STX\ESC\SUB\145\ETX A developer-facing human-readable message in English. It should be used\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\ETXK\STX\ESC\SUB\145\ETX A developer-facing human-readable message in English. It should be used\n\
     \ either to explain why the server rejected parts of the data during a partial\n\
     \ success or to convey warnings/suggestions during a full success. The message\n\
     \ should offer guidance on how users can address such issues.\n\
@@ -638,8 +636,8 @@
     \ is equivalent to it not being set.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXM\STX\b\n\
+    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXK\STX\b\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXM\t\SYN\n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXK\t\SYN\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXM\EM\SUBb\ACKproto3"
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXK\EM\SUBb\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Common/V1/Common.hs b/src/Proto/Opentelemetry/Proto/Common/V1/Common.hs
--- a/src/Proto/Opentelemetry/Proto/Common/V1/Common.hs
+++ b/src/Proto/Opentelemetry/Proto/Common/V1/Common.hs
@@ -8,7 +8,8 @@
         AnyValue(), AnyValue'Value(..), _AnyValue'StringValue,
         _AnyValue'BoolValue, _AnyValue'IntValue, _AnyValue'DoubleValue,
         _AnyValue'ArrayValue, _AnyValue'KvlistValue, _AnyValue'BytesValue,
-        ArrayValue(), InstrumentationScope(), KeyValue(), KeyValueList()
+        ArrayValue(), EntityRef(), InstrumentationScope(), KeyValue(),
+        KeyValueList()
     ) where
 import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
 import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
@@ -699,6 +700,299 @@
              (Control.DeepSeq.deepseq (_ArrayValue'values x__) ())
 {- | Fields :
      
+         * 'Proto.Opentelemetry.Proto.Common.V1.Common_Fields.schemaUrl' @:: Lens' EntityRef Data.Text.Text@
+         * 'Proto.Opentelemetry.Proto.Common.V1.Common_Fields.type'' @:: Lens' EntityRef Data.Text.Text@
+         * 'Proto.Opentelemetry.Proto.Common.V1.Common_Fields.idKeys' @:: Lens' EntityRef [Data.Text.Text]@
+         * 'Proto.Opentelemetry.Proto.Common.V1.Common_Fields.vec'idKeys' @:: Lens' EntityRef (Data.Vector.Vector Data.Text.Text)@
+         * 'Proto.Opentelemetry.Proto.Common.V1.Common_Fields.descriptionKeys' @:: Lens' EntityRef [Data.Text.Text]@
+         * 'Proto.Opentelemetry.Proto.Common.V1.Common_Fields.vec'descriptionKeys' @:: Lens' EntityRef (Data.Vector.Vector Data.Text.Text)@ -}
+data EntityRef
+  = EntityRef'_constructor {_EntityRef'schemaUrl :: !Data.Text.Text,
+                            _EntityRef'type' :: !Data.Text.Text,
+                            _EntityRef'idKeys :: !(Data.Vector.Vector Data.Text.Text),
+                            _EntityRef'descriptionKeys :: !(Data.Vector.Vector Data.Text.Text),
+                            _EntityRef'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EntityRef where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField EntityRef "schemaUrl" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _EntityRef'schemaUrl
+           (\ x__ y__ -> x__ {_EntityRef'schemaUrl = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField EntityRef "type'" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _EntityRef'type' (\ x__ y__ -> x__ {_EntityRef'type' = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField EntityRef "idKeys" [Data.Text.Text] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _EntityRef'idKeys (\ x__ y__ -> x__ {_EntityRef'idKeys = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField EntityRef "vec'idKeys" (Data.Vector.Vector Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _EntityRef'idKeys (\ x__ y__ -> x__ {_EntityRef'idKeys = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField EntityRef "descriptionKeys" [Data.Text.Text] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _EntityRef'descriptionKeys
+           (\ x__ y__ -> x__ {_EntityRef'descriptionKeys = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField EntityRef "vec'descriptionKeys" (Data.Vector.Vector Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _EntityRef'descriptionKeys
+           (\ x__ y__ -> x__ {_EntityRef'descriptionKeys = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message EntityRef where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.common.v1.EntityRef"
+  packedMessageDescriptor _
+    = "\n\
+      \\tEntityRef\DC2\GS\n\
+      \\n\
+      \schema_url\CAN\SOH \SOH(\tR\tschemaUrl\DC2\DC2\n\
+      \\EOTtype\CAN\STX \SOH(\tR\EOTtype\DC2\ETB\n\
+      \\aid_keys\CAN\ETX \ETX(\tR\ACKidKeys\DC2)\n\
+      \\DLEdescription_keys\CAN\EOT \ETX(\tR\SIdescriptionKeys"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        schemaUrl__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "schema_url"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
+              Data.ProtoLens.FieldDescriptor EntityRef
+        type'__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "type"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"type'")) ::
+              Data.ProtoLens.FieldDescriptor EntityRef
+        idKeys__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "id_keys"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"idKeys")) ::
+              Data.ProtoLens.FieldDescriptor EntityRef
+        descriptionKeys__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "description_keys"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"descriptionKeys")) ::
+              Data.ProtoLens.FieldDescriptor EntityRef
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, schemaUrl__field_descriptor),
+           (Data.ProtoLens.Tag 2, type'__field_descriptor),
+           (Data.ProtoLens.Tag 3, idKeys__field_descriptor),
+           (Data.ProtoLens.Tag 4, descriptionKeys__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _EntityRef'_unknownFields
+        (\ x__ y__ -> x__ {_EntityRef'_unknownFields = y__})
+  defMessage
+    = EntityRef'_constructor
+        {_EntityRef'schemaUrl = Data.ProtoLens.fieldDefault,
+         _EntityRef'type' = Data.ProtoLens.fieldDefault,
+         _EntityRef'idKeys = Data.Vector.Generic.empty,
+         _EntityRef'descriptionKeys = Data.Vector.Generic.empty,
+         _EntityRef'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          EntityRef
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text
+                -> Data.ProtoLens.Encoding.Bytes.Parser EntityRef
+        loop x mutable'descriptionKeys mutable'idKeys
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'descriptionKeys <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                     mutable'descriptionKeys)
+                      frozen'idKeys <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                            mutable'idKeys)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'descriptionKeys")
+                              frozen'descriptionKeys
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'idKeys") frozen'idKeys x)))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "schema_url"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
+                                  mutable'descriptionKeys mutable'idKeys
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "type"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"type'") y x)
+                                  mutable'descriptionKeys mutable'idKeys
+                        26
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.getText
+                                              (Prelude.fromIntegral len))
+                                        "id_keys"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'idKeys y)
+                                loop x mutable'descriptionKeys v
+                        34
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.getText
+                                              (Prelude.fromIntegral len))
+                                        "description_keys"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'descriptionKeys y)
+                                loop x v mutable'idKeys
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'descriptionKeys mutable'idKeys
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'descriptionKeys <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                           Data.ProtoLens.Encoding.Growing.new
+              mutable'idKeys <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                  Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'descriptionKeys mutable'idKeys)
+          "EntityRef"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((Prelude..)
+                         (\ bs
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         Data.Text.Encoding.encodeUtf8 _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"type'") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((Prelude..)
+                            (\ bs
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Data.Text.Encoding.encodeUtf8 _v))
+                ((Data.Monoid.<>)
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v
+                         -> (Data.Monoid.<>)
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                              ((Prelude..)
+                                 (\ bs
+                                    -> (Data.Monoid.<>)
+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                 Data.Text.Encoding.encodeUtf8 _v))
+                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'idKeys") _x))
+                   ((Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                         (\ _v
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                 ((Prelude..)
+                                    (\ bs
+                                       -> (Data.Monoid.<>)
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Data.Text.Encoding.encodeUtf8 _v))
+                         (Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"vec'descriptionKeys") _x))
+                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
+instance Control.DeepSeq.NFData EntityRef where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_EntityRef'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_EntityRef'schemaUrl x__)
+                (Control.DeepSeq.deepseq
+                   (_EntityRef'type' x__)
+                   (Control.DeepSeq.deepseq
+                      (_EntityRef'idKeys x__)
+                      (Control.DeepSeq.deepseq (_EntityRef'descriptionKeys x__) ()))))
+{- | Fields :
+     
          * 'Proto.Opentelemetry.Proto.Common.V1.Common_Fields.name' @:: Lens' InstrumentationScope Data.Text.Text@
          * 'Proto.Opentelemetry.Proto.Common.V1.Common_Fields.version' @:: Lens' InstrumentationScope Data.Text.Text@
          * 'Proto.Opentelemetry.Proto.Common.V1.Common_Fields.attributes' @:: Lens' InstrumentationScope [KeyValue]@
@@ -1301,9 +1595,15 @@
     \\n\
     \attributes\CAN\ETX \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
     \attributes\DC28\n\
-    \\CANdropped_attributes_count\CAN\EOT \SOH(\rR\SYNdroppedAttributesCountB{\n\
-    \ io.opentelemetry.proto.common.v1B\vCommonProtoP\SOHZ(go.opentelemetry.io/proto/otlp/common/v1\170\STX\GSOpenTelemetry.Proto.Common.V1J\137\SUB\n\
-    \\ACK\DC2\EOT\SO\NULP\SOH\n\
+    \\CANdropped_attributes_count\CAN\EOT \SOH(\rR\SYNdroppedAttributesCount\"\130\SOH\n\
+    \\tEntityRef\DC2\GS\n\
+    \\n\
+    \schema_url\CAN\SOH \SOH(\tR\tschemaUrl\DC2\DC2\n\
+    \\EOTtype\CAN\STX \SOH(\tR\EOTtype\DC2\ETB\n\
+    \\aid_keys\CAN\ETX \ETX(\tR\ACKidKeys\DC2)\n\
+    \\DLEdescription_keys\CAN\EOT \ETX(\tR\SIdescriptionKeysB{\n\
+    \ io.opentelemetry.proto.common.v1B\vCommonProtoP\SOHZ(go.opentelemetry.io/proto/otlp/common/v1\170\STX\GSOpenTelemetry.Proto.Common.V1J\215&\n\
+    \\ACK\DC2\EOT\SO\NULr\SOH\n\
     \\200\EOT\n\
     \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2019, OpenTelemetry Authors\n\
     \\n\
@@ -1529,4 +1829,71 @@
     \\f\n\
     \\ENQ\EOT\EOT\STX\ETX\SOH\DC2\ETXO\t!\n\
     \\f\n\
-    \\ENQ\EOT\EOT\STX\ETX\ETX\DC2\ETXO$%b\ACKproto3"
+    \\ENQ\EOT\EOT\STX\ETX\ETX\DC2\ETXO$%\n\
+    \\180\SOH\n\
+    \\STX\EOT\ENQ\DC2\EOTV\NULr\SOH\SUB\167\SOH A reference to an Entity.\n\
+    \ Entity represents an object of interest associated with produced telemetry: e.g spans, metrics, profiles, or logs.\n\
+    \\n\
+    \ Status: [Development]\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\ENQ\SOH\DC2\ETXV\b\DC1\n\
+    \\159\EOT\n\
+    \\EOT\EOT\ENQ\STX\NUL\DC2\ETXa\STX\CAN\SUB\145\EOT The Schema URL, if known. This is the identifier of the Schema that the entity data\n\
+    \ is recorded in. To learn more about Schema URL see\n\
+    \ https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n\
+    \\n\
+    \ This schema_url applies to the data in this message and to the Resource attributes\n\
+    \ referenced by id_keys and description_keys.\n\
+    \ TODO: discuss if we are happy with this somewhat complicated definition of what\n\
+    \ the schema_url applies to.\n\
+    \\n\
+    \ This field obsoletes the schema_url field in ResourceMetrics/ResourceSpans/ResourceLogs.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\ETXa\STX\b\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\ETXa\t\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\ETXa\SYN\ETB\n\
+    \\199\SOH\n\
+    \\EOT\EOT\ENQ\STX\SOH\DC2\ETXf\STX\DC2\SUB\185\SOH Defines the type of the entity. MUST not change during the lifetime of the entity.\n\
+    \ For example: \"service\" or \"host\". This field is required and MUST not be empty\n\
+    \ for valid entities.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\SOH\ENQ\DC2\ETXf\STX\b\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\ETXf\t\r\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\ETXf\DLE\DC1\n\
+    \\215\SOH\n\
+    \\EOT\EOT\ENQ\STX\STX\DC2\ETXk\STX\RS\SUB\201\SOH Attribute Keys that identify the entity.\n\
+    \ MUST not change during the lifetime of the entity. The Id must contain at least one attribute.\n\
+    \ These keys MUST exist in the containing {message}.attributes.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\STX\EOT\DC2\ETXk\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\STX\ENQ\DC2\ETXk\v\DC1\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\ETXk\DC2\EM\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\ETXk\FS\GS\n\
+    \\254\SOH\n\
+    \\EOT\EOT\ENQ\STX\ETX\DC2\ETXq\STX'\SUB\240\SOH Descriptive (non-identifying) attribute keys of the entity.\n\
+    \ MAY change over the lifetime of the entity. MAY be empty.\n\
+    \ These attribute keys are not part of entity's identity.\n\
+    \ These keys MUST exist in the containing {message}.attributes.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\ETX\EOT\DC2\ETXq\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\ETX\ENQ\DC2\ETXq\v\DC1\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\ETX\SOH\DC2\ETXq\DC2\"\n\
+    \\f\n\
+    \\ENQ\EOT\ENQ\STX\ETX\ETX\DC2\ETXq%&b\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Common/V1/Common_Fields.hs b/src/Proto/Opentelemetry/Proto/Common/V1/Common_Fields.hs
--- a/src/Proto/Opentelemetry/Proto/Common/V1/Common_Fields.hs
+++ b/src/Proto/Opentelemetry/Proto/Common/V1/Common_Fields.hs
@@ -52,6 +52,12 @@
    Data.ProtoLens.Field.HasField s "bytesValue" a) =>
   Lens.Family2.LensLike' f s a
 bytesValue = Data.ProtoLens.Field.field @"bytesValue"
+descriptionKeys ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "descriptionKeys" a) =>
+  Lens.Family2.LensLike' f s a
+descriptionKeys = Data.ProtoLens.Field.field @"descriptionKeys"
 doubleValue ::
   forall f s a.
   (Prelude.Functor f,
@@ -65,6 +71,11 @@
   Lens.Family2.LensLike' f s a
 droppedAttributesCount
   = Data.ProtoLens.Field.field @"droppedAttributesCount"
+idKeys ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "idKeys" a) =>
+  Lens.Family2.LensLike' f s a
+idKeys = Data.ProtoLens.Field.field @"idKeys"
 intValue ::
   forall f s a.
   (Prelude.Functor f,
@@ -135,12 +146,23 @@
   (Prelude.Functor f, Data.ProtoLens.Field.HasField s "name" a) =>
   Lens.Family2.LensLike' f s a
 name = Data.ProtoLens.Field.field @"name"
+schemaUrl ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "schemaUrl" a) =>
+  Lens.Family2.LensLike' f s a
+schemaUrl = Data.ProtoLens.Field.field @"schemaUrl"
 stringValue ::
   forall f s a.
   (Prelude.Functor f,
    Data.ProtoLens.Field.HasField s "stringValue" a) =>
   Lens.Family2.LensLike' f s a
 stringValue = Data.ProtoLens.Field.field @"stringValue"
+type' ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "type'" a) =>
+  Lens.Family2.LensLike' f s a
+type' = Data.ProtoLens.Field.field @"type'"
 value ::
   forall f s a.
   (Prelude.Functor f, Data.ProtoLens.Field.HasField s "value" a) =>
@@ -157,6 +179,19 @@
    Data.ProtoLens.Field.HasField s "vec'attributes" a) =>
   Lens.Family2.LensLike' f s a
 vec'attributes = Data.ProtoLens.Field.field @"vec'attributes"
+vec'descriptionKeys ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'descriptionKeys" a) =>
+  Lens.Family2.LensLike' f s a
+vec'descriptionKeys
+  = Data.ProtoLens.Field.field @"vec'descriptionKeys"
+vec'idKeys ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'idKeys" a) =>
+  Lens.Family2.LensLike' f s a
+vec'idKeys = Data.ProtoLens.Field.field @"vec'idKeys"
 vec'values ::
   forall f s a.
   (Prelude.Functor f,
diff --git a/src/Proto/Opentelemetry/Proto/Logs/V1/Logs.hs b/src/Proto/Opentelemetry/Proto/Logs/V1/Logs.hs
--- a/src/Proto/Opentelemetry/Proto/Logs/V1/Logs.hs
+++ b/src/Proto/Opentelemetry/Proto/Logs/V1/Logs.hs
@@ -50,7 +50,8 @@
          * 'Proto.Opentelemetry.Proto.Logs.V1.Logs_Fields.droppedAttributesCount' @:: Lens' LogRecord Data.Word.Word32@
          * 'Proto.Opentelemetry.Proto.Logs.V1.Logs_Fields.flags' @:: Lens' LogRecord Data.Word.Word32@
          * 'Proto.Opentelemetry.Proto.Logs.V1.Logs_Fields.traceId' @:: Lens' LogRecord Data.ByteString.ByteString@
-         * 'Proto.Opentelemetry.Proto.Logs.V1.Logs_Fields.spanId' @:: Lens' LogRecord Data.ByteString.ByteString@ -}
+         * 'Proto.Opentelemetry.Proto.Logs.V1.Logs_Fields.spanId' @:: Lens' LogRecord Data.ByteString.ByteString@
+         * 'Proto.Opentelemetry.Proto.Logs.V1.Logs_Fields.eventName' @:: Lens' LogRecord Data.Text.Text@ -}
 data LogRecord
   = LogRecord'_constructor {_LogRecord'timeUnixNano :: !Data.Word.Word64,
                             _LogRecord'observedTimeUnixNano :: !Data.Word.Word64,
@@ -62,6 +63,7 @@
                             _LogRecord'flags :: !Data.Word.Word32,
                             _LogRecord'traceId :: !Data.ByteString.ByteString,
                             _LogRecord'spanId :: !Data.ByteString.ByteString,
+                            _LogRecord'eventName :: !Data.Text.Text,
                             _LogRecord'_unknownFields :: !Data.ProtoLens.FieldSet}
   deriving stock (Prelude.Eq, Prelude.Ord)
 instance Prelude.Show LogRecord where
@@ -151,6 +153,13 @@
         (Lens.Family2.Unchecked.lens
            _LogRecord'spanId (\ x__ y__ -> x__ {_LogRecord'spanId = y__}))
         Prelude.id
+instance Data.ProtoLens.Field.HasField LogRecord "eventName" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _LogRecord'eventName
+           (\ x__ y__ -> x__ {_LogRecord'eventName = y__}))
+        Prelude.id
 instance Data.ProtoLens.Message LogRecord where
   messageName _
     = Data.Text.pack "opentelemetry.proto.logs.v1.LogRecord"
@@ -169,7 +178,9 @@
       \\ENQflags\CAN\b \SOH(\aR\ENQflags\DC2\EM\n\
       \\btrace_id\CAN\t \SOH(\fR\atraceId\DC2\ETB\n\
       \\aspan_id\CAN\n\
-      \ \SOH(\fR\ACKspanIdJ\EOT\b\EOT\DLE\ENQ"
+      \ \SOH(\fR\ACKspanId\DC2\GS\n\
+      \\n\
+      \event_name\CAN\f \SOH(\tR\teventNameJ\EOT\b\EOT\DLE\ENQ"
   packedFileDescriptor _ = packedFileDescriptor
   fieldsByTag
     = let
@@ -259,6 +270,15 @@
               (Data.ProtoLens.PlainField
                  Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"spanId")) ::
               Data.ProtoLens.FieldDescriptor LogRecord
+        eventName__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "event_name"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"eventName")) ::
+              Data.ProtoLens.FieldDescriptor LogRecord
       in
         Data.Map.fromList
           [(Data.ProtoLens.Tag 1, timeUnixNano__field_descriptor),
@@ -270,7 +290,8 @@
            (Data.ProtoLens.Tag 7, droppedAttributesCount__field_descriptor),
            (Data.ProtoLens.Tag 8, flags__field_descriptor),
            (Data.ProtoLens.Tag 9, traceId__field_descriptor),
-           (Data.ProtoLens.Tag 10, spanId__field_descriptor)]
+           (Data.ProtoLens.Tag 10, spanId__field_descriptor),
+           (Data.ProtoLens.Tag 12, eventName__field_descriptor)]
   unknownFields
     = Lens.Family2.Unchecked.lens
         _LogRecord'_unknownFields
@@ -287,6 +308,7 @@
          _LogRecord'flags = Data.ProtoLens.fieldDefault,
          _LogRecord'traceId = Data.ProtoLens.fieldDefault,
          _LogRecord'spanId = Data.ProtoLens.fieldDefault,
+         _LogRecord'eventName = Data.ProtoLens.fieldDefault,
          _LogRecord'_unknownFields = []}
   parseMessage
     = let
@@ -407,6 +429,15 @@
                                 loop
                                   (Lens.Family2.set (Data.ProtoLens.Field.field @"spanId") y x)
                                   mutable'attributes
+                        98
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "event_name"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"eventName") y x)
+                                  mutable'attributes
                         wire
                           -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                         wire
@@ -568,9 +599,29 @@
                                                           (Data.ProtoLens.Encoding.Bytes.putBytes
                                                              bs))
                                                     _v))
-                                        (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                                           (Lens.Family2.view
-                                              Data.ProtoLens.unknownFields _x)))))))))))
+                                        ((Data.Monoid.<>)
+                                           (let
+                                              _v
+                                                = Lens.Family2.view
+                                                    (Data.ProtoLens.Field.field @"eventName") _x
+                                            in
+                                              if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                                  Data.Monoid.mempty
+                                              else
+                                                  (Data.Monoid.<>)
+                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
+                                                    ((Prelude..)
+                                                       (\ bs
+                                                          -> (Data.Monoid.<>)
+                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                  (Prelude.fromIntegral
+                                                                     (Data.ByteString.length bs)))
+                                                               (Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                  bs))
+                                                       Data.Text.Encoding.encodeUtf8 _v))
+                                           (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                              (Lens.Family2.view
+                                                 Data.ProtoLens.unknownFields _x))))))))))))
 instance Control.DeepSeq.NFData LogRecord where
   rnf
     = \ x__
@@ -595,7 +646,9 @@
                                      (Control.DeepSeq.deepseq
                                         (_LogRecord'traceId x__)
                                         (Control.DeepSeq.deepseq
-                                           (_LogRecord'spanId x__) ()))))))))))
+                                           (_LogRecord'spanId x__)
+                                           (Control.DeepSeq.deepseq
+                                              (_LogRecord'eventName x__) ())))))))))))
 newtype LogRecordFlags'UnrecognizedValue
   = LogRecordFlags'UnrecognizedValue Data.Int.Int32
   deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
@@ -1549,7 +1602,7 @@
     \\vlog_records\CAN\STX \ETX(\v2&.opentelemetry.proto.logs.v1.LogRecordR\n\
     \logRecords\DC2\GS\n\
     \\n\
-    \schema_url\CAN\ETX \SOH(\tR\tschemaUrl\"\243\ETX\n\
+    \schema_url\CAN\ETX \SOH(\tR\tschemaUrl\"\146\EOT\n\
     \\tLogRecord\DC2$\n\
     \\SOtime_unix_nano\CAN\SOH \SOH(\ACKR\ftimeUnixNano\DC25\n\
     \\ETBobserved_time_unix_nano\CAN\v \SOH(\ACKR\DC4observedTimeUnixNano\DC2T\n\
@@ -1563,7 +1616,9 @@
     \\ENQflags\CAN\b \SOH(\aR\ENQflags\DC2\EM\n\
     \\btrace_id\CAN\t \SOH(\fR\atraceId\DC2\ETB\n\
     \\aspan_id\CAN\n\
-    \ \SOH(\fR\ACKspanIdJ\EOT\b\EOT\DLE\ENQ*\195\ENQ\n\
+    \ \SOH(\fR\ACKspanId\DC2\GS\n\
+    \\n\
+    \event_name\CAN\f \SOH(\tR\teventNameJ\EOT\b\EOT\DLE\ENQ*\195\ENQ\n\
     \\SOSeverityNumber\DC2\US\n\
     \\ESCSEVERITY_NUMBER_UNSPECIFIED\DLE\NUL\DC2\EM\n\
     \\NAKSEVERITY_NUMBER_TRACE\DLE\SOH\DC2\SUB\n\
@@ -1594,8 +1649,8 @@
     \\SOLogRecordFlags\DC2\US\n\
     \\ESCLOG_RECORD_FLAGS_DO_NOT_USE\DLE\NUL\DC2&\n\
     \!LOG_RECORD_FLAGS_TRACE_FLAGS_MASK\DLE\255\SOHBs\n\
-    \\RSio.opentelemetry.proto.logs.v1B\tLogsProtoP\SOHZ&go.opentelemetry.io/proto/otlp/logs/v1\170\STX\ESCOpenTelemetry.Proto.Logs.V1J\146B\n\
-    \\a\DC2\ENQ\SO\NUL\202\SOH\SOH\n\
+    \\RSio.opentelemetry.proto.logs.v1B\tLogsProtoP\SOHZ&go.opentelemetry.io/proto/otlp/logs/v1\170\STX\ESCOpenTelemetry.Proto.Logs.V1J\232J\n\
+    \\a\DC2\ENQ\SO\NUL\224\SOH\SOH\n\
     \\200\EOT\n\
     \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2020, OpenTelemetry Authors\n\
     \\n\
@@ -1670,7 +1725,7 @@
     \\f\n\
     \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX+()\n\
     \8\n\
-    \\STX\EOT\SOH\DC2\EOT/\NUL<\SOH\SUB, A collection of ScopeLogs from a Resource.\n\
+    \\STX\EOT\SOH\DC2\EOT/\NUL@\SOH\SUB, A collection of ScopeLogs from a Resource.\n\
     \\n\
     \\n\
     \\n\
@@ -1706,270 +1761,278 @@
     \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX7\NAK\US\n\
     \\f\n\
     \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX7\"#\n\
-    \\172\SOH\n\
-    \\EOT\EOT\SOH\STX\STX\DC2\ETX;\STX\CAN\SUB\158\SOH This schema_url applies to the data in the \"resource\" field. It does not apply\n\
+    \\234\ETX\n\
+    \\EOT\EOT\SOH\STX\STX\DC2\ETX?\STX\CAN\SUB\220\ETX The Schema URL, if known. This is the identifier of the Schema that the resource data\n\
+    \ is recorded in. Notably, the last part of the URL path is the version number of the\n\
+    \ schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see\n\
+    \ https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n\
+    \ This schema_url applies to the data in the \"resource\" field. It does not apply\n\
     \ to the data in the \"scope_logs\" field which have their own schema_url field.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETX;\STX\b\n\
+    \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETX?\STX\b\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX;\t\DC3\n\
+    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX?\t\DC3\n\
     \\f\n\
-    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX;\SYN\ETB\n\
+    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX?\SYN\ETB\n\
     \7\n\
-    \\STX\EOT\STX\DC2\EOT?\NULJ\SOH\SUB+ A collection of Logs produced by a Scope.\n\
+    \\STX\EOT\STX\DC2\EOTC\NULR\SOH\SUB+ A collection of Logs produced by a Scope.\n\
     \\n\
     \\n\
     \\n\
-    \\ETX\EOT\STX\SOH\DC2\ETX?\b\DC1\n\
+    \\ETX\EOT\STX\SOH\DC2\ETXC\b\DC1\n\
     \\204\SOH\n\
-    \\EOT\EOT\STX\STX\NUL\DC2\ETXC\STX?\SUB\190\SOH The instrumentation scope information for the logs in this message.\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\ETXG\STX?\SUB\190\SOH The instrumentation scope information for the logs in this message.\n\
     \ Semantically when InstrumentationScope isn't set, it is equivalent with\n\
     \ an empty instrumentation scope name (unknown).\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ACK\DC2\ETXC\STX4\n\
+    \\ENQ\EOT\STX\STX\NUL\ACK\DC2\ETXG\STX4\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXC5:\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXG5:\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXC=>\n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXG=>\n\
     \%\n\
-    \\EOT\EOT\STX\STX\SOH\DC2\ETXF\STX%\SUB\CAN A list of log records.\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\ETXJ\STX%\SUB\CAN A list of log records.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETXF\STX\n\
+    \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETXJ\STX\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ACK\DC2\ETXF\v\DC4\n\
+    \\ENQ\EOT\STX\STX\SOH\ACK\DC2\ETXJ\v\DC4\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXF\NAK \n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXJ\NAK \n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXF#$\n\
-    \G\n\
-    \\EOT\EOT\STX\STX\STX\DC2\ETXI\STX\CAN\SUB: This schema_url applies to all logs in the \"logs\" field.\n\
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXJ#$\n\
+    \\129\ETX\n\
+    \\EOT\EOT\STX\STX\STX\DC2\ETXQ\STX\CAN\SUB\243\STX The Schema URL, if known. This is the identifier of the Schema that the log data\n\
+    \ is recorded in. Notably, the last part of the URL path is the version number of the\n\
+    \ schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see\n\
+    \ https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n\
+    \ This schema_url applies to all logs in the \"logs\" field.\n\
     \\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXI\STX\b\n\
+    \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXQ\STX\b\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXI\t\DC3\n\
+    \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXQ\t\DC3\n\
     \\f\n\
-    \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXI\SYN\ETB\n\
+    \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXQ\SYN\ETB\n\
     \;\n\
-    \\STX\ENQ\NUL\DC2\EOTM\NULh\SOH\SUB/ Possible values for LogRecord.SeverityNumber.\n\
+    \\STX\ENQ\NUL\DC2\EOTU\NULp\SOH\SUB/ Possible values for LogRecord.SeverityNumber.\n\
     \\n\
     \\n\
     \\n\
-    \\ETX\ENQ\NUL\SOH\DC2\ETXM\ENQ\DC3\n\
+    \\ETX\ENQ\NUL\SOH\DC2\ETXU\ENQ\DC3\n\
     \N\n\
-    \\EOT\ENQ\NUL\STX\NUL\DC2\ETXO\STX\"\SUBA UNSPECIFIED is the default SeverityNumber, it MUST NOT be used.\n\
+    \\EOT\ENQ\NUL\STX\NUL\DC2\ETXW\STX\"\SUBA UNSPECIFIED is the default SeverityNumber, it MUST NOT be used.\n\
     \\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETXO\STX\GS\n\
+    \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETXW\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETXO !\n\
+    \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETXW !\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\SOH\DC2\ETXP\STX\GS\n\
+    \\EOT\ENQ\NUL\STX\SOH\DC2\ETXX\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\SOH\SOH\DC2\ETXP\STX\ETB\n\
+    \\ENQ\ENQ\NUL\STX\SOH\SOH\DC2\ETXX\STX\ETB\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\SOH\STX\DC2\ETXP\ESC\FS\n\
+    \\ENQ\ENQ\NUL\STX\SOH\STX\DC2\ETXX\ESC\FS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\STX\DC2\ETXQ\STX\GS\n\
+    \\EOT\ENQ\NUL\STX\STX\DC2\ETXY\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\STX\SOH\DC2\ETXQ\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\STX\SOH\DC2\ETXY\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\STX\STX\DC2\ETXQ\ESC\FS\n\
+    \\ENQ\ENQ\NUL\STX\STX\STX\DC2\ETXY\ESC\FS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\ETX\DC2\ETXR\STX\GS\n\
+    \\EOT\ENQ\NUL\STX\ETX\DC2\ETXZ\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\ETX\SOH\DC2\ETXR\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\ETX\SOH\DC2\ETXZ\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\ETX\STX\DC2\ETXR\ESC\FS\n\
+    \\ENQ\ENQ\NUL\STX\ETX\STX\DC2\ETXZ\ESC\FS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\EOT\DC2\ETXS\STX\GS\n\
+    \\EOT\ENQ\NUL\STX\EOT\DC2\ETX[\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\EOT\SOH\DC2\ETXS\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\EOT\SOH\DC2\ETX[\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\EOT\STX\DC2\ETXS\ESC\FS\n\
+    \\ENQ\ENQ\NUL\STX\EOT\STX\DC2\ETX[\ESC\FS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\ENQ\DC2\ETXT\STX\GS\n\
+    \\EOT\ENQ\NUL\STX\ENQ\DC2\ETX\\\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\ENQ\SOH\DC2\ETXT\STX\ETB\n\
+    \\ENQ\ENQ\NUL\STX\ENQ\SOH\DC2\ETX\\\STX\ETB\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\ENQ\STX\DC2\ETXT\ESC\FS\n\
+    \\ENQ\ENQ\NUL\STX\ENQ\STX\DC2\ETX\\\ESC\FS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\ACK\DC2\ETXU\STX\GS\n\
+    \\EOT\ENQ\NUL\STX\ACK\DC2\ETX]\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\ACK\SOH\DC2\ETXU\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\ACK\SOH\DC2\ETX]\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\ACK\STX\DC2\ETXU\ESC\FS\n\
+    \\ENQ\ENQ\NUL\STX\ACK\STX\DC2\ETX]\ESC\FS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\a\DC2\ETXV\STX\GS\n\
+    \\EOT\ENQ\NUL\STX\a\DC2\ETX^\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\a\SOH\DC2\ETXV\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\a\SOH\DC2\ETX^\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\a\STX\DC2\ETXV\ESC\FS\n\
+    \\ENQ\ENQ\NUL\STX\a\STX\DC2\ETX^\ESC\FS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\b\DC2\ETXW\STX\GS\n\
+    \\EOT\ENQ\NUL\STX\b\DC2\ETX_\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\b\SOH\DC2\ETXW\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\b\SOH\DC2\ETX_\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\b\STX\DC2\ETXW\ESC\FS\n\
+    \\ENQ\ENQ\NUL\STX\b\STX\DC2\ETX_\ESC\FS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\t\DC2\ETXX\STX\GS\n\
+    \\EOT\ENQ\NUL\STX\t\DC2\ETX`\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\t\SOH\DC2\ETXX\STX\SYN\n\
+    \\ENQ\ENQ\NUL\STX\t\SOH\DC2\ETX`\STX\SYN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\t\STX\DC2\ETXX\ESC\FS\n\
+    \\ENQ\ENQ\NUL\STX\t\STX\DC2\ETX`\ESC\FS\n\
     \\v\n\
     \\EOT\ENQ\NUL\STX\n\
-    \\DC2\ETXY\STX\RS\n\
+    \\DC2\ETXa\STX\RS\n\
     \\f\n\
     \\ENQ\ENQ\NUL\STX\n\
-    \\SOH\DC2\ETXY\STX\ETB\n\
+    \\SOH\DC2\ETXa\STX\ETB\n\
     \\f\n\
     \\ENQ\ENQ\NUL\STX\n\
-    \\STX\DC2\ETXY\ESC\GS\n\
+    \\STX\DC2\ETXa\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\v\DC2\ETXZ\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\v\DC2\ETXb\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\v\SOH\DC2\ETXZ\STX\ETB\n\
+    \\ENQ\ENQ\NUL\STX\v\SOH\DC2\ETXb\STX\ETB\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\v\STX\DC2\ETXZ\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\v\STX\DC2\ETXb\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\f\DC2\ETX[\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\f\DC2\ETXc\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\f\SOH\DC2\ETX[\STX\ETB\n\
+    \\ENQ\ENQ\NUL\STX\f\SOH\DC2\ETXc\STX\ETB\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\f\STX\DC2\ETX[\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\f\STX\DC2\ETXc\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\r\DC2\ETX\\\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\r\DC2\ETXd\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\r\SOH\DC2\ETX\\\STX\SYN\n\
+    \\ENQ\ENQ\NUL\STX\r\SOH\DC2\ETXd\STX\SYN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\r\STX\DC2\ETX\\\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\r\STX\DC2\ETXd\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\SO\DC2\ETX]\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\SO\DC2\ETXe\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\SO\SOH\DC2\ETX]\STX\ETB\n\
+    \\ENQ\ENQ\NUL\STX\SO\SOH\DC2\ETXe\STX\ETB\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\SO\STX\DC2\ETX]\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\SO\STX\DC2\ETXe\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\SI\DC2\ETX^\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\SI\DC2\ETXf\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\SI\SOH\DC2\ETX^\STX\ETB\n\
+    \\ENQ\ENQ\NUL\STX\SI\SOH\DC2\ETXf\STX\ETB\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\SI\STX\DC2\ETX^\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\SI\STX\DC2\ETXf\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\DLE\DC2\ETX_\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\DLE\DC2\ETXg\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DLE\SOH\DC2\ETX_\STX\ETB\n\
+    \\ENQ\ENQ\NUL\STX\DLE\SOH\DC2\ETXg\STX\ETB\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DLE\STX\DC2\ETX_\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\DLE\STX\DC2\ETXg\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\DC1\DC2\ETX`\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\DC1\DC2\ETXh\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DC1\SOH\DC2\ETX`\STX\ETB\n\
+    \\ENQ\ENQ\NUL\STX\DC1\SOH\DC2\ETXh\STX\ETB\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DC1\STX\DC2\ETX`\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\DC1\STX\DC2\ETXh\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\DC2\DC2\ETXa\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\DC2\DC2\ETXi\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DC2\SOH\DC2\ETXa\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\DC2\SOH\DC2\ETXi\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DC2\STX\DC2\ETXa\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\DC2\STX\DC2\ETXi\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\DC3\DC2\ETXb\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\DC3\DC2\ETXj\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DC3\SOH\DC2\ETXb\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\DC3\SOH\DC2\ETXj\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DC3\STX\DC2\ETXb\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\DC3\STX\DC2\ETXj\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\DC4\DC2\ETXc\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\DC4\DC2\ETXk\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DC4\SOH\DC2\ETXc\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\DC4\SOH\DC2\ETXk\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\DC4\STX\DC2\ETXc\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\DC4\STX\DC2\ETXk\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\NAK\DC2\ETXd\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\NAK\DC2\ETXl\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\NAK\SOH\DC2\ETXd\STX\ETB\n\
+    \\ENQ\ENQ\NUL\STX\NAK\SOH\DC2\ETXl\STX\ETB\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\NAK\STX\DC2\ETXd\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\NAK\STX\DC2\ETXl\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\SYN\DC2\ETXe\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\SYN\DC2\ETXm\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\SYN\SOH\DC2\ETXe\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\SYN\SOH\DC2\ETXm\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\SYN\STX\DC2\ETXe\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\SYN\STX\DC2\ETXm\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\ETB\DC2\ETXf\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\ETB\DC2\ETXn\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\ETB\SOH\DC2\ETXf\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\ETB\SOH\DC2\ETXn\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\ETB\STX\DC2\ETXf\ESC\GS\n\
+    \\ENQ\ENQ\NUL\STX\ETB\STX\DC2\ETXn\ESC\GS\n\
     \\v\n\
-    \\EOT\ENQ\NUL\STX\CAN\DC2\ETXg\STX\RS\n\
+    \\EOT\ENQ\NUL\STX\CAN\DC2\ETXo\STX\RS\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\CAN\SOH\DC2\ETXg\STX\CAN\n\
+    \\ENQ\ENQ\NUL\STX\CAN\SOH\DC2\ETXo\STX\CAN\n\
     \\f\n\
-    \\ENQ\ENQ\NUL\STX\CAN\STX\DC2\ETXg\ESC\GS\n\
-    \\153\STX\n\
-    \\STX\ENQ\SOH\DC2\EOTp\NULy\SOH\SUB\140\STX LogRecordFlags is defined as a protobuf 'uint32' type and is to be used as\n\
-    \ bit-fields. Each non-zero value defined in this enum is a bit-mask.\n\
-    \ To extract the bit-field, for example, use an expression like:\n\
+    \\ENQ\ENQ\NUL\STX\CAN\STX\DC2\ETXo\ESC\GS\n\
+    \\217\STX\n\
+    \\STX\ENQ\SOH\DC2\ENQz\NUL\131\SOH\SOH\SUB\203\STX LogRecordFlags represents constants used to interpret the\n\
+    \ LogRecord.flags field, which is protobuf 'fixed32' type and is to\n\
+    \ be used as bit-fields. Each non-zero value defined in this enum is\n\
+    \ a bit-mask.  To extract the bit-field, for example, use an\n\
+    \ expression like:\n\
     \\n\
     \   (logRecord.flags & LOG_RECORD_FLAGS_TRACE_FLAGS_MASK)\n\
     \\n\
     \\n\
     \\n\
     \\n\
-    \\ETX\ENQ\SOH\SOH\DC2\ETXp\ENQ\DC3\n\
+    \\ETX\ENQ\SOH\SOH\DC2\ETXz\ENQ\DC3\n\
     \\149\SOH\n\
-    \\EOT\ENQ\SOH\STX\NUL\DC2\ETXs\STX\"\SUB\135\SOH The zero value for the enum. Should not be used for comparisons.\n\
+    \\EOT\ENQ\SOH\STX\NUL\DC2\ETX}\STX\"\SUB\135\SOH The zero value for the enum. Should not be used for comparisons.\n\
     \ Instead use bitwise \"and\" with the appropriate mask as shown above.\n\
     \\n\
     \\f\n\
-    \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\ETXs\STX\GS\n\
+    \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\ETX}\STX\GS\n\
     \\f\n\
-    \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\ETXs !\n\
-    \1\n\
-    \\EOT\ENQ\SOH\STX\SOH\DC2\ETXv\STX1\SUB$ Bits 0-7 are used for trace flags.\n\
+    \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\ETX} !\n\
+    \2\n\
+    \\EOT\ENQ\SOH\STX\SOH\DC2\EOT\128\SOH\STX1\SUB$ Bits 0-7 are used for trace flags.\n\
     \\n\
-    \\f\n\
-    \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\ETXv\STX#\n\
-    \\f\n\
-    \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\ETXv&0\n\
-    \\155\SOH\n\
-    \\STX\EOT\ETX\DC2\ENQ}\NUL\202\SOH\SOH\SUB\141\SOH A log record according to OpenTelemetry Log Data Model:\n\
+    \\r\n\
+    \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\EOT\128\SOH\STX#\n\
+    \\r\n\
+    \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\EOT\128\SOH&0\n\
+    \\156\SOH\n\
+    \\STX\EOT\ETX\DC2\ACK\135\SOH\NUL\224\SOH\SOH\SUB\141\SOH A log record according to OpenTelemetry Log Data Model:\n\
     \ https://github.com/open-telemetry/oteps/blob/main/text/logs/0097-log-data-model.md\n\
     \\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\ETX\SOH\DC2\ETX}\b\DC1\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\ETX\t\DC2\ETX~\STX\r\n\
     \\v\n\
-    \\EOT\EOT\ETX\t\NUL\DC2\ETX~\v\f\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\t\NUL\SOH\DC2\ETX~\v\f\n\
+    \\ETX\EOT\ETX\SOH\DC2\EOT\135\SOH\b\DC1\n\
+    \\v\n\
+    \\ETX\EOT\ETX\t\DC2\EOT\136\SOH\STX\r\n\
     \\f\n\
-    \\ENQ\EOT\ETX\t\NUL\STX\DC2\ETX~\v\f\n\
+    \\EOT\EOT\ETX\t\NUL\DC2\EOT\136\SOH\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\t\NUL\SOH\DC2\EOT\136\SOH\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\t\NUL\STX\DC2\EOT\136\SOH\v\f\n\
     \\199\SOH\n\
-    \\EOT\EOT\ETX\STX\NUL\DC2\EOT\131\SOH\STX\GS\SUB\184\SOH time_unix_nano is the time when the event occurred.\n\
+    \\EOT\EOT\ETX\STX\NUL\DC2\EOT\141\SOH\STX\GS\SUB\184\SOH time_unix_nano is the time when the event occurred.\n\
     \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.\n\
     \ Value of 0 indicates unknown or missing timestamp.\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\EOT\131\SOH\STX\t\n\
+    \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\EOT\141\SOH\STX\t\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\EOT\131\SOH\n\
+    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\EOT\141\SOH\n\
     \\CAN\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\EOT\131\SOH\ESC\FS\n\
+    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\EOT\141\SOH\ESC\FS\n\
     \\176\a\n\
-    \\EOT\EOT\ETX\STX\SOH\DC2\EOT\148\SOH\STX'\SUB\161\a Time when the event was observed by the collection system.\n\
+    \\EOT\EOT\ETX\STX\SOH\DC2\EOT\158\SOH\STX'\SUB\161\a Time when the event was observed by the collection system.\n\
     \ For events that originate in OpenTelemetry (e.g. using OpenTelemetry Logging SDK)\n\
     \ this timestamp is typically set at the generation time and is equal to Timestamp.\n\
     \ For events originating externally and collected by OpenTelemetry (e.g. using\n\
@@ -1986,81 +2049,81 @@
     \ Value of 0 indicates unknown or missing timestamp.\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\EOT\148\SOH\STX\t\n\
+    \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\EOT\158\SOH\STX\t\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\EOT\148\SOH\n\
+    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\EOT\158\SOH\n\
     \!\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\EOT\148\SOH$&\n\
+    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\EOT\158\SOH$&\n\
     \o\n\
-    \\EOT\EOT\ETX\STX\STX\DC2\EOT\152\SOH\STX%\SUBa Numerical value of the severity, normalized to values described in Log Data Model.\n\
+    \\EOT\EOT\ETX\STX\STX\DC2\EOT\162\SOH\STX%\SUBa Numerical value of the severity, normalized to values described in Log Data Model.\n\
     \ [Optional].\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\STX\ACK\DC2\EOT\152\SOH\STX\DLE\n\
+    \\ENQ\EOT\ETX\STX\STX\ACK\DC2\EOT\162\SOH\STX\DLE\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\EOT\152\SOH\DC1 \n\
+    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\EOT\162\SOH\DC1 \n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\EOT\152\SOH#$\n\
+    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\EOT\162\SOH#$\n\
     \\138\SOH\n\
-    \\EOT\EOT\ETX\STX\ETX\DC2\EOT\156\SOH\STX\ESC\SUB| The severity text (also known as log level). The original string representation as\n\
+    \\EOT\EOT\ETX\STX\ETX\DC2\EOT\166\SOH\STX\ESC\SUB| The severity text (also known as log level). The original string representation as\n\
     \ it is known at the source. [Optional].\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ETX\ENQ\DC2\EOT\156\SOH\STX\b\n\
+    \\ENQ\EOT\ETX\STX\ETX\ENQ\DC2\EOT\166\SOH\STX\b\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\EOT\156\SOH\t\SYN\n\
+    \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\EOT\166\SOH\t\SYN\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\EOT\156\SOH\EM\SUB\n\
+    \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\EOT\166\SOH\EM\SUB\n\
     \\135\STX\n\
-    \\EOT\EOT\ETX\STX\EOT\DC2\EOT\161\SOH\STX2\SUB\248\SOH A value containing the body of the log record. Can be for example a human-readable\n\
+    \\EOT\EOT\ETX\STX\EOT\DC2\EOT\171\SOH\STX2\SUB\248\SOH A value containing the body of the log record. Can be for example a human-readable\n\
     \ string message (including multi-line) describing the event in a free form or it can\n\
     \ be a structured data composed of arrays and maps of other values. [Optional].\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\EOT\ACK\DC2\EOT\161\SOH\STX(\n\
+    \\ENQ\EOT\ETX\STX\EOT\ACK\DC2\EOT\171\SOH\STX(\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\EOT\161\SOH)-\n\
+    \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\EOT\171\SOH)-\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\EOT\161\SOH01\n\
+    \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\EOT\171\SOH01\n\
     \\198\SOH\n\
-    \\EOT\EOT\ETX\STX\ENQ\DC2\EOT\166\SOH\STXA\SUB\183\SOH Additional attributes that describe the specific event occurrence. [Optional].\n\
+    \\EOT\EOT\ETX\STX\ENQ\DC2\EOT\176\SOH\STXA\SUB\183\SOH Additional attributes that describe the specific event occurrence. [Optional].\n\
     \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
     \ attribute with the same key).\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\EOT\DC2\EOT\166\SOH\STX\n\
+    \\ENQ\EOT\ETX\STX\ENQ\EOT\DC2\EOT\176\SOH\STX\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\EOT\166\SOH\v1\n\
+    \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\EOT\176\SOH\v1\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\EOT\166\SOH2<\n\
+    \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\EOT\176\SOH2<\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\EOT\166\SOH?@\n\
+    \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\EOT\176\SOH?@\n\
     \\f\n\
-    \\EOT\EOT\ETX\STX\ACK\DC2\EOT\167\SOH\STX&\n\
+    \\EOT\EOT\ETX\STX\ACK\DC2\EOT\177\SOH\STX&\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ACK\ENQ\DC2\EOT\167\SOH\STX\b\n\
+    \\ENQ\EOT\ETX\STX\ACK\ENQ\DC2\EOT\177\SOH\STX\b\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ACK\SOH\DC2\EOT\167\SOH\t!\n\
+    \\ENQ\EOT\ETX\STX\ACK\SOH\DC2\EOT\177\SOH\t!\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\ACK\ETX\DC2\EOT\167\SOH$%\n\
+    \\ENQ\EOT\ETX\STX\ACK\ETX\DC2\EOT\177\SOH$%\n\
     \\255\STX\n\
-    \\EOT\EOT\ETX\STX\a\DC2\EOT\174\SOH\STX\DC4\SUB\240\STX Flags, a bit field. 8 least significant bits are the trace flags as\n\
+    \\EOT\EOT\ETX\STX\a\DC2\EOT\184\SOH\STX\DC4\SUB\240\STX Flags, a bit field. 8 least significant bits are the trace flags as\n\
     \ defined in W3C Trace Context specification. 24 most significant bits are reserved\n\
     \ and must be set to 0. Readers must not assume that 24 most significant bits\n\
     \ will be zero and must correctly mask the bits when reading 8-bit trace flag (use\n\
     \ flags & LOG_RECORD_FLAGS_TRACE_FLAGS_MASK). [Optional].\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\a\ENQ\DC2\EOT\174\SOH\STX\t\n\
+    \\ENQ\EOT\ETX\STX\a\ENQ\DC2\EOT\184\SOH\STX\t\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\a\SOH\DC2\EOT\174\SOH\n\
+    \\ENQ\EOT\ETX\STX\a\SOH\DC2\EOT\184\SOH\n\
     \\SI\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\a\ETX\DC2\EOT\174\SOH\DC2\DC3\n\
+    \\ENQ\EOT\ETX\STX\a\ETX\DC2\EOT\184\SOH\DC2\DC3\n\
     \\239\ETX\n\
-    \\EOT\EOT\ETX\STX\b\DC2\EOT\187\SOH\STX\NAK\SUB\224\ETX A unique identifier for a trace. All logs from the same trace share\n\
+    \\EOT\EOT\ETX\STX\b\DC2\EOT\197\SOH\STX\NAK\SUB\224\ETX A unique identifier for a trace. All logs from the same trace share\n\
     \ the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes OR\n\
     \ of length other than 16 bytes is considered invalid (empty string in OTLP/JSON\n\
     \ is zero-length and thus is also invalid).\n\
@@ -2073,13 +2136,13 @@
     \   - the field contains an invalid value.\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\b\ENQ\DC2\EOT\187\SOH\STX\a\n\
+    \\ENQ\EOT\ETX\STX\b\ENQ\DC2\EOT\197\SOH\STX\a\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\b\SOH\DC2\EOT\187\SOH\b\DLE\n\
+    \\ENQ\EOT\ETX\STX\b\SOH\DC2\EOT\197\SOH\b\DLE\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\b\ETX\DC2\EOT\187\SOH\DC3\DC4\n\
+    \\ENQ\EOT\ETX\STX\b\ETX\DC2\EOT\197\SOH\DC3\DC4\n\
     \\189\EOT\n\
-    \\EOT\EOT\ETX\STX\t\DC2\EOT\201\SOH\STX\NAK\SUB\174\EOT A unique identifier for a span within a trace, assigned when the span\n\
+    \\EOT\EOT\ETX\STX\t\DC2\EOT\211\SOH\STX\NAK\SUB\174\EOT A unique identifier for a span within a trace, assigned when the span\n\
     \ is created. The ID is an 8-byte array. An ID with all zeroes OR of length\n\
     \ other than 8 bytes is considered invalid (empty string in OTLP/JSON\n\
     \ is zero-length and thus is also invalid).\n\
@@ -2093,8 +2156,30 @@
     \   - the field contains an invalid value.\n\
     \\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\t\ENQ\DC2\EOT\201\SOH\STX\a\n\
+    \\ENQ\EOT\ETX\STX\t\ENQ\DC2\EOT\211\SOH\STX\a\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\t\SOH\DC2\EOT\201\SOH\b\SI\n\
+    \\ENQ\EOT\ETX\STX\t\SOH\DC2\EOT\211\SOH\b\SI\n\
     \\r\n\
-    \\ENQ\EOT\ETX\STX\t\ETX\DC2\EOT\201\SOH\DC2\DC4b\ACKproto3"
+    \\ENQ\EOT\ETX\STX\t\ETX\DC2\EOT\211\SOH\DC2\DC4\n\
+    \\228\STX\n\
+    \\EOT\EOT\ETX\STX\n\
+    \\DC2\EOT\223\SOH\STX\EM\SUB\213\STX A unique identifier of event category/type.\n\
+    \ All events with the same event_name are expected to conform to the same\n\
+    \ schema for both their attributes and their body.\n\
+    \\n\
+    \ Recommended to be fully qualified and short (no longer than 256 characters).\n\
+    \\n\
+    \ Presence of event_name on the log record identifies this record\n\
+    \ as an event.\n\
+    \\n\
+    \ [Optional].\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\n\
+    \\ENQ\DC2\EOT\223\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\n\
+    \\SOH\DC2\EOT\223\SOH\t\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\n\
+    \\ETX\DC2\EOT\223\SOH\SYN\CANb\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Logs/V1/Logs_Fields.hs b/src/Proto/Opentelemetry/Proto/Logs/V1/Logs_Fields.hs
--- a/src/Proto/Opentelemetry/Proto/Logs/V1/Logs_Fields.hs
+++ b/src/Proto/Opentelemetry/Proto/Logs/V1/Logs_Fields.hs
@@ -48,6 +48,12 @@
   Lens.Family2.LensLike' f s a
 droppedAttributesCount
   = Data.ProtoLens.Field.field @"droppedAttributesCount"
+eventName ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "eventName" a) =>
+  Lens.Family2.LensLike' f s a
+eventName = Data.ProtoLens.Field.field @"eventName"
 flags ::
   forall f s a.
   (Prelude.Functor f, Data.ProtoLens.Field.HasField s "flags" a) =>
diff --git a/src/Proto/Opentelemetry/Proto/Metrics/V1/Metrics.hs b/src/Proto/Opentelemetry/Proto/Metrics/V1/Metrics.hs
--- a/src/Proto/Opentelemetry/Proto/Metrics/V1/Metrics.hs
+++ b/src/Proto/Opentelemetry/Proto/Metrics/V1/Metrics.hs
@@ -2877,4120 +2877,4253 @@
          * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.name' @:: Lens' Metric Data.Text.Text@
          * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.description' @:: Lens' Metric Data.Text.Text@
          * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.unit' @:: Lens' Metric Data.Text.Text@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'data'' @:: Lens' Metric (Prelude.Maybe Metric'Data)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'gauge' @:: Lens' Metric (Prelude.Maybe Gauge)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.gauge' @:: Lens' Metric Gauge@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'sum' @:: Lens' Metric (Prelude.Maybe Sum)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.sum' @:: Lens' Metric Sum@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'histogram' @:: Lens' Metric (Prelude.Maybe Histogram)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.histogram' @:: Lens' Metric Histogram@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'exponentialHistogram' @:: Lens' Metric (Prelude.Maybe ExponentialHistogram)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.exponentialHistogram' @:: Lens' Metric ExponentialHistogram@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'summary' @:: Lens' Metric (Prelude.Maybe Summary)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.summary' @:: Lens' Metric Summary@ -}
-data Metric
-  = Metric'_constructor {_Metric'name :: !Data.Text.Text,
-                         _Metric'description :: !Data.Text.Text,
-                         _Metric'unit :: !Data.Text.Text,
-                         _Metric'data' :: !(Prelude.Maybe Metric'Data),
-                         _Metric'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Metric where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-data Metric'Data
-  = Metric'Gauge !Gauge |
-    Metric'Sum !Sum |
-    Metric'Histogram !Histogram |
-    Metric'ExponentialHistogram !ExponentialHistogram |
-    Metric'Summary !Summary
-  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.Field.HasField Metric "name" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'name (\ x__ y__ -> x__ {_Metric'name = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Metric "description" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'description (\ x__ y__ -> x__ {_Metric'description = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Metric "unit" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'unit (\ x__ y__ -> x__ {_Metric'unit = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Metric "maybe'data'" (Prelude.Maybe Metric'Data) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Metric "maybe'gauge" (Prelude.Maybe Gauge) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        (Lens.Family2.Unchecked.lens
-           (\ x__
-              -> case x__ of
-                   (Prelude.Just (Metric'Gauge x__val)) -> Prelude.Just x__val
-                   _otherwise -> Prelude.Nothing)
-           (\ _ y__ -> Prelude.fmap Metric'Gauge y__))
-instance Data.ProtoLens.Field.HasField Metric "gauge" Gauge where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        ((Prelude..)
-           (Lens.Family2.Unchecked.lens
-              (\ x__
-                 -> case x__ of
-                      (Prelude.Just (Metric'Gauge x__val)) -> Prelude.Just x__val
-                      _otherwise -> Prelude.Nothing)
-              (\ _ y__ -> Prelude.fmap Metric'Gauge y__))
-           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
-instance Data.ProtoLens.Field.HasField Metric "maybe'sum" (Prelude.Maybe Sum) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        (Lens.Family2.Unchecked.lens
-           (\ x__
-              -> case x__ of
-                   (Prelude.Just (Metric'Sum x__val)) -> Prelude.Just x__val
-                   _otherwise -> Prelude.Nothing)
-           (\ _ y__ -> Prelude.fmap Metric'Sum y__))
-instance Data.ProtoLens.Field.HasField Metric "sum" Sum where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        ((Prelude..)
-           (Lens.Family2.Unchecked.lens
-              (\ x__
-                 -> case x__ of
-                      (Prelude.Just (Metric'Sum x__val)) -> Prelude.Just x__val
-                      _otherwise -> Prelude.Nothing)
-              (\ _ y__ -> Prelude.fmap Metric'Sum y__))
-           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
-instance Data.ProtoLens.Field.HasField Metric "maybe'histogram" (Prelude.Maybe Histogram) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        (Lens.Family2.Unchecked.lens
-           (\ x__
-              -> case x__ of
-                   (Prelude.Just (Metric'Histogram x__val)) -> Prelude.Just x__val
-                   _otherwise -> Prelude.Nothing)
-           (\ _ y__ -> Prelude.fmap Metric'Histogram y__))
-instance Data.ProtoLens.Field.HasField Metric "histogram" Histogram where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        ((Prelude..)
-           (Lens.Family2.Unchecked.lens
-              (\ x__
-                 -> case x__ of
-                      (Prelude.Just (Metric'Histogram x__val)) -> Prelude.Just x__val
-                      _otherwise -> Prelude.Nothing)
-              (\ _ y__ -> Prelude.fmap Metric'Histogram y__))
-           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
-instance Data.ProtoLens.Field.HasField Metric "maybe'exponentialHistogram" (Prelude.Maybe ExponentialHistogram) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        (Lens.Family2.Unchecked.lens
-           (\ x__
-              -> case x__ of
-                   (Prelude.Just (Metric'ExponentialHistogram x__val))
-                     -> Prelude.Just x__val
-                   _otherwise -> Prelude.Nothing)
-           (\ _ y__ -> Prelude.fmap Metric'ExponentialHistogram y__))
-instance Data.ProtoLens.Field.HasField Metric "exponentialHistogram" ExponentialHistogram where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        ((Prelude..)
-           (Lens.Family2.Unchecked.lens
-              (\ x__
-                 -> case x__ of
-                      (Prelude.Just (Metric'ExponentialHistogram x__val))
-                        -> Prelude.Just x__val
-                      _otherwise -> Prelude.Nothing)
-              (\ _ y__ -> Prelude.fmap Metric'ExponentialHistogram y__))
-           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
-instance Data.ProtoLens.Field.HasField Metric "maybe'summary" (Prelude.Maybe Summary) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        (Lens.Family2.Unchecked.lens
-           (\ x__
-              -> case x__ of
-                   (Prelude.Just (Metric'Summary x__val)) -> Prelude.Just x__val
-                   _otherwise -> Prelude.Nothing)
-           (\ _ y__ -> Prelude.fmap Metric'Summary y__))
-instance Data.ProtoLens.Field.HasField Metric "summary" Summary where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
-        ((Prelude..)
-           (Lens.Family2.Unchecked.lens
-              (\ x__
-                 -> case x__ of
-                      (Prelude.Just (Metric'Summary x__val)) -> Prelude.Just x__val
-                      _otherwise -> Prelude.Nothing)
-              (\ _ y__ -> Prelude.fmap Metric'Summary y__))
-           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
-instance Data.ProtoLens.Message Metric where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.metrics.v1.Metric"
-  packedMessageDescriptor _
-    = "\n\
-      \\ACKMetric\DC2\DC2\n\
-      \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2 \n\
-      \\vdescription\CAN\STX \SOH(\tR\vdescription\DC2\DC2\n\
-      \\EOTunit\CAN\ETX \SOH(\tR\EOTunit\DC2=\n\
-      \\ENQgauge\CAN\ENQ \SOH(\v2%.opentelemetry.proto.metrics.v1.GaugeH\NULR\ENQgauge\DC27\n\
-      \\ETXsum\CAN\a \SOH(\v2#.opentelemetry.proto.metrics.v1.SumH\NULR\ETXsum\DC2I\n\
-      \\thistogram\CAN\t \SOH(\v2).opentelemetry.proto.metrics.v1.HistogramH\NULR\thistogram\DC2k\n\
-      \\NAKexponential_histogram\CAN\n\
-      \ \SOH(\v24.opentelemetry.proto.metrics.v1.ExponentialHistogramH\NULR\DC4exponentialHistogram\DC2C\n\
-      \\asummary\CAN\v \SOH(\v2'.opentelemetry.proto.metrics.v1.SummaryH\NULR\asummaryB\ACK\n\
-      \\EOTdataJ\EOT\b\EOT\DLE\ENQJ\EOT\b\ACK\DLE\aJ\EOT\b\b\DLE\t"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        name__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "name"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
-              Data.ProtoLens.FieldDescriptor Metric
-        description__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "description"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"description")) ::
-              Data.ProtoLens.FieldDescriptor Metric
-        unit__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "unit"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"unit")) ::
-              Data.ProtoLens.FieldDescriptor Metric
-        gauge__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "gauge"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Gauge)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'gauge")) ::
-              Data.ProtoLens.FieldDescriptor Metric
-        sum__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "sum"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Sum)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'sum")) ::
-              Data.ProtoLens.FieldDescriptor Metric
-        histogram__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "histogram"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Histogram)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'histogram")) ::
-              Data.ProtoLens.FieldDescriptor Metric
-        exponentialHistogram__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "exponential_histogram"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor ExponentialHistogram)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'exponentialHistogram")) ::
-              Data.ProtoLens.FieldDescriptor Metric
-        summary__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "summary"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Summary)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'summary")) ::
-              Data.ProtoLens.FieldDescriptor Metric
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, name__field_descriptor),
-           (Data.ProtoLens.Tag 2, description__field_descriptor),
-           (Data.ProtoLens.Tag 3, unit__field_descriptor),
-           (Data.ProtoLens.Tag 5, gauge__field_descriptor),
-           (Data.ProtoLens.Tag 7, sum__field_descriptor),
-           (Data.ProtoLens.Tag 9, histogram__field_descriptor),
-           (Data.ProtoLens.Tag 10, exponentialHistogram__field_descriptor),
-           (Data.ProtoLens.Tag 11, summary__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _Metric'_unknownFields
-        (\ x__ y__ -> x__ {_Metric'_unknownFields = y__})
-  defMessage
-    = Metric'_constructor
-        {_Metric'name = Data.ProtoLens.fieldDefault,
-         _Metric'description = Data.ProtoLens.fieldDefault,
-         _Metric'unit = Data.ProtoLens.fieldDefault,
-         _Metric'data' = Prelude.Nothing, _Metric'_unknownFields = []}
-  parseMessage
-    = let
-        loop :: Metric -> Data.ProtoLens.Encoding.Bytes.Parser Metric
-        loop x
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "name"
-                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
-                        18
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "description"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"description") y x)
-                        26
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "unit"
-                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"unit") y x)
-                        42
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "gauge"
-                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"gauge") y x)
-                        58
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "sum"
-                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"sum") y x)
-                        74
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "histogram"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"histogram") y x)
-                        82
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "exponential_histogram"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"exponentialHistogram") y x)
-                        90
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "summary"
-                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"summary") y x)
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do loop Data.ProtoLens.defMessage) "Metric"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
-              in
-                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty
-                else
-                    (Data.Monoid.<>)
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                      ((Prelude..)
-                         (\ bs
-                            -> (Data.Monoid.<>)
-                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         Data.Text.Encoding.encodeUtf8 _v))
-             ((Data.Monoid.<>)
-                (let
-                   _v
-                     = Lens.Family2.view (Data.ProtoLens.Field.field @"description") _x
-                 in
-                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                       Data.Monoid.mempty
-                   else
-                       (Data.Monoid.<>)
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                         ((Prelude..)
-                            (\ bs
-                               -> (Data.Monoid.<>)
-                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                            Data.Text.Encoding.encodeUtf8 _v))
-                ((Data.Monoid.<>)
-                   (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"unit") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                            ((Prelude..)
-                               (\ bs
-                                  -> (Data.Monoid.<>)
-                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                               Data.Text.Encoding.encodeUtf8 _v))
-                   ((Data.Monoid.<>)
-                      (case
-                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'data'") _x
-                       of
-                         Prelude.Nothing -> Data.Monoid.mempty
-                         (Prelude.Just (Metric'Gauge v))
-                           -> (Data.Monoid.<>)
-                                (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
-                                ((Prelude..)
-                                   (\ bs
-                                      -> (Data.Monoid.<>)
-                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                   Data.ProtoLens.encodeMessage v)
-                         (Prelude.Just (Metric'Sum v))
-                           -> (Data.Monoid.<>)
-                                (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
-                                ((Prelude..)
-                                   (\ bs
-                                      -> (Data.Monoid.<>)
-                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                   Data.ProtoLens.encodeMessage v)
-                         (Prelude.Just (Metric'Histogram v))
-                           -> (Data.Monoid.<>)
-                                (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
-                                ((Prelude..)
-                                   (\ bs
-                                      -> (Data.Monoid.<>)
-                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                   Data.ProtoLens.encodeMessage v)
-                         (Prelude.Just (Metric'ExponentialHistogram v))
-                           -> (Data.Monoid.<>)
-                                (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
-                                ((Prelude..)
-                                   (\ bs
-                                      -> (Data.Monoid.<>)
-                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                   Data.ProtoLens.encodeMessage v)
-                         (Prelude.Just (Metric'Summary v))
-                           -> (Data.Monoid.<>)
-                                (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
-                                ((Prelude..)
-                                   (\ bs
-                                      -> (Data.Monoid.<>)
-                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                   Data.ProtoLens.encodeMessage v))
-                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
-instance Control.DeepSeq.NFData Metric where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_Metric'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_Metric'name x__)
-                (Control.DeepSeq.deepseq
-                   (_Metric'description x__)
-                   (Control.DeepSeq.deepseq
-                      (_Metric'unit x__)
-                      (Control.DeepSeq.deepseq (_Metric'data' x__) ()))))
-instance Control.DeepSeq.NFData Metric'Data where
-  rnf (Metric'Gauge x__) = Control.DeepSeq.rnf x__
-  rnf (Metric'Sum x__) = Control.DeepSeq.rnf x__
-  rnf (Metric'Histogram x__) = Control.DeepSeq.rnf x__
-  rnf (Metric'ExponentialHistogram x__) = Control.DeepSeq.rnf x__
-  rnf (Metric'Summary x__) = Control.DeepSeq.rnf x__
-_Metric'Gauge :: Data.ProtoLens.Prism.Prism' Metric'Data Gauge
-_Metric'Gauge
-  = Data.ProtoLens.Prism.prism'
-      Metric'Gauge
-      (\ p__
-         -> case p__ of
-              (Metric'Gauge p__val) -> Prelude.Just p__val
-              _otherwise -> Prelude.Nothing)
-_Metric'Sum :: Data.ProtoLens.Prism.Prism' Metric'Data Sum
-_Metric'Sum
-  = Data.ProtoLens.Prism.prism'
-      Metric'Sum
-      (\ p__
-         -> case p__ of
-              (Metric'Sum p__val) -> Prelude.Just p__val
-              _otherwise -> Prelude.Nothing)
-_Metric'Histogram ::
-  Data.ProtoLens.Prism.Prism' Metric'Data Histogram
-_Metric'Histogram
-  = Data.ProtoLens.Prism.prism'
-      Metric'Histogram
-      (\ p__
-         -> case p__ of
-              (Metric'Histogram p__val) -> Prelude.Just p__val
-              _otherwise -> Prelude.Nothing)
-_Metric'ExponentialHistogram ::
-  Data.ProtoLens.Prism.Prism' Metric'Data ExponentialHistogram
-_Metric'ExponentialHistogram
-  = Data.ProtoLens.Prism.prism'
-      Metric'ExponentialHistogram
-      (\ p__
-         -> case p__ of
-              (Metric'ExponentialHistogram p__val) -> Prelude.Just p__val
-              _otherwise -> Prelude.Nothing)
-_Metric'Summary :: Data.ProtoLens.Prism.Prism' Metric'Data Summary
-_Metric'Summary
-  = Data.ProtoLens.Prism.prism'
-      Metric'Summary
-      (\ p__
-         -> case p__ of
-              (Metric'Summary p__val) -> Prelude.Just p__val
-              _otherwise -> Prelude.Nothing)
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.resourceMetrics' @:: Lens' MetricsData [ResourceMetrics]@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'resourceMetrics' @:: Lens' MetricsData (Data.Vector.Vector ResourceMetrics)@ -}
-data MetricsData
-  = MetricsData'_constructor {_MetricsData'resourceMetrics :: !(Data.Vector.Vector ResourceMetrics),
-                              _MetricsData'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show MetricsData where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField MetricsData "resourceMetrics" [ResourceMetrics] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _MetricsData'resourceMetrics
-           (\ x__ y__ -> x__ {_MetricsData'resourceMetrics = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField MetricsData "vec'resourceMetrics" (Data.Vector.Vector ResourceMetrics) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _MetricsData'resourceMetrics
-           (\ x__ y__ -> x__ {_MetricsData'resourceMetrics = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message MetricsData where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.metrics.v1.MetricsData"
-  packedMessageDescriptor _
-    = "\n\
-      \\vMetricsData\DC2Z\n\
-      \\DLEresource_metrics\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.ResourceMetricsR\SIresourceMetrics"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        resourceMetrics__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "resource_metrics"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor ResourceMetrics)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"resourceMetrics")) ::
-              Data.ProtoLens.FieldDescriptor MetricsData
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, resourceMetrics__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _MetricsData'_unknownFields
-        (\ x__ y__ -> x__ {_MetricsData'_unknownFields = y__})
-  defMessage
-    = MetricsData'_constructor
-        {_MetricsData'resourceMetrics = Data.Vector.Generic.empty,
-         _MetricsData'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          MetricsData
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ResourceMetrics
-             -> Data.ProtoLens.Encoding.Bytes.Parser MetricsData
-        loop x mutable'resourceMetrics
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'resourceMetrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                     mutable'resourceMetrics)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'resourceMetrics")
-                              frozen'resourceMetrics x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "resource_metrics"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append
-                                          mutable'resourceMetrics y)
-                                loop x v
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'resourceMetrics
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'resourceMetrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                           Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'resourceMetrics)
-          "MetricsData"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                (\ _v
-                   -> (Data.Monoid.<>)
-                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                        ((Prelude..)
-                           (\ bs
-                              -> (Data.Monoid.<>)
-                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Data.ProtoLens.encodeMessage _v))
-                (Lens.Family2.view
-                   (Data.ProtoLens.Field.field @"vec'resourceMetrics") _x))
-             (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData MetricsData where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_MetricsData'_unknownFields x__)
-             (Control.DeepSeq.deepseq (_MetricsData'resourceMetrics x__) ())
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.attributes' @:: Lens' NumberDataPoint [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'attributes' @:: Lens' NumberDataPoint (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.startTimeUnixNano' @:: Lens' NumberDataPoint Data.Word.Word64@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.timeUnixNano' @:: Lens' NumberDataPoint Data.Word.Word64@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.exemplars' @:: Lens' NumberDataPoint [Exemplar]@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'exemplars' @:: Lens' NumberDataPoint (Data.Vector.Vector Exemplar)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.flags' @:: Lens' NumberDataPoint Data.Word.Word32@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'value' @:: Lens' NumberDataPoint (Prelude.Maybe NumberDataPoint'Value)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'asDouble' @:: Lens' NumberDataPoint (Prelude.Maybe Prelude.Double)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.asDouble' @:: Lens' NumberDataPoint Prelude.Double@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'asInt' @:: Lens' NumberDataPoint (Prelude.Maybe Data.Int.Int64)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.asInt' @:: Lens' NumberDataPoint Data.Int.Int64@ -}
-data NumberDataPoint
-  = NumberDataPoint'_constructor {_NumberDataPoint'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
-                                  _NumberDataPoint'startTimeUnixNano :: !Data.Word.Word64,
-                                  _NumberDataPoint'timeUnixNano :: !Data.Word.Word64,
-                                  _NumberDataPoint'exemplars :: !(Data.Vector.Vector Exemplar),
-                                  _NumberDataPoint'flags :: !Data.Word.Word32,
-                                  _NumberDataPoint'value :: !(Prelude.Maybe NumberDataPoint'Value),
-                                  _NumberDataPoint'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show NumberDataPoint where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-data NumberDataPoint'Value
-  = NumberDataPoint'AsDouble !Prelude.Double |
-    NumberDataPoint'AsInt !Data.Int.Int64
-  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.Field.HasField NumberDataPoint "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'attributes
-           (\ x__ y__ -> x__ {_NumberDataPoint'attributes = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField NumberDataPoint "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'attributes
-           (\ x__ y__ -> x__ {_NumberDataPoint'attributes = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField NumberDataPoint "startTimeUnixNano" Data.Word.Word64 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'startTimeUnixNano
-           (\ x__ y__ -> x__ {_NumberDataPoint'startTimeUnixNano = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField NumberDataPoint "timeUnixNano" Data.Word.Word64 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'timeUnixNano
-           (\ x__ y__ -> x__ {_NumberDataPoint'timeUnixNano = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField NumberDataPoint "exemplars" [Exemplar] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'exemplars
-           (\ x__ y__ -> x__ {_NumberDataPoint'exemplars = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField NumberDataPoint "vec'exemplars" (Data.Vector.Vector Exemplar) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'exemplars
-           (\ x__ y__ -> x__ {_NumberDataPoint'exemplars = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField NumberDataPoint "flags" Data.Word.Word32 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'flags
-           (\ x__ y__ -> x__ {_NumberDataPoint'flags = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField NumberDataPoint "maybe'value" (Prelude.Maybe NumberDataPoint'Value) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'value
-           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField NumberDataPoint "maybe'asDouble" (Prelude.Maybe Prelude.Double) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'value
-           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
-        (Lens.Family2.Unchecked.lens
-           (\ x__
-              -> case x__ of
-                   (Prelude.Just (NumberDataPoint'AsDouble x__val))
-                     -> Prelude.Just x__val
-                   _otherwise -> Prelude.Nothing)
-           (\ _ y__ -> Prelude.fmap NumberDataPoint'AsDouble y__))
-instance Data.ProtoLens.Field.HasField NumberDataPoint "asDouble" Prelude.Double where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'value
-           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
-        ((Prelude..)
-           (Lens.Family2.Unchecked.lens
-              (\ x__
-                 -> case x__ of
-                      (Prelude.Just (NumberDataPoint'AsDouble x__val))
-                        -> Prelude.Just x__val
-                      _otherwise -> Prelude.Nothing)
-              (\ _ y__ -> Prelude.fmap NumberDataPoint'AsDouble y__))
-           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
-instance Data.ProtoLens.Field.HasField NumberDataPoint "maybe'asInt" (Prelude.Maybe Data.Int.Int64) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'value
-           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
-        (Lens.Family2.Unchecked.lens
-           (\ x__
-              -> case x__ of
-                   (Prelude.Just (NumberDataPoint'AsInt x__val))
-                     -> Prelude.Just x__val
-                   _otherwise -> Prelude.Nothing)
-           (\ _ y__ -> Prelude.fmap NumberDataPoint'AsInt y__))
-instance Data.ProtoLens.Field.HasField NumberDataPoint "asInt" Data.Int.Int64 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _NumberDataPoint'value
-           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
-        ((Prelude..)
-           (Lens.Family2.Unchecked.lens
-              (\ x__
-                 -> case x__ of
-                      (Prelude.Just (NumberDataPoint'AsInt x__val))
-                        -> Prelude.Just x__val
-                      _otherwise -> Prelude.Nothing)
-              (\ _ y__ -> Prelude.fmap NumberDataPoint'AsInt y__))
-           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
-instance Data.ProtoLens.Message NumberDataPoint where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.metrics.v1.NumberDataPoint"
-  packedMessageDescriptor _
-    = "\n\
-      \\SINumberDataPoint\DC2G\n\
-      \\n\
-      \attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-      \attributes\DC2/\n\
-      \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
-      \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\GS\n\
-      \\tas_double\CAN\EOT \SOH(\SOHH\NULR\basDouble\DC2\ETB\n\
-      \\ACKas_int\CAN\ACK \SOH(\DLEH\NULR\ENQasInt\DC2F\n\
-      \\texemplars\CAN\ENQ \ETX(\v2(.opentelemetry.proto.metrics.v1.ExemplarR\texemplars\DC2\DC4\n\
-      \\ENQflags\CAN\b \SOH(\rR\ENQflagsB\a\n\
-      \\ENQvalueJ\EOT\b\SOH\DLE\STX"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        attributes__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "attributes"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"attributes")) ::
-              Data.ProtoLens.FieldDescriptor NumberDataPoint
-        startTimeUnixNano__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "start_time_unix_nano"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"startTimeUnixNano")) ::
-              Data.ProtoLens.FieldDescriptor NumberDataPoint
-        timeUnixNano__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "time_unix_nano"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"timeUnixNano")) ::
-              Data.ProtoLens.FieldDescriptor NumberDataPoint
-        exemplars__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "exemplars"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Exemplar)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"exemplars")) ::
-              Data.ProtoLens.FieldDescriptor NumberDataPoint
-        flags__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "flags"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"flags")) ::
-              Data.ProtoLens.FieldDescriptor NumberDataPoint
-        asDouble__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "as_double"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
-                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'asDouble")) ::
-              Data.ProtoLens.FieldDescriptor NumberDataPoint
-        asInt__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "as_int"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.SFixed64Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'asInt")) ::
-              Data.ProtoLens.FieldDescriptor NumberDataPoint
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 7, attributes__field_descriptor),
-           (Data.ProtoLens.Tag 2, startTimeUnixNano__field_descriptor),
-           (Data.ProtoLens.Tag 3, timeUnixNano__field_descriptor),
-           (Data.ProtoLens.Tag 5, exemplars__field_descriptor),
-           (Data.ProtoLens.Tag 8, flags__field_descriptor),
-           (Data.ProtoLens.Tag 4, asDouble__field_descriptor),
-           (Data.ProtoLens.Tag 6, asInt__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _NumberDataPoint'_unknownFields
-        (\ x__ y__ -> x__ {_NumberDataPoint'_unknownFields = y__})
-  defMessage
-    = NumberDataPoint'_constructor
-        {_NumberDataPoint'attributes = Data.Vector.Generic.empty,
-         _NumberDataPoint'startTimeUnixNano = Data.ProtoLens.fieldDefault,
-         _NumberDataPoint'timeUnixNano = Data.ProtoLens.fieldDefault,
-         _NumberDataPoint'exemplars = Data.Vector.Generic.empty,
-         _NumberDataPoint'flags = Data.ProtoLens.fieldDefault,
-         _NumberDataPoint'value = Prelude.Nothing,
-         _NumberDataPoint'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          NumberDataPoint
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
-             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Exemplar
-                -> Data.ProtoLens.Encoding.Bytes.Parser NumberDataPoint
-        loop x mutable'attributes mutable'exemplars
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'attributes)
-                      frozen'exemplars <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                               mutable'exemplars)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
-                              (Lens.Family2.set
-                                 (Data.ProtoLens.Field.field @"vec'exemplars") frozen'exemplars x)))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        58
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "attributes"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
-                                loop x v mutable'exemplars
-                        17
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       Data.ProtoLens.Encoding.Bytes.getFixed64
-                                       "start_time_unix_nano"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"startTimeUnixNano") y x)
-                                  mutable'attributes mutable'exemplars
-                        25
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "time_unix_nano"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"timeUnixNano") y x)
-                                  mutable'attributes mutable'exemplars
-                        42
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "exemplars"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'exemplars y)
-                                loop x mutable'attributes v
-                        64
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.fromIntegral
-                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                       "flags"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"flags") y x)
-                                  mutable'attributes mutable'exemplars
-                        33
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
-                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
-                                       "as_double"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"asDouble") y x)
-                                  mutable'attributes mutable'exemplars
-                        49
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.fromIntegral
-                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
-                                       "as_int"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"asInt") y x)
-                                  mutable'attributes mutable'exemplars
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'attributes mutable'exemplars
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-              mutable'exemplars <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                     Data.ProtoLens.Encoding.Growing.new
-              loop
-                Data.ProtoLens.defMessage mutable'attributes mutable'exemplars)
-          "NumberDataPoint"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                (\ _v
-                   -> (Data.Monoid.<>)
-                        (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
-                        ((Prelude..)
-                           (\ bs
-                              -> (Data.Monoid.<>)
-                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Data.ProtoLens.encodeMessage _v))
-                (Lens.Family2.view
-                   (Data.ProtoLens.Field.field @"vec'attributes") _x))
-             ((Data.Monoid.<>)
-                (let
-                   _v
-                     = Lens.Family2.view
-                         (Data.ProtoLens.Field.field @"startTimeUnixNano") _x
-                 in
-                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                       Data.Monoid.mempty
-                   else
-                       (Data.Monoid.<>)
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 17)
-                         (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
-                ((Data.Monoid.<>)
-                   (let
-                      _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"timeUnixNano") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 25)
-                            (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
-                   ((Data.Monoid.<>)
-                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                         (\ _v
-                            -> (Data.Monoid.<>)
-                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
-                                 ((Prelude..)
-                                    (\ bs
-                                       -> (Data.Monoid.<>)
-                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                    Data.ProtoLens.encodeMessage _v))
-                         (Lens.Family2.view
-                            (Data.ProtoLens.Field.field @"vec'exemplars") _x))
-                      ((Data.Monoid.<>)
-                         (let
-                            _v = Lens.Family2.view (Data.ProtoLens.Field.field @"flags") _x
-                          in
-                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                Data.Monoid.mempty
-                            else
-                                (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 64)
-                                  ((Prelude..)
-                                     Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral
-                                     _v))
-                         ((Data.Monoid.<>)
-                            (case
-                                 Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
-                             of
-                               Prelude.Nothing -> Data.Monoid.mempty
-                               (Prelude.Just (NumberDataPoint'AsDouble v))
-                                 -> (Data.Monoid.<>)
-                                      (Data.ProtoLens.Encoding.Bytes.putVarInt 33)
-                                      ((Prelude..)
-                                         Data.ProtoLens.Encoding.Bytes.putFixed64
-                                         Data.ProtoLens.Encoding.Bytes.doubleToWord v)
-                               (Prelude.Just (NumberDataPoint'AsInt v))
-                                 -> (Data.Monoid.<>)
-                                      (Data.ProtoLens.Encoding.Bytes.putVarInt 49)
-                                      ((Prelude..)
-                                         Data.ProtoLens.Encoding.Bytes.putFixed64
-                                         Prelude.fromIntegral v))
-                            (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                               (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
-instance Control.DeepSeq.NFData NumberDataPoint where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_NumberDataPoint'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_NumberDataPoint'attributes x__)
-                (Control.DeepSeq.deepseq
-                   (_NumberDataPoint'startTimeUnixNano x__)
-                   (Control.DeepSeq.deepseq
-                      (_NumberDataPoint'timeUnixNano x__)
-                      (Control.DeepSeq.deepseq
-                         (_NumberDataPoint'exemplars x__)
-                         (Control.DeepSeq.deepseq
-                            (_NumberDataPoint'flags x__)
-                            (Control.DeepSeq.deepseq (_NumberDataPoint'value x__) ()))))))
-instance Control.DeepSeq.NFData NumberDataPoint'Value where
-  rnf (NumberDataPoint'AsDouble x__) = Control.DeepSeq.rnf x__
-  rnf (NumberDataPoint'AsInt x__) = Control.DeepSeq.rnf x__
-_NumberDataPoint'AsDouble ::
-  Data.ProtoLens.Prism.Prism' NumberDataPoint'Value Prelude.Double
-_NumberDataPoint'AsDouble
-  = Data.ProtoLens.Prism.prism'
-      NumberDataPoint'AsDouble
-      (\ p__
-         -> case p__ of
-              (NumberDataPoint'AsDouble p__val) -> Prelude.Just p__val
-              _otherwise -> Prelude.Nothing)
-_NumberDataPoint'AsInt ::
-  Data.ProtoLens.Prism.Prism' NumberDataPoint'Value Data.Int.Int64
-_NumberDataPoint'AsInt
-  = Data.ProtoLens.Prism.prism'
-      NumberDataPoint'AsInt
-      (\ p__
-         -> case p__ of
-              (NumberDataPoint'AsInt p__val) -> Prelude.Just p__val
-              _otherwise -> Prelude.Nothing)
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.resource' @:: Lens' ResourceMetrics Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'resource' @:: Lens' ResourceMetrics (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.scopeMetrics' @:: Lens' ResourceMetrics [ScopeMetrics]@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'scopeMetrics' @:: Lens' ResourceMetrics (Data.Vector.Vector ScopeMetrics)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.schemaUrl' @:: Lens' ResourceMetrics Data.Text.Text@ -}
-data ResourceMetrics
-  = ResourceMetrics'_constructor {_ResourceMetrics'resource :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource),
-                                  _ResourceMetrics'scopeMetrics :: !(Data.Vector.Vector ScopeMetrics),
-                                  _ResourceMetrics'schemaUrl :: !Data.Text.Text,
-                                  _ResourceMetrics'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show ResourceMetrics where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField ResourceMetrics "resource" Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceMetrics'resource
-           (\ x__ y__ -> x__ {_ResourceMetrics'resource = y__}))
-        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Data.ProtoLens.Field.HasField ResourceMetrics "maybe'resource" (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceMetrics'resource
-           (\ x__ y__ -> x__ {_ResourceMetrics'resource = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField ResourceMetrics "scopeMetrics" [ScopeMetrics] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceMetrics'scopeMetrics
-           (\ x__ y__ -> x__ {_ResourceMetrics'scopeMetrics = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField ResourceMetrics "vec'scopeMetrics" (Data.Vector.Vector ScopeMetrics) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceMetrics'scopeMetrics
-           (\ x__ y__ -> x__ {_ResourceMetrics'scopeMetrics = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField ResourceMetrics "schemaUrl" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceMetrics'schemaUrl
-           (\ x__ y__ -> x__ {_ResourceMetrics'schemaUrl = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message ResourceMetrics where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.metrics.v1.ResourceMetrics"
-  packedMessageDescriptor _
-    = "\n\
-      \\SIResourceMetrics\DC2E\n\
-      \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2Q\n\
-      \\rscope_metrics\CAN\STX \ETX(\v2,.opentelemetry.proto.metrics.v1.ScopeMetricsR\fscopeMetrics\DC2\GS\n\
-      \\n\
-      \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        resource__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "resource"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'resource")) ::
-              Data.ProtoLens.FieldDescriptor ResourceMetrics
-        scopeMetrics__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "scope_metrics"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor ScopeMetrics)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"scopeMetrics")) ::
-              Data.ProtoLens.FieldDescriptor ResourceMetrics
-        schemaUrl__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "schema_url"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
-              Data.ProtoLens.FieldDescriptor ResourceMetrics
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, resource__field_descriptor),
-           (Data.ProtoLens.Tag 2, scopeMetrics__field_descriptor),
-           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _ResourceMetrics'_unknownFields
-        (\ x__ y__ -> x__ {_ResourceMetrics'_unknownFields = y__})
-  defMessage
-    = ResourceMetrics'_constructor
-        {_ResourceMetrics'resource = Prelude.Nothing,
-         _ResourceMetrics'scopeMetrics = Data.Vector.Generic.empty,
-         _ResourceMetrics'schemaUrl = Data.ProtoLens.fieldDefault,
-         _ResourceMetrics'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          ResourceMetrics
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ScopeMetrics
-             -> Data.ProtoLens.Encoding.Bytes.Parser ResourceMetrics
-        loop x mutable'scopeMetrics
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'scopeMetrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                  mutable'scopeMetrics)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'scopeMetrics")
-                              frozen'scopeMetrics x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "resource"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"resource") y x)
-                                  mutable'scopeMetrics
-                        18
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "scope_metrics"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append
-                                          mutable'scopeMetrics y)
-                                loop x v
-                        26
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "schema_url"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
-                                  mutable'scopeMetrics
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'scopeMetrics
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'scopeMetrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                        Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'scopeMetrics)
-          "ResourceMetrics"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (case
-                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'resource") _x
-              of
-                Prelude.Nothing -> Data.Monoid.mempty
-                (Prelude.Just _v)
-                  -> (Data.Monoid.<>)
-                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                       ((Prelude..)
-                          (\ bs
-                             -> (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                          Data.ProtoLens.encodeMessage _v))
-             ((Data.Monoid.<>)
-                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                   (\ _v
-                      -> (Data.Monoid.<>)
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                           ((Prelude..)
-                              (\ bs
-                                 -> (Data.Monoid.<>)
-                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                              Data.ProtoLens.encodeMessage _v))
-                   (Lens.Family2.view
-                      (Data.ProtoLens.Field.field @"vec'scopeMetrics") _x))
-                ((Data.Monoid.<>)
-                   (let
-                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                            ((Prelude..)
-                               (\ bs
-                                  -> (Data.Monoid.<>)
-                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                               Data.Text.Encoding.encodeUtf8 _v))
-                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
-instance Control.DeepSeq.NFData ResourceMetrics where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_ResourceMetrics'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_ResourceMetrics'resource x__)
-                (Control.DeepSeq.deepseq
-                   (_ResourceMetrics'scopeMetrics x__)
-                   (Control.DeepSeq.deepseq (_ResourceMetrics'schemaUrl x__) ())))
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.scope' @:: Lens' ScopeMetrics Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'scope' @:: Lens' ScopeMetrics (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.metrics' @:: Lens' ScopeMetrics [Metric]@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'metrics' @:: Lens' ScopeMetrics (Data.Vector.Vector Metric)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.schemaUrl' @:: Lens' ScopeMetrics Data.Text.Text@ -}
-data ScopeMetrics
-  = ScopeMetrics'_constructor {_ScopeMetrics'scope :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope),
-                               _ScopeMetrics'metrics :: !(Data.Vector.Vector Metric),
-                               _ScopeMetrics'schemaUrl :: !Data.Text.Text,
-                               _ScopeMetrics'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show ScopeMetrics where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField ScopeMetrics "scope" Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeMetrics'scope (\ x__ y__ -> x__ {_ScopeMetrics'scope = y__}))
-        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Data.ProtoLens.Field.HasField ScopeMetrics "maybe'scope" (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeMetrics'scope (\ x__ y__ -> x__ {_ScopeMetrics'scope = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField ScopeMetrics "metrics" [Metric] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeMetrics'metrics
-           (\ x__ y__ -> x__ {_ScopeMetrics'metrics = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField ScopeMetrics "vec'metrics" (Data.Vector.Vector Metric) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeMetrics'metrics
-           (\ x__ y__ -> x__ {_ScopeMetrics'metrics = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField ScopeMetrics "schemaUrl" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeMetrics'schemaUrl
-           (\ x__ y__ -> x__ {_ScopeMetrics'schemaUrl = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message ScopeMetrics where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.metrics.v1.ScopeMetrics"
-  packedMessageDescriptor _
-    = "\n\
-      \\fScopeMetrics\DC2I\n\
-      \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC2@\n\
-      \\ametrics\CAN\STX \ETX(\v2&.opentelemetry.proto.metrics.v1.MetricR\ametrics\DC2\GS\n\
-      \\n\
-      \schema_url\CAN\ETX \SOH(\tR\tschemaUrl"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        scope__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "scope"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'scope")) ::
-              Data.ProtoLens.FieldDescriptor ScopeMetrics
-        metrics__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "metrics"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Metric)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"metrics")) ::
-              Data.ProtoLens.FieldDescriptor ScopeMetrics
-        schemaUrl__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "schema_url"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
-              Data.ProtoLens.FieldDescriptor ScopeMetrics
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, scope__field_descriptor),
-           (Data.ProtoLens.Tag 2, metrics__field_descriptor),
-           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _ScopeMetrics'_unknownFields
-        (\ x__ y__ -> x__ {_ScopeMetrics'_unknownFields = y__})
-  defMessage
-    = ScopeMetrics'_constructor
-        {_ScopeMetrics'scope = Prelude.Nothing,
-         _ScopeMetrics'metrics = Data.Vector.Generic.empty,
-         _ScopeMetrics'schemaUrl = Data.ProtoLens.fieldDefault,
-         _ScopeMetrics'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          ScopeMetrics
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Metric
-             -> Data.ProtoLens.Encoding.Bytes.Parser ScopeMetrics
-        loop x mutable'metrics
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'metrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                             mutable'metrics)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'metrics") frozen'metrics x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "scope"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scope") y x)
-                                  mutable'metrics
-                        18
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "metrics"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'metrics y)
-                                loop x v
-                        26
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "schema_url"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
-                                  mutable'metrics
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'metrics
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'metrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                   Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'metrics)
-          "ScopeMetrics"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (case
-                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'scope") _x
-              of
-                Prelude.Nothing -> Data.Monoid.mempty
-                (Prelude.Just _v)
-                  -> (Data.Monoid.<>)
-                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                       ((Prelude..)
-                          (\ bs
-                             -> (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                          Data.ProtoLens.encodeMessage _v))
-             ((Data.Monoid.<>)
-                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                   (\ _v
-                      -> (Data.Monoid.<>)
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                           ((Prelude..)
-                              (\ bs
-                                 -> (Data.Monoid.<>)
-                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                              Data.ProtoLens.encodeMessage _v))
-                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'metrics") _x))
-                ((Data.Monoid.<>)
-                   (let
-                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                            ((Prelude..)
-                               (\ bs
-                                  -> (Data.Monoid.<>)
-                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                               Data.Text.Encoding.encodeUtf8 _v))
-                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
-instance Control.DeepSeq.NFData ScopeMetrics where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_ScopeMetrics'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_ScopeMetrics'scope x__)
-                (Control.DeepSeq.deepseq
-                   (_ScopeMetrics'metrics x__)
-                   (Control.DeepSeq.deepseq (_ScopeMetrics'schemaUrl x__) ())))
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.dataPoints' @:: Lens' Sum [NumberDataPoint]@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'dataPoints' @:: Lens' Sum (Data.Vector.Vector NumberDataPoint)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.aggregationTemporality' @:: Lens' Sum AggregationTemporality@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.isMonotonic' @:: Lens' Sum Prelude.Bool@ -}
-data Sum
-  = Sum'_constructor {_Sum'dataPoints :: !(Data.Vector.Vector NumberDataPoint),
-                      _Sum'aggregationTemporality :: !AggregationTemporality,
-                      _Sum'isMonotonic :: !Prelude.Bool,
-                      _Sum'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Sum where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Sum "dataPoints" [NumberDataPoint] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Sum'dataPoints (\ x__ y__ -> x__ {_Sum'dataPoints = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField Sum "vec'dataPoints" (Data.Vector.Vector NumberDataPoint) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Sum'dataPoints (\ x__ y__ -> x__ {_Sum'dataPoints = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Sum "aggregationTemporality" AggregationTemporality where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Sum'aggregationTemporality
-           (\ x__ y__ -> x__ {_Sum'aggregationTemporality = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Sum "isMonotonic" Prelude.Bool where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Sum'isMonotonic (\ x__ y__ -> x__ {_Sum'isMonotonic = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message Sum where
-  messageName _ = Data.Text.pack "opentelemetry.proto.metrics.v1.Sum"
-  packedMessageDescriptor _
-    = "\n\
-      \\ETXSum\DC2P\n\
-      \\vdata_points\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.NumberDataPointR\n\
-      \dataPoints\DC2o\n\
-      \\ETBaggregation_temporality\CAN\STX \SOH(\SO26.opentelemetry.proto.metrics.v1.AggregationTemporalityR\SYNaggregationTemporality\DC2!\n\
-      \\fis_monotonic\CAN\ETX \SOH(\bR\visMonotonic"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        dataPoints__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "data_points"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor NumberDataPoint)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"dataPoints")) ::
-              Data.ProtoLens.FieldDescriptor Sum
-        aggregationTemporality__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "aggregation_temporality"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                 Data.ProtoLens.FieldTypeDescriptor AggregationTemporality)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"aggregationTemporality")) ::
-              Data.ProtoLens.FieldDescriptor Sum
-        isMonotonic__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "is_monotonic"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"isMonotonic")) ::
-              Data.ProtoLens.FieldDescriptor Sum
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, dataPoints__field_descriptor),
-           (Data.ProtoLens.Tag 2, aggregationTemporality__field_descriptor),
-           (Data.ProtoLens.Tag 3, isMonotonic__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _Sum'_unknownFields (\ x__ y__ -> x__ {_Sum'_unknownFields = y__})
-  defMessage
-    = Sum'_constructor
-        {_Sum'dataPoints = Data.Vector.Generic.empty,
-         _Sum'aggregationTemporality = Data.ProtoLens.fieldDefault,
-         _Sum'isMonotonic = Data.ProtoLens.fieldDefault,
-         _Sum'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          Sum
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld NumberDataPoint
-             -> Data.ProtoLens.Encoding.Bytes.Parser Sum
-        loop x mutable'dataPoints
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'dataPoints <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'dataPoints)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'dataPoints") frozen'dataPoints
-                              x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "data_points"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'dataPoints y)
-                                loop x v
-                        16
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.toEnum
-                                          (Prelude.fmap
-                                             Prelude.fromIntegral
-                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
-                                       "aggregation_temporality"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"aggregationTemporality") y x)
-                                  mutable'dataPoints
-                        24
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                       "is_monotonic"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"isMonotonic") y x)
-                                  mutable'dataPoints
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'dataPoints
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'dataPoints <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'dataPoints)
-          "Sum"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                (\ _v
-                   -> (Data.Monoid.<>)
-                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                        ((Prelude..)
-                           (\ bs
-                              -> (Data.Monoid.<>)
-                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Data.ProtoLens.encodeMessage _v))
-                (Lens.Family2.view
-                   (Data.ProtoLens.Field.field @"vec'dataPoints") _x))
-             ((Data.Monoid.<>)
-                (let
-                   _v
-                     = Lens.Family2.view
-                         (Data.ProtoLens.Field.field @"aggregationTemporality") _x
-                 in
-                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                       Data.Monoid.mempty
-                   else
-                       (Data.Monoid.<>)
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
-                         ((Prelude..)
-                            ((Prelude..)
-                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
-                            Prelude.fromEnum _v))
-                ((Data.Monoid.<>)
-                   (let
-                      _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"isMonotonic") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
-                            ((Prelude..)
-                               Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
-                               _v))
-                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
-instance Control.DeepSeq.NFData Sum where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_Sum'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_Sum'dataPoints x__)
-                (Control.DeepSeq.deepseq
-                   (_Sum'aggregationTemporality x__)
-                   (Control.DeepSeq.deepseq (_Sum'isMonotonic x__) ())))
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.dataPoints' @:: Lens' Summary [SummaryDataPoint]@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'dataPoints' @:: Lens' Summary (Data.Vector.Vector SummaryDataPoint)@ -}
-data Summary
-  = Summary'_constructor {_Summary'dataPoints :: !(Data.Vector.Vector SummaryDataPoint),
-                          _Summary'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Summary where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Summary "dataPoints" [SummaryDataPoint] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Summary'dataPoints (\ x__ y__ -> x__ {_Summary'dataPoints = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField Summary "vec'dataPoints" (Data.Vector.Vector SummaryDataPoint) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Summary'dataPoints (\ x__ y__ -> x__ {_Summary'dataPoints = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message Summary where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.metrics.v1.Summary"
-  packedMessageDescriptor _
-    = "\n\
-      \\aSummary\DC2Q\n\
-      \\vdata_points\CAN\SOH \ETX(\v20.opentelemetry.proto.metrics.v1.SummaryDataPointR\n\
-      \dataPoints"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        dataPoints__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "data_points"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor SummaryDataPoint)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"dataPoints")) ::
-              Data.ProtoLens.FieldDescriptor Summary
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, dataPoints__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _Summary'_unknownFields
-        (\ x__ y__ -> x__ {_Summary'_unknownFields = y__})
-  defMessage
-    = Summary'_constructor
-        {_Summary'dataPoints = Data.Vector.Generic.empty,
-         _Summary'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          Summary
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld SummaryDataPoint
-             -> Data.ProtoLens.Encoding.Bytes.Parser Summary
-        loop x mutable'dataPoints
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'dataPoints <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'dataPoints)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'dataPoints") frozen'dataPoints
-                              x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "data_points"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'dataPoints y)
-                                loop x v
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'dataPoints
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'dataPoints <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'dataPoints)
-          "Summary"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                (\ _v
-                   -> (Data.Monoid.<>)
-                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                        ((Prelude..)
-                           (\ bs
-                              -> (Data.Monoid.<>)
-                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Data.ProtoLens.encodeMessage _v))
-                (Lens.Family2.view
-                   (Data.ProtoLens.Field.field @"vec'dataPoints") _x))
-             (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData Summary where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_Summary'_unknownFields x__)
-             (Control.DeepSeq.deepseq (_Summary'dataPoints x__) ())
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.attributes' @:: Lens' SummaryDataPoint [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'attributes' @:: Lens' SummaryDataPoint (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.startTimeUnixNano' @:: Lens' SummaryDataPoint Data.Word.Word64@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.timeUnixNano' @:: Lens' SummaryDataPoint Data.Word.Word64@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.count' @:: Lens' SummaryDataPoint Data.Word.Word64@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.sum' @:: Lens' SummaryDataPoint Prelude.Double@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.quantileValues' @:: Lens' SummaryDataPoint [SummaryDataPoint'ValueAtQuantile]@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'quantileValues' @:: Lens' SummaryDataPoint (Data.Vector.Vector SummaryDataPoint'ValueAtQuantile)@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.flags' @:: Lens' SummaryDataPoint Data.Word.Word32@ -}
-data SummaryDataPoint
-  = SummaryDataPoint'_constructor {_SummaryDataPoint'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
-                                   _SummaryDataPoint'startTimeUnixNano :: !Data.Word.Word64,
-                                   _SummaryDataPoint'timeUnixNano :: !Data.Word.Word64,
-                                   _SummaryDataPoint'count :: !Data.Word.Word64,
-                                   _SummaryDataPoint'sum :: !Prelude.Double,
-                                   _SummaryDataPoint'quantileValues :: !(Data.Vector.Vector SummaryDataPoint'ValueAtQuantile),
-                                   _SummaryDataPoint'flags :: !Data.Word.Word32,
-                                   _SummaryDataPoint'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show SummaryDataPoint where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField SummaryDataPoint "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'attributes
-           (\ x__ y__ -> x__ {_SummaryDataPoint'attributes = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField SummaryDataPoint "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'attributes
-           (\ x__ y__ -> x__ {_SummaryDataPoint'attributes = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField SummaryDataPoint "startTimeUnixNano" Data.Word.Word64 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'startTimeUnixNano
-           (\ x__ y__ -> x__ {_SummaryDataPoint'startTimeUnixNano = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField SummaryDataPoint "timeUnixNano" Data.Word.Word64 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'timeUnixNano
-           (\ x__ y__ -> x__ {_SummaryDataPoint'timeUnixNano = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField SummaryDataPoint "count" Data.Word.Word64 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'count
-           (\ x__ y__ -> x__ {_SummaryDataPoint'count = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField SummaryDataPoint "sum" Prelude.Double where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'sum
-           (\ x__ y__ -> x__ {_SummaryDataPoint'sum = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField SummaryDataPoint "quantileValues" [SummaryDataPoint'ValueAtQuantile] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'quantileValues
-           (\ x__ y__ -> x__ {_SummaryDataPoint'quantileValues = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField SummaryDataPoint "vec'quantileValues" (Data.Vector.Vector SummaryDataPoint'ValueAtQuantile) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'quantileValues
-           (\ x__ y__ -> x__ {_SummaryDataPoint'quantileValues = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField SummaryDataPoint "flags" Data.Word.Word32 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'flags
-           (\ x__ y__ -> x__ {_SummaryDataPoint'flags = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message SummaryDataPoint where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.metrics.v1.SummaryDataPoint"
-  packedMessageDescriptor _
-    = "\n\
-      \\DLESummaryDataPoint\DC2G\n\
-      \\n\
-      \attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-      \attributes\DC2/\n\
-      \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
-      \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\DC4\n\
-      \\ENQcount\CAN\EOT \SOH(\ACKR\ENQcount\DC2\DLE\n\
-      \\ETXsum\CAN\ENQ \SOH(\SOHR\ETXsum\DC2i\n\
-      \\SIquantile_values\CAN\ACK \ETX(\v2@.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantileR\SOquantileValues\DC2\DC4\n\
-      \\ENQflags\CAN\b \SOH(\rR\ENQflags\SUBC\n\
-      \\SIValueAtQuantile\DC2\SUB\n\
-      \\bquantile\CAN\SOH \SOH(\SOHR\bquantile\DC2\DC4\n\
-      \\ENQvalue\CAN\STX \SOH(\SOHR\ENQvalueJ\EOT\b\SOH\DLE\STX"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        attributes__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "attributes"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"attributes")) ::
-              Data.ProtoLens.FieldDescriptor SummaryDataPoint
-        startTimeUnixNano__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "start_time_unix_nano"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"startTimeUnixNano")) ::
-              Data.ProtoLens.FieldDescriptor SummaryDataPoint
-        timeUnixNano__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "time_unix_nano"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"timeUnixNano")) ::
-              Data.ProtoLens.FieldDescriptor SummaryDataPoint
-        count__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "count"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"count")) ::
-              Data.ProtoLens.FieldDescriptor SummaryDataPoint
-        sum__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "sum"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
-                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"sum")) ::
-              Data.ProtoLens.FieldDescriptor SummaryDataPoint
-        quantileValues__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "quantile_values"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor SummaryDataPoint'ValueAtQuantile)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"quantileValues")) ::
-              Data.ProtoLens.FieldDescriptor SummaryDataPoint
-        flags__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "flags"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"flags")) ::
-              Data.ProtoLens.FieldDescriptor SummaryDataPoint
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 7, attributes__field_descriptor),
-           (Data.ProtoLens.Tag 2, startTimeUnixNano__field_descriptor),
-           (Data.ProtoLens.Tag 3, timeUnixNano__field_descriptor),
-           (Data.ProtoLens.Tag 4, count__field_descriptor),
-           (Data.ProtoLens.Tag 5, sum__field_descriptor),
-           (Data.ProtoLens.Tag 6, quantileValues__field_descriptor),
-           (Data.ProtoLens.Tag 8, flags__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _SummaryDataPoint'_unknownFields
-        (\ x__ y__ -> x__ {_SummaryDataPoint'_unknownFields = y__})
-  defMessage
-    = SummaryDataPoint'_constructor
-        {_SummaryDataPoint'attributes = Data.Vector.Generic.empty,
-         _SummaryDataPoint'startTimeUnixNano = Data.ProtoLens.fieldDefault,
-         _SummaryDataPoint'timeUnixNano = Data.ProtoLens.fieldDefault,
-         _SummaryDataPoint'count = Data.ProtoLens.fieldDefault,
-         _SummaryDataPoint'sum = Data.ProtoLens.fieldDefault,
-         _SummaryDataPoint'quantileValues = Data.Vector.Generic.empty,
-         _SummaryDataPoint'flags = Data.ProtoLens.fieldDefault,
-         _SummaryDataPoint'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          SummaryDataPoint
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
-             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld SummaryDataPoint'ValueAtQuantile
-                -> Data.ProtoLens.Encoding.Bytes.Parser SummaryDataPoint
-        loop x mutable'attributes mutable'quantileValues
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'attributes)
-                      frozen'quantileValues <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                    mutable'quantileValues)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
-                              (Lens.Family2.set
-                                 (Data.ProtoLens.Field.field @"vec'quantileValues")
-                                 frozen'quantileValues x)))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        58
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "attributes"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
-                                loop x v mutable'quantileValues
-                        17
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       Data.ProtoLens.Encoding.Bytes.getFixed64
-                                       "start_time_unix_nano"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"startTimeUnixNano") y x)
-                                  mutable'attributes mutable'quantileValues
-                        25
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "time_unix_nano"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"timeUnixNano") y x)
-                                  mutable'attributes mutable'quantileValues
-                        33
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "count"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"count") y x)
-                                  mutable'attributes mutable'quantileValues
-                        41
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
-                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
-                                       "sum"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"sum") y x)
-                                  mutable'attributes mutable'quantileValues
-                        50
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "quantile_values"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append
-                                          mutable'quantileValues y)
-                                loop x mutable'attributes v
-                        64
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.fromIntegral
-                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                       "flags"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"flags") y x)
-                                  mutable'attributes mutable'quantileValues
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'attributes mutable'quantileValues
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-              mutable'quantileValues <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                          Data.ProtoLens.Encoding.Growing.new
-              loop
-                Data.ProtoLens.defMessage mutable'attributes
-                mutable'quantileValues)
-          "SummaryDataPoint"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                (\ _v
-                   -> (Data.Monoid.<>)
-                        (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
-                        ((Prelude..)
-                           (\ bs
-                              -> (Data.Monoid.<>)
-                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Data.ProtoLens.encodeMessage _v))
-                (Lens.Family2.view
-                   (Data.ProtoLens.Field.field @"vec'attributes") _x))
-             ((Data.Monoid.<>)
-                (let
-                   _v
-                     = Lens.Family2.view
-                         (Data.ProtoLens.Field.field @"startTimeUnixNano") _x
-                 in
-                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                       Data.Monoid.mempty
-                   else
-                       (Data.Monoid.<>)
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 17)
-                         (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
-                ((Data.Monoid.<>)
-                   (let
-                      _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"timeUnixNano") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 25)
-                            (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
-                   ((Data.Monoid.<>)
-                      (let
-                         _v = Lens.Family2.view (Data.ProtoLens.Field.field @"count") _x
-                       in
-                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                             Data.Monoid.mempty
-                         else
-                             (Data.Monoid.<>)
-                               (Data.ProtoLens.Encoding.Bytes.putVarInt 33)
-                               (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
-                      ((Data.Monoid.<>)
-                         (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"sum") _x
-                          in
-                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                Data.Monoid.mempty
-                            else
-                                (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 41)
-                                  ((Prelude..)
-                                     Data.ProtoLens.Encoding.Bytes.putFixed64
-                                     Data.ProtoLens.Encoding.Bytes.doubleToWord _v))
-                         ((Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                               (\ _v
-                                  -> (Data.Monoid.<>)
-                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
-                                       ((Prelude..)
-                                          (\ bs
-                                             -> (Data.Monoid.<>)
-                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                     (Prelude.fromIntegral
-                                                        (Data.ByteString.length bs)))
-                                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                          Data.ProtoLens.encodeMessage _v))
-                               (Lens.Family2.view
-                                  (Data.ProtoLens.Field.field @"vec'quantileValues") _x))
-                            ((Data.Monoid.<>)
-                               (let
-                                  _v = Lens.Family2.view (Data.ProtoLens.Field.field @"flags") _x
-                                in
-                                  if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                      Data.Monoid.mempty
-                                  else
-                                      (Data.Monoid.<>)
-                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 64)
-                                        ((Prelude..)
-                                           Data.ProtoLens.Encoding.Bytes.putVarInt
-                                           Prelude.fromIntegral _v))
-                               (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                                  (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))
-instance Control.DeepSeq.NFData SummaryDataPoint where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_SummaryDataPoint'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_SummaryDataPoint'attributes x__)
-                (Control.DeepSeq.deepseq
-                   (_SummaryDataPoint'startTimeUnixNano x__)
-                   (Control.DeepSeq.deepseq
-                      (_SummaryDataPoint'timeUnixNano x__)
-                      (Control.DeepSeq.deepseq
-                         (_SummaryDataPoint'count x__)
-                         (Control.DeepSeq.deepseq
-                            (_SummaryDataPoint'sum x__)
-                            (Control.DeepSeq.deepseq
-                               (_SummaryDataPoint'quantileValues x__)
-                               (Control.DeepSeq.deepseq (_SummaryDataPoint'flags x__) ())))))))
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.quantile' @:: Lens' SummaryDataPoint'ValueAtQuantile Prelude.Double@
-         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.value' @:: Lens' SummaryDataPoint'ValueAtQuantile Prelude.Double@ -}
-data SummaryDataPoint'ValueAtQuantile
-  = SummaryDataPoint'ValueAtQuantile'_constructor {_SummaryDataPoint'ValueAtQuantile'quantile :: !Prelude.Double,
-                                                   _SummaryDataPoint'ValueAtQuantile'value :: !Prelude.Double,
-                                                   _SummaryDataPoint'ValueAtQuantile'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show SummaryDataPoint'ValueAtQuantile where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField SummaryDataPoint'ValueAtQuantile "quantile" Prelude.Double where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'ValueAtQuantile'quantile
-           (\ x__ y__
-              -> x__ {_SummaryDataPoint'ValueAtQuantile'quantile = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField SummaryDataPoint'ValueAtQuantile "value" Prelude.Double where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _SummaryDataPoint'ValueAtQuantile'value
-           (\ x__ y__ -> x__ {_SummaryDataPoint'ValueAtQuantile'value = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message SummaryDataPoint'ValueAtQuantile where
-  messageName _
-    = Data.Text.pack
-        "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile"
-  packedMessageDescriptor _
-    = "\n\
-      \\SIValueAtQuantile\DC2\SUB\n\
-      \\bquantile\CAN\SOH \SOH(\SOHR\bquantile\DC2\DC4\n\
-      \\ENQvalue\CAN\STX \SOH(\SOHR\ENQvalue"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        quantile__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "quantile"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
-                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"quantile")) ::
-              Data.ProtoLens.FieldDescriptor SummaryDataPoint'ValueAtQuantile
-        value__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "value"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
-                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"value")) ::
-              Data.ProtoLens.FieldDescriptor SummaryDataPoint'ValueAtQuantile
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, quantile__field_descriptor),
-           (Data.ProtoLens.Tag 2, value__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _SummaryDataPoint'ValueAtQuantile'_unknownFields
-        (\ x__ y__
-           -> x__ {_SummaryDataPoint'ValueAtQuantile'_unknownFields = y__})
-  defMessage
-    = SummaryDataPoint'ValueAtQuantile'_constructor
-        {_SummaryDataPoint'ValueAtQuantile'quantile = Data.ProtoLens.fieldDefault,
-         _SummaryDataPoint'ValueAtQuantile'value = Data.ProtoLens.fieldDefault,
-         _SummaryDataPoint'ValueAtQuantile'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          SummaryDataPoint'ValueAtQuantile
-          -> Data.ProtoLens.Encoding.Bytes.Parser SummaryDataPoint'ValueAtQuantile
-        loop x
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        9 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
-                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
-                                       "quantile"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"quantile") y x)
-                        17
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
-                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
-                                       "value"
-                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do loop Data.ProtoLens.defMessage) "ValueAtQuantile"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (let
-                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"quantile") _x
-              in
-                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty
-                else
-                    (Data.Monoid.<>)
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 9)
-                      ((Prelude..)
-                         Data.ProtoLens.Encoding.Bytes.putFixed64
-                         Data.ProtoLens.Encoding.Bytes.doubleToWord _v))
-             ((Data.Monoid.<>)
-                (let
-                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"value") _x
-                 in
-                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                       Data.Monoid.mempty
-                   else
-                       (Data.Monoid.<>)
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 17)
-                         ((Prelude..)
-                            Data.ProtoLens.Encoding.Bytes.putFixed64
-                            Data.ProtoLens.Encoding.Bytes.doubleToWord _v))
-                (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
-instance Control.DeepSeq.NFData SummaryDataPoint'ValueAtQuantile where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_SummaryDataPoint'ValueAtQuantile'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_SummaryDataPoint'ValueAtQuantile'quantile x__)
-                (Control.DeepSeq.deepseq
-                   (_SummaryDataPoint'ValueAtQuantile'value x__) ()))
-packedFileDescriptor :: Data.ByteString.ByteString
-packedFileDescriptor
-  = "\n\
-    \,opentelemetry/proto/metrics/v1/metrics.proto\DC2\RSopentelemetry.proto.metrics.v1\SUB*opentelemetry/proto/common/v1/common.proto\SUB.opentelemetry/proto/resource/v1/resource.proto\"i\n\
-    \\vMetricsData\DC2Z\n\
-    \\DLEresource_metrics\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.ResourceMetricsR\SIresourceMetrics\"\210\SOH\n\
-    \\SIResourceMetrics\DC2E\n\
-    \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2Q\n\
-    \\rscope_metrics\CAN\STX \ETX(\v2,.opentelemetry.proto.metrics.v1.ScopeMetricsR\fscopeMetrics\DC2\GS\n\
-    \\n\
-    \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a\"\186\SOH\n\
-    \\fScopeMetrics\DC2I\n\
-    \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC2@\n\
-    \\ametrics\CAN\STX \ETX(\v2&.opentelemetry.proto.metrics.v1.MetricR\ametrics\DC2\GS\n\
-    \\n\
-    \schema_url\CAN\ETX \SOH(\tR\tschemaUrl\"\225\ETX\n\
-    \\ACKMetric\DC2\DC2\n\
-    \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2 \n\
-    \\vdescription\CAN\STX \SOH(\tR\vdescription\DC2\DC2\n\
-    \\EOTunit\CAN\ETX \SOH(\tR\EOTunit\DC2=\n\
-    \\ENQgauge\CAN\ENQ \SOH(\v2%.opentelemetry.proto.metrics.v1.GaugeH\NULR\ENQgauge\DC27\n\
-    \\ETXsum\CAN\a \SOH(\v2#.opentelemetry.proto.metrics.v1.SumH\NULR\ETXsum\DC2I\n\
-    \\thistogram\CAN\t \SOH(\v2).opentelemetry.proto.metrics.v1.HistogramH\NULR\thistogram\DC2k\n\
-    \\NAKexponential_histogram\CAN\n\
-    \ \SOH(\v24.opentelemetry.proto.metrics.v1.ExponentialHistogramH\NULR\DC4exponentialHistogram\DC2C\n\
-    \\asummary\CAN\v \SOH(\v2'.opentelemetry.proto.metrics.v1.SummaryH\NULR\asummaryB\ACK\n\
-    \\EOTdataJ\EOT\b\EOT\DLE\ENQJ\EOT\b\ACK\DLE\aJ\EOT\b\b\DLE\t\"Y\n\
-    \\ENQGauge\DC2P\n\
-    \\vdata_points\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.NumberDataPointR\n\
-    \dataPoints\"\235\SOH\n\
-    \\ETXSum\DC2P\n\
-    \\vdata_points\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.NumberDataPointR\n\
-    \dataPoints\DC2o\n\
-    \\ETBaggregation_temporality\CAN\STX \SOH(\SO26.opentelemetry.proto.metrics.v1.AggregationTemporalityR\SYNaggregationTemporality\DC2!\n\
-    \\fis_monotonic\CAN\ETX \SOH(\bR\visMonotonic\"\209\SOH\n\
-    \\tHistogram\DC2S\n\
-    \\vdata_points\CAN\SOH \ETX(\v22.opentelemetry.proto.metrics.v1.HistogramDataPointR\n\
-    \dataPoints\DC2o\n\
-    \\ETBaggregation_temporality\CAN\STX \SOH(\SO26.opentelemetry.proto.metrics.v1.AggregationTemporalityR\SYNaggregationTemporality\"\231\SOH\n\
-    \\DC4ExponentialHistogram\DC2^\n\
-    \\vdata_points\CAN\SOH \ETX(\v2=.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPointR\n\
-    \dataPoints\DC2o\n\
-    \\ETBaggregation_temporality\CAN\STX \SOH(\SO26.opentelemetry.proto.metrics.v1.AggregationTemporalityR\SYNaggregationTemporality\"\\\n\
-    \\aSummary\DC2Q\n\
-    \\vdata_points\CAN\SOH \ETX(\v20.opentelemetry.proto.metrics.v1.SummaryDataPointR\n\
-    \dataPoints\"\214\STX\n\
-    \\SINumberDataPoint\DC2G\n\
-    \\n\
-    \attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-    \attributes\DC2/\n\
-    \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
-    \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\GS\n\
-    \\tas_double\CAN\EOT \SOH(\SOHH\NULR\basDouble\DC2\ETB\n\
-    \\ACKas_int\CAN\ACK \SOH(\DLEH\NULR\ENQasInt\DC2F\n\
-    \\texemplars\CAN\ENQ \ETX(\v2(.opentelemetry.proto.metrics.v1.ExemplarR\texemplars\DC2\DC4\n\
-    \\ENQflags\CAN\b \SOH(\rR\ENQflagsB\a\n\
-    \\ENQvalueJ\EOT\b\SOH\DLE\STX\"\217\ETX\n\
-    \\DC2HistogramDataPoint\DC2G\n\
-    \\n\
-    \attributes\CAN\t \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-    \attributes\DC2/\n\
-    \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
-    \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\DC4\n\
-    \\ENQcount\CAN\EOT \SOH(\ACKR\ENQcount\DC2\NAK\n\
-    \\ETXsum\CAN\ENQ \SOH(\SOHH\NULR\ETXsum\136\SOH\SOH\DC2#\n\
-    \\rbucket_counts\CAN\ACK \ETX(\ACKR\fbucketCounts\DC2'\n\
-    \\SIexplicit_bounds\CAN\a \ETX(\SOHR\SOexplicitBounds\DC2F\n\
-    \\texemplars\CAN\b \ETX(\v2(.opentelemetry.proto.metrics.v1.ExemplarR\texemplars\DC2\DC4\n\
-    \\ENQflags\CAN\n\
-    \ \SOH(\rR\ENQflags\DC2\NAK\n\
-    \\ETXmin\CAN\v \SOH(\SOHH\SOHR\ETXmin\136\SOH\SOH\DC2\NAK\n\
-    \\ETXmax\CAN\f \SOH(\SOHH\STXR\ETXmax\136\SOH\SOHB\ACK\n\
-    \\EOT_sumB\ACK\n\
-    \\EOT_minB\ACK\n\
-    \\EOT_maxJ\EOT\b\SOH\DLE\STX\"\250\ENQ\n\
-    \\GSExponentialHistogramDataPoint\DC2G\n\
-    \\n\
-    \attributes\CAN\SOH \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-    \attributes\DC2/\n\
-    \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
-    \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\DC4\n\
-    \\ENQcount\CAN\EOT \SOH(\ACKR\ENQcount\DC2\NAK\n\
-    \\ETXsum\CAN\ENQ \SOH(\SOHH\NULR\ETXsum\136\SOH\SOH\DC2\DC4\n\
-    \\ENQscale\CAN\ACK \SOH(\DC1R\ENQscale\DC2\GS\n\
-    \\n\
-    \zero_count\CAN\a \SOH(\ACKR\tzeroCount\DC2a\n\
-    \\bpositive\CAN\b \SOH(\v2E.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.BucketsR\bpositive\DC2a\n\
-    \\bnegative\CAN\t \SOH(\v2E.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.BucketsR\bnegative\DC2\DC4\n\
-    \\ENQflags\CAN\n\
-    \ \SOH(\rR\ENQflags\DC2F\n\
-    \\texemplars\CAN\v \ETX(\v2(.opentelemetry.proto.metrics.v1.ExemplarR\texemplars\DC2\NAK\n\
-    \\ETXmin\CAN\f \SOH(\SOHH\SOHR\ETXmin\136\SOH\SOH\DC2\NAK\n\
-    \\ETXmax\CAN\r \SOH(\SOHH\STXR\ETXmax\136\SOH\SOH\DC2%\n\
-    \\SOzero_threshold\CAN\SO \SOH(\SOHR\rzeroThreshold\SUBF\n\
-    \\aBuckets\DC2\SYN\n\
-    \\ACKoffset\CAN\SOH \SOH(\DC1R\ACKoffset\DC2#\n\
-    \\rbucket_counts\CAN\STX \ETX(\EOTR\fbucketCountsB\ACK\n\
-    \\EOT_sumB\ACK\n\
-    \\EOT_minB\ACK\n\
-    \\EOT_max\"\166\ETX\n\
-    \\DLESummaryDataPoint\DC2G\n\
-    \\n\
-    \attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-    \attributes\DC2/\n\
-    \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
-    \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\DC4\n\
-    \\ENQcount\CAN\EOT \SOH(\ACKR\ENQcount\DC2\DLE\n\
-    \\ETXsum\CAN\ENQ \SOH(\SOHR\ETXsum\DC2i\n\
-    \\SIquantile_values\CAN\ACK \ETX(\v2@.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantileR\SOquantileValues\DC2\DC4\n\
-    \\ENQflags\CAN\b \SOH(\rR\ENQflags\SUBC\n\
-    \\SIValueAtQuantile\DC2\SUB\n\
-    \\bquantile\CAN\SOH \SOH(\SOHR\bquantile\DC2\DC4\n\
-    \\ENQvalue\CAN\STX \SOH(\SOHR\ENQvalueJ\EOT\b\SOH\DLE\STX\"\133\STX\n\
-    \\bExemplar\DC2X\n\
-    \\DC3filtered_attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\DC2filteredAttributes\DC2$\n\
-    \\SOtime_unix_nano\CAN\STX \SOH(\ACKR\ftimeUnixNano\DC2\GS\n\
-    \\tas_double\CAN\ETX \SOH(\SOHH\NULR\basDouble\DC2\ETB\n\
-    \\ACKas_int\CAN\ACK \SOH(\DLEH\NULR\ENQasInt\DC2\ETB\n\
-    \\aspan_id\CAN\EOT \SOH(\fR\ACKspanId\DC2\EM\n\
-    \\btrace_id\CAN\ENQ \SOH(\fR\atraceIdB\a\n\
-    \\ENQvalueJ\EOT\b\SOH\DLE\STX*\140\SOH\n\
-    \\SYNAggregationTemporality\DC2'\n\
-    \#AGGREGATION_TEMPORALITY_UNSPECIFIED\DLE\NUL\DC2!\n\
-    \\GSAGGREGATION_TEMPORALITY_DELTA\DLE\SOH\DC2&\n\
-    \\"AGGREGATION_TEMPORALITY_CUMULATIVE\DLE\STX*^\n\
-    \\SODataPointFlags\DC2\US\n\
-    \\ESCDATA_POINT_FLAGS_DO_NOT_USE\DLE\NUL\DC2+\n\
-    \'DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK\DLE\SOHB\DEL\n\
-    \!io.opentelemetry.proto.metrics.v1B\fMetricsProtoP\SOHZ)go.opentelemetry.io/proto/otlp/metrics/v1\170\STX\RSOpenTelemetry.Proto.Metrics.V1J\216\232\SOH\n\
-    \\a\DC2\ENQ\SO\NUL\163\ENQ\SOH\n\
-    \\200\EOT\n\
-    \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2019, OpenTelemetry Authors\n\
-    \\n\
-    \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
-    \ you may not use this file except in compliance with the License.\n\
-    \ You may obtain a copy of the License at\n\
-    \\n\
-    \     http://www.apache.org/licenses/LICENSE-2.0\n\
-    \\n\
-    \ Unless required by applicable law or agreed to in writing, software\n\
-    \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
-    \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
-    \ See the License for the specific language governing permissions and\n\
-    \ limitations under the License.\n\
-    \\n\
-    \\b\n\
-    \\SOH\STX\DC2\ETX\DLE\NUL'\n\
-    \\t\n\
-    \\STX\ETX\NUL\DC2\ETX\DC2\NUL4\n\
-    \\t\n\
-    \\STX\ETX\SOH\DC2\ETX\DC3\NUL8\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\NAK\NUL;\n\
-    \\t\n\
-    \\STX\b%\DC2\ETX\NAK\NUL;\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\SYN\NUL\"\n\
-    \\t\n\
-    \\STX\b\n\
-    \\DC2\ETX\SYN\NUL\"\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\ETB\NUL:\n\
-    \\t\n\
-    \\STX\b\SOH\DC2\ETX\ETB\NUL:\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\CAN\NUL-\n\
-    \\t\n\
-    \\STX\b\b\DC2\ETX\CAN\NUL-\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\EM\NUL@\n\
-    \\t\n\
-    \\STX\b\v\DC2\ETX\EM\NUL@\n\
-    \\209\ETX\n\
-    \\STX\EOT\NUL\DC2\EOT%\NUL,\SOH\SUB\196\ETX MetricsData represents the metrics data that can be stored in a persistent\n\
-    \ storage, OR can be embedded by other protocols that transfer OTLP metrics\n\
-    \ data but do not implement the OTLP protocol.\n\
-    \\n\
-    \ The main difference between this message and collector protocol is that\n\
-    \ in this message there will not be any \"control\" or \"metadata\" specific to\n\
-    \ OTLP protocol.\n\
-    \\n\
-    \ When new fields are added into this message, the OTLP request MUST be updated\n\
-    \ as well.\n\
-    \\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\NUL\SOH\DC2\ETX%\b\DC3\n\
-    \\176\STX\n\
-    \\EOT\EOT\NUL\STX\NUL\DC2\ETX+\STX0\SUB\162\STX An array of ResourceMetrics.\n\
-    \ For data coming from a single resource this array will typically contain\n\
-    \ one element. Intermediary nodes that receive data from multiple origins\n\
-    \ typically batch the data before forwarding further and in that case this\n\
-    \ array will contain multiple elements.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX+\STX\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX+\v\SUB\n\
-    \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX+\ESC+\n\
-    \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX+./\n\
-    \;\n\
-    \\STX\EOT\SOH\DC2\EOT/\NUL<\SOH\SUB/ A collection of ScopeMetrics from a Resource.\n\
-    \\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\SOH\SOH\DC2\ETX/\b\ETB\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\SOH\t\DC2\ETX0\STX\DLE\n\
-    \\v\n\
-    \\EOT\EOT\SOH\t\NUL\DC2\ETX0\v\SI\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\t\NUL\SOH\DC2\ETX0\v\SI\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\t\NUL\STX\DC2\ETX0\v\SI\n\
-    \v\n\
-    \\EOT\EOT\SOH\STX\NUL\DC2\ETX4\STX8\SUBi The resource for the metrics in this message.\n\
-    \ If this field is not set then no resource info is known.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX4\STX*\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX4+3\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX467\n\
-    \@\n\
-    \\EOT\EOT\SOH\STX\SOH\DC2\ETX7\STX*\SUB3 A list of metrics that originate from a resource.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\SOH\EOT\DC2\ETX7\STX\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\ETX7\v\ETB\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX7\CAN%\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX7()\n\
-    \\175\SOH\n\
-    \\EOT\EOT\SOH\STX\STX\DC2\ETX;\STX\CAN\SUB\161\SOH This schema_url applies to the data in the \"resource\" field. It does not apply\n\
-    \ to the data in the \"scope_metrics\" field which have their own schema_url field.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETX;\STX\b\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX;\t\DC3\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX;\SYN\ETB\n\
-    \;\n\
-    \\STX\EOT\STX\DC2\EOT?\NULJ\SOH\SUB/ A collection of Metrics produced by an Scope.\n\
-    \\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\STX\SOH\DC2\ETX?\b\DC4\n\
-    \\207\SOH\n\
-    \\EOT\EOT\STX\STX\NUL\DC2\ETXC\STX?\SUB\193\SOH The instrumentation scope information for the metrics in this message.\n\
-    \ Semantically when InstrumentationScope isn't set, it is equivalent with\n\
-    \ an empty instrumentation scope name (unknown).\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ACK\DC2\ETXC\STX4\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXC5:\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXC=>\n\
-    \P\n\
-    \\EOT\EOT\STX\STX\SOH\DC2\ETXF\STX\RS\SUBC A list of metrics that originate from an instrumentation library.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETXF\STX\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ACK\DC2\ETXF\v\DC1\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXF\DC2\EM\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXF\FS\GS\n\
-    \M\n\
-    \\EOT\EOT\STX\STX\STX\DC2\ETXI\STX\CAN\SUB@ This schema_url applies to all metrics in the \"metrics\" field.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXI\STX\b\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXI\t\DC3\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXI\SYN\ETB\n\
-    \\175\GS\n\
-    \\STX\EOT\ETX\DC2\ACK\161\SOH\NUL\184\SOH\SOH\SUB\160\GS Defines a Metric which has one or more timeseries.  The following is a\n\
-    \ brief summary of the Metric data model.  For more details, see:\n\
-    \\n\
-    \   https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/data-model.md\n\
-    \\n\
-    \\n\
-    \ The data model and relation between entities is shown in the\n\
-    \ diagram below. Here, \"DataPoint\" is the term used to refer to any\n\
-    \ one of the specific data point value types, and \"points\" is the term used\n\
-    \ to refer to any one of the lists of points contained in the Metric.\n\
-    \\n\
-    \ - Metric is composed of a metadata and data.\n\
-    \ - Metadata part contains a name, description, unit.\n\
-    \ - Data is one of the possible types (Sum, Gauge, Histogram, Summary).\n\
-    \ - DataPoint contains timestamps, attributes, and one of the possible value type\n\
-    \   fields.\n\
-    \\n\
-    \     Metric\n\
-    \  +------------+\n\
-    \  |name        |\n\
-    \  |description |\n\
-    \  |unit        |     +------------------------------------+\n\
-    \  |data        |---> |Gauge, Sum, Histogram, Summary, ... |\n\
-    \  +------------+     +------------------------------------+\n\
-    \\n\
-    \    Data [One of Gauge, Sum, Histogram, Summary, ...]\n\
-    \  +-----------+\n\
-    \  |...        |  // Metadata about the Data.\n\
-    \  |points     |--+\n\
-    \  +-----------+  |\n\
-    \                 |      +---------------------------+\n\
-    \                 |      |DataPoint 1                |\n\
-    \                 v      |+------+------+   +------+ |\n\
-    \              +-----+   ||label |label |...|label | |\n\
-    \              |  1  |-->||value1|value2|...|valueN| |\n\
-    \              +-----+   |+------+------+   +------+ |\n\
-    \              |  .  |   |+-----+                    |\n\
-    \              |  .  |   ||value|                    |\n\
-    \              |  .  |   |+-----+                    |\n\
-    \              |  .  |   +---------------------------+\n\
-    \              |  .  |                   .\n\
-    \              |  .  |                   .\n\
-    \              |  .  |                   .\n\
-    \              |  .  |   +---------------------------+\n\
-    \              |  .  |   |DataPoint M                |\n\
-    \              +-----+   |+------+------+   +------+ |\n\
-    \              |  M  |-->||label |label |...|label | |\n\
-    \              +-----+   ||value1|value2|...|valueN| |\n\
-    \                        |+------+------+   +------+ |\n\
-    \                        |+-----+                    |\n\
-    \                        ||value|                    |\n\
-    \                        |+-----+                    |\n\
-    \                        +---------------------------+\n\
-    \\n\
-    \ Each distinct type of DataPoint represents the output of a specific\n\
-    \ aggregation function, the result of applying the DataPoint's\n\
-    \ associated function of to one or more measurements.\n\
-    \\n\
-    \ All DataPoint types have three common fields:\n\
-    \ - Attributes includes key-value pairs associated with the data point\n\
-    \ - TimeUnixNano is required, set to the end time of the aggregation\n\
-    \ - StartTimeUnixNano is optional, but strongly encouraged for DataPoints\n\
-    \   having an AggregationTemporality field, as discussed below.\n\
-    \\n\
-    \ Both TimeUnixNano and StartTimeUnixNano values are expressed as\n\
-    \ UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.\n\
-    \\n\
-    \ # TimeUnixNano\n\
-    \\n\
-    \ This field is required, having consistent interpretation across\n\
-    \ DataPoint types.  TimeUnixNano is the moment corresponding to when\n\
-    \ the data point's aggregate value was captured.\n\
-    \\n\
-    \ Data points with the 0 value for TimeUnixNano SHOULD be rejected\n\
-    \ by consumers.\n\
-    \\n\
-    \ # StartTimeUnixNano\n\
-    \\n\
-    \ StartTimeUnixNano in general allows detecting when a sequence of\n\
-    \ observations is unbroken.  This field indicates to consumers the\n\
-    \ start time for points with cumulative and delta\n\
-    \ AggregationTemporality, and it should be included whenever possible\n\
-    \ to support correct rate calculation.  Although it may be omitted\n\
-    \ when the start time is truly unknown, setting StartTimeUnixNano is\n\
-    \ strongly encouraged.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\ETX\SOH\DC2\EOT\161\SOH\b\SO\n\
-    \\v\n\
-    \\ETX\EOT\ETX\t\DC2\EOT\162\SOH\STX\DC3\n\
-    \\f\n\
-    \\EOT\EOT\ETX\t\NUL\DC2\EOT\162\SOH\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\t\NUL\SOH\DC2\EOT\162\SOH\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\t\NUL\STX\DC2\EOT\162\SOH\v\f\n\
-    \\f\n\
-    \\EOT\EOT\ETX\t\SOH\DC2\EOT\162\SOH\SO\SI\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\t\SOH\SOH\DC2\EOT\162\SOH\SO\SI\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\t\SOH\STX\DC2\EOT\162\SOH\SO\SI\n\
-    \\f\n\
-    \\EOT\EOT\ETX\t\STX\DC2\EOT\162\SOH\DC1\DC2\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\t\STX\SOH\DC2\EOT\162\SOH\DC1\DC2\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\t\STX\STX\DC2\EOT\162\SOH\DC1\DC2\n\
-    \U\n\
-    \\EOT\EOT\ETX\STX\NUL\DC2\EOT\165\SOH\STX\DC2\SUBG name of the metric, including its DNS name prefix. It must be unique.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\EOT\165\SOH\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\EOT\165\SOH\t\r\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\EOT\165\SOH\DLE\DC1\n\
-    \N\n\
-    \\EOT\EOT\ETX\STX\SOH\DC2\EOT\168\SOH\STX\EM\SUB@ description of the metric, which can be used in documentation.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\EOT\168\SOH\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\EOT\168\SOH\t\DC4\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\EOT\168\SOH\ETB\CAN\n\
-    \\129\SOH\n\
-    \\EOT\EOT\ETX\STX\STX\DC2\EOT\172\SOH\STX\DC2\SUBs unit in which the metric value is reported. Follows the format\n\
-    \ described by http://unitsofmeasure.org/ucum.html.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\STX\ENQ\DC2\EOT\172\SOH\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\EOT\172\SOH\t\r\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\EOT\172\SOH\DLE\DC1\n\
-    \\215\SOH\n\
-    \\EOT\EOT\ETX\b\NUL\DC2\ACK\177\SOH\STX\183\SOH\ETX\SUB\198\SOH Data determines the aggregation type (if any) of the metric, what is the\n\
-    \ reported value type for the data points, as well as the relatationship to\n\
-    \ the time interval over which they are reported.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\b\NUL\SOH\DC2\EOT\177\SOH\b\f\n\
-    \\f\n\
-    \\EOT\EOT\ETX\STX\ETX\DC2\EOT\178\SOH\EOT\DC4\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ETX\ACK\DC2\EOT\178\SOH\EOT\t\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\EOT\178\SOH\n\
-    \\SI\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\EOT\178\SOH\DC2\DC3\n\
-    \\f\n\
-    \\EOT\EOT\ETX\STX\EOT\DC2\EOT\179\SOH\EOT\DLE\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\EOT\ACK\DC2\EOT\179\SOH\EOT\a\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\EOT\179\SOH\b\v\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\EOT\179\SOH\SO\SI\n\
-    \\f\n\
-    \\EOT\EOT\ETX\STX\ENQ\DC2\EOT\180\SOH\EOT\FS\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\EOT\180\SOH\EOT\r\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\EOT\180\SOH\SO\ETB\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\EOT\180\SOH\SUB\ESC\n\
-    \\f\n\
-    \\EOT\EOT\ETX\STX\ACK\DC2\EOT\181\SOH\EOT4\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ACK\ACK\DC2\EOT\181\SOH\EOT\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ACK\SOH\DC2\EOT\181\SOH\EM.\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ACK\ETX\DC2\EOT\181\SOH13\n\
-    \\f\n\
-    \\EOT\EOT\ETX\STX\a\DC2\EOT\182\SOH\EOT\EM\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\a\ACK\DC2\EOT\182\SOH\EOT\v\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\a\SOH\DC2\EOT\182\SOH\f\DC3\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\a\ETX\DC2\EOT\182\SOH\SYN\CAN\n\
-    \\247\ETX\n\
-    \\STX\EOT\EOT\DC2\ACK\195\SOH\NUL\197\SOH\SOH\SUB\232\ETX Gauge represents the type of a scalar metric that always exports the\n\
-    \ \"current value\" for every data point. It should be used for an \"unknown\"\n\
-    \ aggregation.\n\
-    \\n\
-    \ A Gauge does not support different aggregation temporalities. Given the\n\
-    \ aggregation is unknown, points cannot be combined using the same\n\
-    \ aggregation, regardless of aggregation temporalities. Therefore,\n\
-    \ AggregationTemporality is not included. Consequently, this also means\n\
-    \ \"StartTimeUnixNano\" is ignored for all data points.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\EOT\SOH\DC2\EOT\195\SOH\b\r\n\
-    \\f\n\
-    \\EOT\EOT\EOT\STX\NUL\DC2\EOT\196\SOH\STX+\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\NUL\EOT\DC2\EOT\196\SOH\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\NUL\ACK\DC2\EOT\196\SOH\v\SUB\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\196\SOH\ESC&\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\196\SOH)*\n\
-    \\138\SOH\n\
-    \\STX\EOT\ENQ\DC2\ACK\201\SOH\NUL\210\SOH\SOH\SUB| Sum represents the type of a scalar metric that is calculated as a sum of all\n\
-    \ reported measurements over a time interval.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\ENQ\SOH\DC2\EOT\201\SOH\b\v\n\
-    \\f\n\
-    \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\202\SOH\STX+\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\NUL\EOT\DC2\EOT\202\SOH\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\NUL\ACK\DC2\EOT\202\SOH\v\SUB\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\202\SOH\ESC&\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\202\SOH)*\n\
-    \\163\SOH\n\
-    \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\206\SOH\STX5\SUB\148\SOH aggregation_temporality describes if the aggregator reports delta changes\n\
-    \ since last report time, or cumulative changes since a fixed start time.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\SOH\ACK\DC2\EOT\206\SOH\STX\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\206\SOH\EM0\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\206\SOH34\n\
-    \:\n\
-    \\EOT\EOT\ENQ\STX\STX\DC2\EOT\209\SOH\STX\CAN\SUB, If \"true\" means that the sum is monotonic.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\STX\ENQ\DC2\EOT\209\SOH\STX\ACK\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\EOT\209\SOH\a\DC3\n\
-    \\r\n\
-    \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\EOT\209\SOH\SYN\ETB\n\
-    \\159\SOH\n\
-    \\STX\EOT\ACK\DC2\ACK\214\SOH\NUL\220\SOH\SOH\SUB\144\SOH Histogram represents the type of a metric that is calculated by aggregating\n\
-    \ as a Histogram of all reported measurements over a time interval.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\ACK\SOH\DC2\EOT\214\SOH\b\DC1\n\
-    \\f\n\
-    \\EOT\EOT\ACK\STX\NUL\DC2\EOT\215\SOH\STX.\n\
-    \\r\n\
-    \\ENQ\EOT\ACK\STX\NUL\EOT\DC2\EOT\215\SOH\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ACK\STX\NUL\ACK\DC2\EOT\215\SOH\v\GS\n\
-    \\r\n\
-    \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\215\SOH\RS)\n\
-    \\r\n\
-    \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\215\SOH,-\n\
-    \\163\SOH\n\
-    \\EOT\EOT\ACK\STX\SOH\DC2\EOT\219\SOH\STX5\SUB\148\SOH aggregation_temporality describes if the aggregator reports delta changes\n\
-    \ since last report time, or cumulative changes since a fixed start time.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ACK\STX\SOH\ACK\DC2\EOT\219\SOH\STX\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\219\SOH\EM0\n\
-    \\r\n\
-    \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\219\SOH34\n\
-    \\188\SOH\n\
-    \\STX\EOT\a\DC2\ACK\224\SOH\NUL\230\SOH\SOH\SUB\173\SOH ExponentialHistogram represents the type of a metric that is calculated by aggregating\n\
-    \ as a ExponentialHistogram of all reported double measurements over a time interval.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\a\SOH\DC2\EOT\224\SOH\b\FS\n\
-    \\f\n\
-    \\EOT\EOT\a\STX\NUL\DC2\EOT\225\SOH\STX9\n\
-    \\r\n\
-    \\ENQ\EOT\a\STX\NUL\EOT\DC2\EOT\225\SOH\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\a\STX\NUL\ACK\DC2\EOT\225\SOH\v(\n\
-    \\r\n\
-    \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\225\SOH)4\n\
-    \\r\n\
-    \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\225\SOH78\n\
-    \\163\SOH\n\
-    \\EOT\EOT\a\STX\SOH\DC2\EOT\229\SOH\STX5\SUB\148\SOH aggregation_temporality describes if the aggregator reports delta changes\n\
-    \ since last report time, or cumulative changes since a fixed start time.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\a\STX\SOH\ACK\DC2\EOT\229\SOH\STX\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\229\SOH\EM0\n\
-    \\r\n\
-    \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\229\SOH34\n\
-    \\229\ETX\n\
-    \\STX\EOT\b\DC2\ACK\238\SOH\NUL\240\SOH\SOH\SUB\214\ETX Summary metric data are used to convey quantile summaries,\n\
-    \ a Prometheus (see: https://prometheus.io/docs/concepts/metric_types/#summary)\n\
-    \ and OpenMetrics (see: https://github.com/OpenObservability/OpenMetrics/blob/4dbf6075567ab43296eed941037c12951faafb92/protos/prometheus.proto#L45)\n\
-    \ data type. These data points cannot always be merged in a meaningful way.\n\
-    \ While they can be useful in some applications, histogram data points are\n\
-    \ recommended for new applications.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\b\SOH\DC2\EOT\238\SOH\b\SI\n\
-    \\f\n\
-    \\EOT\EOT\b\STX\NUL\DC2\EOT\239\SOH\STX,\n\
-    \\r\n\
-    \\ENQ\EOT\b\STX\NUL\EOT\DC2\EOT\239\SOH\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\b\STX\NUL\ACK\DC2\EOT\239\SOH\v\ESC\n\
-    \\r\n\
-    \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\239\SOH\FS'\n\
-    \\r\n\
-    \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\239\SOH*+\n\
-    \\190\SOH\n\
-    \\STX\ENQ\NUL\DC2\ACK\245\SOH\NUL\183\STX\SOH\SUB\175\SOH AggregationTemporality defines how a metric aggregator reports aggregated\n\
-    \ values. It describes how those values relate to the time interval over\n\
-    \ which they are aggregated.\n\
-    \\n\
-    \\v\n\
-    \\ETX\ENQ\NUL\SOH\DC2\EOT\245\SOH\ENQ\ESC\n\
-    \W\n\
-    \\EOT\ENQ\NUL\STX\NUL\DC2\EOT\247\SOH\STX*\SUBI UNSPECIFIED is the default AggregationTemporality, it MUST not be used.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\EOT\247\SOH\STX%\n\
-    \\r\n\
-    \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\EOT\247\SOH()\n\
-    \\236\t\n\
-    \\EOT\ENQ\NUL\STX\SOH\DC2\EOT\145\STX\STX$\SUB\221\t DELTA is an AggregationTemporality for a metric aggregator which reports\n\
-    \ changes since last report time. Successive metrics contain aggregation of\n\
-    \ values from continuous and non-overlapping intervals.\n\
-    \\n\
-    \ The values for a DELTA metric are based only on the time interval\n\
-    \ associated with one measurement cycle. There is no dependency on\n\
-    \ previous measurements like is the case for CUMULATIVE metrics.\n\
-    \\n\
-    \ For example, consider a system measuring the number of requests that\n\
-    \ it receives and reports the sum of these requests every second as a\n\
-    \ DELTA metric:\n\
-    \\n\
-    \   1. The system starts receiving at time=t_0.\n\
-    \   2. A request is received, the system measures 1 request.\n\
-    \   3. A request is received, the system measures 1 request.\n\
-    \   4. A request is received, the system measures 1 request.\n\
-    \   5. The 1 second collection cycle ends. A metric is exported for the\n\
-    \      number of requests received over the interval of time t_0 to\n\
-    \      t_0+1 with a value of 3.\n\
-    \   6. A request is received, the system measures 1 request.\n\
-    \   7. A request is received, the system measures 1 request.\n\
-    \   8. The 1 second collection cycle ends. A metric is exported for the\n\
-    \      number of requests received over the interval of time t_0+1 to\n\
-    \      t_0+2 with a value of 2.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\ENQ\NUL\STX\SOH\SOH\DC2\EOT\145\STX\STX\US\n\
-    \\r\n\
-    \\ENQ\ENQ\NUL\STX\SOH\STX\DC2\EOT\145\STX\"#\n\
-    \\147\SI\n\
-    \\EOT\ENQ\NUL\STX\STX\DC2\EOT\182\STX\STX)\SUB\132\SI CUMULATIVE is an AggregationTemporality for a metric aggregator which\n\
-    \ reports changes since a fixed start time. This means that current values\n\
-    \ of a CUMULATIVE metric depend on all previous measurements since the\n\
-    \ start time. Because of this, the sender is required to retain this state\n\
-    \ in some form. If this state is lost or invalidated, the CUMULATIVE metric\n\
-    \ values MUST be reset and a new fixed start time following the last\n\
-    \ reported measurement time sent MUST be used.\n\
-    \\n\
-    \ For example, consider a system measuring the number of requests that\n\
-    \ it receives and reports the sum of these requests every second as a\n\
-    \ CUMULATIVE metric:\n\
-    \\n\
-    \   1. The system starts receiving at time=t_0.\n\
-    \   2. A request is received, the system measures 1 request.\n\
-    \   3. A request is received, the system measures 1 request.\n\
-    \   4. A request is received, the system measures 1 request.\n\
-    \   5. The 1 second collection cycle ends. A metric is exported for the\n\
-    \      number of requests received over the interval of time t_0 to\n\
-    \      t_0+1 with a value of 3.\n\
-    \   6. A request is received, the system measures 1 request.\n\
-    \   7. A request is received, the system measures 1 request.\n\
-    \   8. The 1 second collection cycle ends. A metric is exported for the\n\
-    \      number of requests received over the interval of time t_0 to\n\
-    \      t_0+2 with a value of 5.\n\
-    \   9. The system experiences a fault and loses state.\n\
-    \   10. The system recovers and resumes receiving at time=t_1.\n\
-    \   11. A request is received, the system measures 1 request.\n\
-    \   12. The 1 second collection cycle ends. A metric is exported for the\n\
-    \      number of requests received over the interval of time t_1 to\n\
-    \      t_0+1 with a value of 1.\n\
-    \\n\
-    \ Note: Even though, when reporting changes since last report time, using\n\
-    \ CUMULATIVE is valid, it is not recommended. This may cause problems for\n\
-    \ systems that do not use start_time to determine when the aggregation\n\
-    \ value was reset (e.g. Prometheus).\n\
-    \\n\
-    \\r\n\
-    \\ENQ\ENQ\NUL\STX\STX\SOH\DC2\EOT\182\STX\STX$\n\
-    \\r\n\
-    \\ENQ\ENQ\NUL\STX\STX\STX\DC2\EOT\182\STX'(\n\
-    \\147\ETX\n\
-    \\STX\ENQ\SOH\DC2\ACK\192\STX\NUL\203\STX\SOH\SUB\132\ETX DataPointFlags is defined as a protobuf 'uint32' type and is to be used as a\n\
-    \ bit-field representing 32 distinct boolean flags.  Each flag defined in this\n\
-    \ enum is a bit-mask.  To test the presence of a single flag in the flags of\n\
-    \ a data point, for example, use an expression like:\n\
-    \\n\
-    \   (point.flags & DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK) == DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK\n\
-    \\n\
-    \\n\
-    \\v\n\
-    \\ETX\ENQ\SOH\SOH\DC2\EOT\192\STX\ENQ\DC3\n\
-    \\150\SOH\n\
-    \\EOT\ENQ\SOH\STX\NUL\DC2\EOT\195\STX\STX\"\SUB\135\SOH The zero value for the enum. Should not be used for comparisons.\n\
-    \ Instead use bitwise \"and\" with the appropriate mask as shown above.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\EOT\195\STX\STX\GS\n\
-    \\r\n\
-    \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\EOT\195\STX !\n\
-    \\203\SOH\n\
-    \\EOT\ENQ\SOH\STX\SOH\DC2\EOT\200\STX\STX.\SUB\188\SOH This DataPoint is valid but has no recorded value.  This value\n\
-    \ SHOULD be used to reflect explicitly missing data in a series, as\n\
-    \ for an equivalent to the Prometheus \"staleness marker\".\n\
-    \\n\
-    \\r\n\
-    \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\EOT\200\STX\STX)\n\
-    \\r\n\
-    \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\EOT\200\STX,-\n\
-    \\129\SOH\n\
-    \\STX\EOT\t\DC2\ACK\207\STX\NUL\243\STX\SOH\SUBs NumberDataPoint is a single data point in a timeseries that describes the\n\
-    \ time-varying scalar value of a metric.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\t\SOH\DC2\EOT\207\STX\b\ETB\n\
-    \\v\n\
-    \\ETX\EOT\t\t\DC2\EOT\208\STX\STX\r\n\
-    \\f\n\
-    \\EOT\EOT\t\t\NUL\DC2\EOT\208\STX\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\t\t\NUL\SOH\DC2\EOT\208\STX\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\t\t\NUL\STX\DC2\EOT\208\STX\v\f\n\
-    \\136\STX\n\
-    \\EOT\EOT\t\STX\NUL\DC2\EOT\214\STX\STXA\SUB\249\SOH The set of key/value pairs that uniquely identify the timeseries from\n\
-    \ where this point belongs. The list may be empty (may contain 0 elements).\n\
-    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
-    \ attribute with the same key).\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\214\STX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\NUL\ACK\DC2\EOT\214\STX\v1\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\214\STX2<\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\214\STX?@\n\
-    \\197\SOH\n\
-    \\EOT\EOT\t\STX\SOH\DC2\EOT\221\STX\STX#\SUB\182\SOH StartTimeUnixNano is optional but strongly encouraged, see the\n\
-    \ the detailed comments above Metric.\n\
-    \\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
-    \ 1970.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\221\STX\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\221\STX\n\
-    \\RS\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\221\STX!\"\n\
-    \\163\SOH\n\
-    \\EOT\EOT\t\STX\STX\DC2\EOT\227\STX\STX\GS\SUB\148\SOH TimeUnixNano is required, see the detailed comments above Metric.\n\
-    \\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
-    \ 1970.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\227\STX\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\227\STX\n\
-    \\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\227\STX\ESC\FS\n\
-    \\141\SOH\n\
-    \\EOT\EOT\t\b\NUL\DC2\ACK\231\STX\STX\234\STX\ETX\SUB} The value itself.  A point is considered invalid when one of the recognized\n\
-    \ value fields is not present inside this oneof.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\t\b\NUL\SOH\DC2\EOT\231\STX\b\r\n\
-    \\f\n\
-    \\EOT\EOT\t\STX\ETX\DC2\EOT\232\STX\EOT\EM\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\232\STX\EOT\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\232\STX\v\DC4\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\232\STX\ETB\CAN\n\
-    \\f\n\
-    \\EOT\EOT\t\STX\EOT\DC2\EOT\233\STX\EOT\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\EOT\ENQ\DC2\EOT\233\STX\EOT\f\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\233\STX\r\DC3\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\233\STX\SYN\ETB\n\
-    \o\n\
-    \\EOT\EOT\t\STX\ENQ\DC2\EOT\238\STX\STX\"\SUBa (Optional) List of exemplars collected from\n\
-    \ measurements that were used to form the data point\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ENQ\EOT\DC2\EOT\238\STX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ENQ\ACK\DC2\EOT\238\STX\v\DC3\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\238\STX\DC4\GS\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\238\STX !\n\
-    \}\n\
-    \\EOT\EOT\t\STX\ACK\DC2\EOT\242\STX\STX\DC3\SUBo Flags that apply to this specific data point.  See DataPointFlags\n\
-    \ for the available flags and their meaning.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ACK\ENQ\DC2\EOT\242\STX\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ACK\SOH\DC2\EOT\242\STX\t\SO\n\
-    \\r\n\
-    \\ENQ\EOT\t\STX\ACK\ETX\DC2\EOT\242\STX\DC1\DC2\n\
-    \\196\EOT\n\
-    \\STX\EOT\n\
-    \\DC2\ACK\255\STX\NUL\201\ETX\SOH\SUB\181\EOT HistogramDataPoint is a single data point in a timeseries that describes the\n\
-    \ time-varying values of a Histogram. A Histogram contains summary statistics\n\
-    \ for a population of values, it may optionally contain the distribution of\n\
-    \ those values across a set of buckets.\n\
-    \\n\
-    \ If the histogram contains the distribution of values, then both\n\
-    \ \"explicit_bounds\" and \"bucket counts\" fields must be defined.\n\
-    \ If the histogram does not contain the distribution of values, then both\n\
-    \ \"explicit_bounds\" and \"bucket_counts\" must be omitted and only \"count\" and\n\
-    \ \"sum\" are known.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\n\
-    \\SOH\DC2\EOT\255\STX\b\SUB\n\
-    \\v\n\
-    \\ETX\EOT\n\
-    \\t\DC2\EOT\128\ETX\STX\r\n\
-    \\f\n\
-    \\EOT\EOT\n\
-    \\t\NUL\DC2\EOT\128\ETX\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\t\NUL\SOH\DC2\EOT\128\ETX\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\t\NUL\STX\DC2\EOT\128\ETX\v\f\n\
-    \\136\STX\n\
-    \\EOT\EOT\n\
-    \\STX\NUL\DC2\EOT\134\ETX\STXA\SUB\249\SOH The set of key/value pairs that uniquely identify the timeseries from\n\
-    \ where this point belongs. The list may be empty (may contain 0 elements).\n\
-    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
-    \ attribute with the same key).\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\NUL\EOT\DC2\EOT\134\ETX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\NUL\ACK\DC2\EOT\134\ETX\v1\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\NUL\SOH\DC2\EOT\134\ETX2<\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\NUL\ETX\DC2\EOT\134\ETX?@\n\
-    \\197\SOH\n\
-    \\EOT\EOT\n\
-    \\STX\SOH\DC2\EOT\141\ETX\STX#\SUB\182\SOH StartTimeUnixNano is optional but strongly encouraged, see the\n\
-    \ the detailed comments above Metric.\n\
-    \\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
-    \ 1970.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\SOH\ENQ\DC2\EOT\141\ETX\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\SOH\SOH\DC2\EOT\141\ETX\n\
-    \\RS\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\SOH\ETX\DC2\EOT\141\ETX!\"\n\
-    \\163\SOH\n\
-    \\EOT\EOT\n\
-    \\STX\STX\DC2\EOT\147\ETX\STX\GS\SUB\148\SOH TimeUnixNano is required, see the detailed comments above Metric.\n\
-    \\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
-    \ 1970.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\STX\ENQ\DC2\EOT\147\ETX\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\STX\SOH\DC2\EOT\147\ETX\n\
-    \\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\STX\ETX\DC2\EOT\147\ETX\ESC\FS\n\
-    \\186\SOH\n\
-    \\EOT\EOT\n\
-    \\STX\ETX\DC2\EOT\152\ETX\STX\DC4\SUB\171\SOH count is the number of values in the population. Must be non-negative. This\n\
-    \ value must be equal to the sum of the \"count\" fields in buckets if a\n\
-    \ histogram is provided.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ETX\ENQ\DC2\EOT\152\ETX\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ETX\SOH\DC2\EOT\152\ETX\n\
-    \\SI\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ETX\ETX\DC2\EOT\152\ETX\DC2\DC3\n\
-    \\245\ETX\n\
-    \\EOT\EOT\n\
-    \\STX\EOT\DC2\EOT\162\ETX\STX\SUB\SUB\230\ETX sum of the values in the population. If count is zero then this field\n\
-    \ must be zero.\n\
-    \\n\
-    \ Note: Sum should only be filled out when measuring non-negative discrete\n\
-    \ events, and is assumed to be monotonic over the values of these events.\n\
-    \ Negative events *can* be recorded, but sum should not be filled out when\n\
-    \ doing so.  This is specifically to enforce compatibility w/ OpenMetrics,\n\
-    \ see: https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#histogram\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\EOT\EOT\DC2\EOT\162\ETX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\EOT\ENQ\DC2\EOT\162\ETX\v\DC1\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\EOT\SOH\DC2\EOT\162\ETX\DC2\NAK\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\EOT\ETX\DC2\EOT\162\ETX\CAN\EM\n\
-    \\178\STX\n\
-    \\EOT\EOT\n\
-    \\STX\ENQ\DC2\EOT\171\ETX\STX%\SUB\163\STX bucket_counts is an optional field contains the count values of histogram\n\
-    \ for each bucket.\n\
-    \\n\
-    \ The sum of the bucket_counts must equal the value in the count field.\n\
-    \\n\
-    \ The number of elements in bucket_counts array must be by one greater than\n\
-    \ the number of elements in explicit_bounds array.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ENQ\EOT\DC2\EOT\171\ETX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ENQ\ENQ\DC2\EOT\171\ETX\v\DC2\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ENQ\SOH\DC2\EOT\171\ETX\DC3 \n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ENQ\ETX\DC2\EOT\171\ETX#$\n\
-    \\215\EOT\n\
-    \\EOT\EOT\n\
-    \\STX\ACK\DC2\EOT\186\ETX\STX&\SUB\200\EOT explicit_bounds specifies buckets with explicitly defined bounds for values.\n\
-    \\n\
-    \ The boundaries for bucket at index i are:\n\
-    \\n\
-    \ (-infinity, explicit_bounds[i]] for i == 0\n\
-    \ (explicit_bounds[i-1], explicit_bounds[i]] for 0 < i < size(explicit_bounds)\n\
-    \ (explicit_bounds[i-1], +infinity) for i == size(explicit_bounds)\n\
-    \\n\
-    \ The values in the explicit_bounds array must be strictly increasing.\n\
-    \\n\
-    \ Histogram buckets are inclusive of their upper boundary, except the last\n\
-    \ bucket where the boundary is at infinity. This format is intentionally\n\
-    \ compatible with the OpenMetrics histogram definition.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ACK\EOT\DC2\EOT\186\ETX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ACK\ENQ\DC2\EOT\186\ETX\v\DC1\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ACK\SOH\DC2\EOT\186\ETX\DC2!\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\ACK\ETX\DC2\EOT\186\ETX$%\n\
-    \o\n\
-    \\EOT\EOT\n\
-    \\STX\a\DC2\EOT\190\ETX\STX\"\SUBa (Optional) List of exemplars collected from\n\
-    \ measurements that were used to form the data point\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\a\EOT\DC2\EOT\190\ETX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\a\ACK\DC2\EOT\190\ETX\v\DC3\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\a\SOH\DC2\EOT\190\ETX\DC4\GS\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\a\ETX\DC2\EOT\190\ETX !\n\
-    \}\n\
-    \\EOT\EOT\n\
-    \\STX\b\DC2\EOT\194\ETX\STX\DC4\SUBo Flags that apply to this specific data point.  See DataPointFlags\n\
-    \ for the available flags and their meaning.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\b\ENQ\DC2\EOT\194\ETX\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\b\SOH\DC2\EOT\194\ETX\t\SO\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\b\ETX\DC2\EOT\194\ETX\DC1\DC3\n\
-    \E\n\
-    \\EOT\EOT\n\
-    \\STX\t\DC2\EOT\197\ETX\STX\ESC\SUB7 min is the minimum value over (start_time, end_time].\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\t\EOT\DC2\EOT\197\ETX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\t\ENQ\DC2\EOT\197\ETX\v\DC1\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\t\SOH\DC2\EOT\197\ETX\DC2\NAK\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\t\ETX\DC2\EOT\197\ETX\CAN\SUB\n\
-    \E\n\
-    \\EOT\EOT\n\
-    \\STX\n\
-    \\DC2\EOT\200\ETX\STX\ESC\SUB7 max is the maximum value over (start_time, end_time].\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\n\
-    \\EOT\DC2\EOT\200\ETX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\n\
-    \\ENQ\DC2\EOT\200\ETX\v\DC1\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\n\
-    \\SOH\DC2\EOT\200\ETX\DC2\NAK\n\
-    \\r\n\
-    \\ENQ\EOT\n\
-    \\STX\n\
-    \\ETX\DC2\EOT\200\ETX\CAN\SUB\n\
-    \\207\STX\n\
-    \\STX\EOT\v\DC2\ACK\208\ETX\NUL\189\EOT\SOH\SUB\192\STX ExponentialHistogramDataPoint is a single data point in a timeseries that describes the\n\
-    \ time-varying values of a ExponentialHistogram of double values. A ExponentialHistogram contains\n\
-    \ summary statistics for a population of values, it may optionally contain the\n\
-    \ distribution of those values across a set of buckets.\n\
-    \\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\v\SOH\DC2\EOT\208\ETX\b%\n\
-    \\136\STX\n\
-    \\EOT\EOT\v\STX\NUL\DC2\EOT\213\ETX\STXA\SUB\249\SOH The set of key/value pairs that uniquely identify the timeseries from\n\
-    \ where this point belongs. The list may be empty (may contain 0 elements).\n\
-    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
-    \ attribute with the same key).\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\NUL\EOT\DC2\EOT\213\ETX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\NUL\ACK\DC2\EOT\213\ETX\v1\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\NUL\SOH\DC2\EOT\213\ETX2<\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\NUL\ETX\DC2\EOT\213\ETX?@\n\
-    \\197\SOH\n\
-    \\EOT\EOT\v\STX\SOH\DC2\EOT\220\ETX\STX#\SUB\182\SOH StartTimeUnixNano is optional but strongly encouraged, see the\n\
-    \ the detailed comments above Metric.\n\
-    \\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
-    \ 1970.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\SOH\ENQ\DC2\EOT\220\ETX\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\SOH\SOH\DC2\EOT\220\ETX\n\
-    \\RS\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\SOH\ETX\DC2\EOT\220\ETX!\"\n\
-    \\163\SOH\n\
-    \\EOT\EOT\v\STX\STX\DC2\EOT\226\ETX\STX\GS\SUB\148\SOH TimeUnixNano is required, see the detailed comments above Metric.\n\
-    \\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
-    \ 1970.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\STX\ENQ\DC2\EOT\226\ETX\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\STX\SOH\DC2\EOT\226\ETX\n\
-    \\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\STX\ETX\DC2\EOT\226\ETX\ESC\FS\n\
-    \\221\SOH\n\
-    \\EOT\EOT\v\STX\ETX\DC2\EOT\231\ETX\STX\DC4\SUB\206\SOH count is the number of values in the population. Must be\n\
-    \ non-negative. This value must be equal to the sum of the \"bucket_counts\"\n\
-    \ values in the positive and negative Buckets plus the \"zero_count\" field.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\ETX\ENQ\DC2\EOT\231\ETX\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\ETX\SOH\DC2\EOT\231\ETX\n\
-    \\SI\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\ETX\ETX\DC2\EOT\231\ETX\DC2\DC3\n\
-    \\245\ETX\n\
-    \\EOT\EOT\v\STX\EOT\DC2\EOT\241\ETX\STX\SUB\SUB\230\ETX sum of the values in the population. If count is zero then this field\n\
-    \ must be zero.\n\
-    \\n\
-    \ Note: Sum should only be filled out when measuring non-negative discrete\n\
-    \ events, and is assumed to be monotonic over the values of these events.\n\
-    \ Negative events *can* be recorded, but sum should not be filled out when\n\
-    \ doing so.  This is specifically to enforce compatibility w/ OpenMetrics,\n\
-    \ see: https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#histogram\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\EOT\EOT\DC2\EOT\241\ETX\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\EOT\ENQ\DC2\EOT\241\ETX\v\DC1\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\EOT\SOH\DC2\EOT\241\ETX\DC2\NAK\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\EOT\ETX\DC2\EOT\241\ETX\CAN\EM\n\
-    \\226\EOT\n\
-    \\EOT\EOT\v\STX\ENQ\DC2\EOT\130\EOT\STX\DC3\SUB\211\EOT scale describes the resolution of the histogram.  Boundaries are\n\
-    \ located at powers of the base, where:\n\
-    \\n\
-    \   base = (2^(2^-scale))\n\
-    \\n\
-    \ The histogram bucket identified by `index`, a signed integer,\n\
-    \ contains values that are greater than (base^index) and\n\
-    \ less than or equal to (base^(index+1)).\n\
-    \\n\
-    \ The positive and negative ranges of the histogram are expressed\n\
-    \ separately.  Negative values are mapped by their absolute value\n\
-    \ into the negative range using the same scale as the positive range.\n\
-    \\n\
-    \ scale is not restricted by the protocol, as the permissible\n\
-    \ values depend on the range of the data.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\ENQ\ENQ\DC2\EOT\130\EOT\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\ENQ\SOH\DC2\EOT\130\EOT\t\SO\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\ENQ\ETX\DC2\EOT\130\EOT\DC1\DC2\n\
-    \\170\ETX\n\
-    \\EOT\EOT\v\STX\ACK\DC2\EOT\140\EOT\STX\EM\SUB\155\ETX zero_count is the count of values that are either exactly zero or\n\
-    \ within the region considered zero by the instrumentation at the\n\
-    \ tolerated degree of precision.  This bucket stores values that\n\
-    \ cannot be expressed using the standard exponential formula as\n\
-    \ well as values that have been rounded to zero.\n\
-    \\n\
-    \ Implementations MAY consider the zero bucket to have probability\n\
-    \ mass equal to (zero_count / count).\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\ACK\ENQ\DC2\EOT\140\EOT\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\ACK\SOH\DC2\EOT\140\EOT\n\
-    \\DC4\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\ACK\ETX\DC2\EOT\140\EOT\ETB\CAN\n\
-    \Q\n\
-    \\EOT\EOT\v\STX\a\DC2\EOT\143\EOT\STX\ETB\SUBC positive carries the positive range of exponential bucket counts.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\a\ACK\DC2\EOT\143\EOT\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\a\SOH\DC2\EOT\143\EOT\n\
-    \\DC2\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\a\ETX\DC2\EOT\143\EOT\NAK\SYN\n\
-    \Q\n\
-    \\EOT\EOT\v\STX\b\DC2\EOT\146\EOT\STX\ETB\SUBC negative carries the negative range of exponential bucket counts.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\b\ACK\DC2\EOT\146\EOT\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\b\SOH\DC2\EOT\146\EOT\n\
-    \\DC2\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\b\ETX\DC2\EOT\146\EOT\NAK\SYN\n\
-    \_\n\
-    \\EOT\EOT\v\ETX\NUL\DC2\ACK\150\EOT\STX\166\EOT\ETX\SUBO Buckets are a set of bucket counts, encoded in a contiguous array\n\
-    \ of counts.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\ETX\NUL\SOH\DC2\EOT\150\EOT\n\
-    \\DC1\n\
-    \\162\SOH\n\
-    \\ACK\EOT\v\ETX\NUL\STX\NUL\DC2\EOT\154\EOT\EOT\SYN\SUB\145\SOH Offset is the bucket index of the first entry in the bucket_counts array.\n\
-    \ \n\
-    \ Note: This uses a varint encoding as a simple form of compression.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\v\ETX\NUL\STX\NUL\ENQ\DC2\EOT\154\EOT\EOT\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\v\ETX\NUL\STX\NUL\SOH\DC2\EOT\154\EOT\v\DC1\n\
-    \\SI\n\
-    \\a\EOT\v\ETX\NUL\STX\NUL\ETX\DC2\EOT\154\EOT\DC4\NAK\n\
-    \\187\ETX\n\
-    \\ACK\EOT\v\ETX\NUL\STX\SOH\DC2\EOT\165\EOT\EOT&\SUB\170\ETX bucket_counts is an array of count values, where bucket_counts[i] carries\n\
-    \ the count of the bucket at index (offset+i). bucket_counts[i] is the count\n\
-    \ of values greater than base^(offset+i) and less than or equal to\n\
-    \ base^(offset+i+1).\n\
-    \\n\
-    \ Note: By contrast, the explicit HistogramDataPoint uses\n\
-    \ fixed64.  This field is expected to have many buckets,\n\
-    \ especially zeros, so uint64 has been selected to ensure\n\
-    \ varint encoding.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\v\ETX\NUL\STX\SOH\EOT\DC2\EOT\165\EOT\EOT\f\n\
-    \\SI\n\
-    \\a\EOT\v\ETX\NUL\STX\SOH\ENQ\DC2\EOT\165\EOT\r\DC3\n\
-    \\SI\n\
-    \\a\EOT\v\ETX\NUL\STX\SOH\SOH\DC2\EOT\165\EOT\DC4!\n\
-    \\SI\n\
-    \\a\EOT\v\ETX\NUL\STX\SOH\ETX\DC2\EOT\165\EOT$%\n\
-    \}\n\
-    \\EOT\EOT\v\STX\t\DC2\EOT\170\EOT\STX\DC4\SUBo Flags that apply to this specific data point.  See DataPointFlags\n\
-    \ for the available flags and their meaning.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\t\ENQ\DC2\EOT\170\EOT\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\t\SOH\DC2\EOT\170\EOT\t\SO\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\t\ETX\DC2\EOT\170\EOT\DC1\DC3\n\
-    \o\n\
-    \\EOT\EOT\v\STX\n\
-    \\DC2\EOT\174\EOT\STX#\SUBa (Optional) List of exemplars collected from\n\
-    \ measurements that were used to form the data point\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\n\
-    \\EOT\DC2\EOT\174\EOT\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\n\
-    \\ACK\DC2\EOT\174\EOT\v\DC3\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\n\
-    \\SOH\DC2\EOT\174\EOT\DC4\GS\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\n\
-    \\ETX\DC2\EOT\174\EOT \"\n\
-    \E\n\
-    \\EOT\EOT\v\STX\v\DC2\EOT\177\EOT\STX\ESC\SUB7 min is the minimum value over (start_time, end_time].\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\v\EOT\DC2\EOT\177\EOT\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\v\ENQ\DC2\EOT\177\EOT\v\DC1\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\v\SOH\DC2\EOT\177\EOT\DC2\NAK\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\v\ETX\DC2\EOT\177\EOT\CAN\SUB\n\
-    \E\n\
-    \\EOT\EOT\v\STX\f\DC2\EOT\180\EOT\STX\ESC\SUB7 max is the maximum value over (start_time, end_time].\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\f\EOT\DC2\EOT\180\EOT\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\f\ENQ\DC2\EOT\180\EOT\v\DC1\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\f\SOH\DC2\EOT\180\EOT\DC2\NAK\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\f\ETX\DC2\EOT\180\EOT\CAN\SUB\n\
-    \\229\STX\n\
-    \\EOT\EOT\v\STX\r\DC2\EOT\188\EOT\STX\GS\SUB\214\STX ZeroThreshold may be optionally set to convey the width of the zero\n\
-    \ region. Where the zero region is defined as the closed interval\n\
-    \ [-ZeroThreshold, ZeroThreshold].\n\
-    \ When ZeroThreshold is 0, zero count bucket stores values that cannot be\n\
-    \ expressed using the standard exponential formula as well as values that\n\
-    \ have been rounded to zero.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\r\ENQ\DC2\EOT\188\EOT\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\r\SOH\DC2\EOT\188\EOT\t\ETB\n\
-    \\r\n\
-    \\ENQ\EOT\v\STX\r\ETX\DC2\EOT\188\EOT\SUB\FS\n\
-    \\132\SOH\n\
-    \\STX\EOT\f\DC2\ACK\193\EOT\NUL\254\EOT\SOH\SUBv SummaryDataPoint is a single data point in a timeseries that describes the\n\
-    \ time-varying values of a Summary metric.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\f\SOH\DC2\EOT\193\EOT\b\CAN\n\
-    \\v\n\
-    \\ETX\EOT\f\t\DC2\EOT\194\EOT\STX\r\n\
-    \\f\n\
-    \\EOT\EOT\f\t\NUL\DC2\EOT\194\EOT\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\f\t\NUL\SOH\DC2\EOT\194\EOT\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\f\t\NUL\STX\DC2\EOT\194\EOT\v\f\n\
-    \\136\STX\n\
-    \\EOT\EOT\f\STX\NUL\DC2\EOT\200\EOT\STXA\SUB\249\SOH The set of key/value pairs that uniquely identify the timeseries from\n\
-    \ where this point belongs. The list may be empty (may contain 0 elements).\n\
-    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
-    \ attribute with the same key).\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\NUL\EOT\DC2\EOT\200\EOT\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\NUL\ACK\DC2\EOT\200\EOT\v1\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\NUL\SOH\DC2\EOT\200\EOT2<\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\NUL\ETX\DC2\EOT\200\EOT?@\n\
-    \\197\SOH\n\
-    \\EOT\EOT\f\STX\SOH\DC2\EOT\207\EOT\STX#\SUB\182\SOH StartTimeUnixNano is optional but strongly encouraged, see the\n\
-    \ the detailed comments above Metric.\n\
-    \\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
-    \ 1970.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\SOH\ENQ\DC2\EOT\207\EOT\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\SOH\SOH\DC2\EOT\207\EOT\n\
-    \\RS\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\SOH\ETX\DC2\EOT\207\EOT!\"\n\
-    \\163\SOH\n\
-    \\EOT\EOT\f\STX\STX\DC2\EOT\213\EOT\STX\GS\SUB\148\SOH TimeUnixNano is required, see the detailed comments above Metric.\n\
-    \\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
-    \ 1970.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\STX\ENQ\DC2\EOT\213\EOT\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\STX\SOH\DC2\EOT\213\EOT\n\
-    \\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\STX\ETX\DC2\EOT\213\EOT\ESC\FS\n\
-    \V\n\
-    \\EOT\EOT\f\STX\ETX\DC2\EOT\216\EOT\STX\DC4\SUBH count is the number of values in the population. Must be non-negative.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ETX\ENQ\DC2\EOT\216\EOT\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ETX\SOH\DC2\EOT\216\EOT\n\
-    \\SI\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ETX\ETX\DC2\EOT\216\EOT\DC2\DC3\n\
-    \\243\ETX\n\
-    \\EOT\EOT\f\STX\EOT\DC2\EOT\226\EOT\STX\DC1\SUB\228\ETX sum of the values in the population. If count is zero then this field\n\
-    \ must be zero.\n\
-    \\n\
-    \ Note: Sum should only be filled out when measuring non-negative discrete\n\
-    \ events, and is assumed to be monotonic over the values of these events.\n\
-    \ Negative events *can* be recorded, but sum should not be filled out when\n\
-    \ doing so.  This is specifically to enforce compatibility w/ OpenMetrics,\n\
-    \ see: https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#summary\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\EOT\ENQ\DC2\EOT\226\EOT\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\EOT\SOH\DC2\EOT\226\EOT\t\f\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\EOT\ETX\DC2\EOT\226\EOT\SI\DLE\n\
-    \\253\STX\n\
-    \\EOT\EOT\f\ETX\NUL\DC2\ACK\236\EOT\STX\245\EOT\ETX\SUB\236\STX Represents the value at a given quantile of a distribution.\n\
-    \\n\
-    \ To record Min and Max values following conventions are used:\n\
-    \ - The 1.0 quantile is equivalent to the maximum value observed.\n\
-    \ - The 0.0 quantile is equivalent to the minimum value observed.\n\
-    \\n\
-    \ See the following issue for more context:\n\
-    \ https://github.com/open-telemetry/opentelemetry-proto/issues/125\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\ETX\NUL\SOH\DC2\EOT\236\EOT\n\
-    \\EM\n\
-    \V\n\
-    \\ACK\EOT\f\ETX\NUL\STX\NUL\DC2\EOT\239\EOT\EOT\CAN\SUBF The quantile of a distribution. Must be in the interval\n\
-    \ [0.0, 1.0].\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\f\ETX\NUL\STX\NUL\ENQ\DC2\EOT\239\EOT\EOT\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\f\ETX\NUL\STX\NUL\SOH\DC2\EOT\239\EOT\v\DC3\n\
-    \\SI\n\
-    \\a\EOT\f\ETX\NUL\STX\NUL\ETX\DC2\EOT\239\EOT\SYN\ETB\n\
-    \l\n\
-    \\ACK\EOT\f\ETX\NUL\STX\SOH\DC2\EOT\244\EOT\EOT\NAK\SUB\\ The value at the given quantile of a distribution.\n\
-    \\n\
-    \ Quantile values must NOT be negative.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\f\ETX\NUL\STX\SOH\ENQ\DC2\EOT\244\EOT\EOT\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\f\ETX\NUL\STX\SOH\SOH\DC2\EOT\244\EOT\v\DLE\n\
-    \\SI\n\
-    \\a\EOT\f\ETX\NUL\STX\SOH\ETX\DC2\EOT\244\EOT\DC3\DC4\n\
-    \\167\SOH\n\
-    \\EOT\EOT\f\STX\ENQ\DC2\EOT\249\EOT\STX/\SUB\152\SOH (Optional) list of values at different quantiles of the distribution calculated\n\
-    \ from the current snapshot. The quantiles must be strictly increasing.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ENQ\EOT\DC2\EOT\249\EOT\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ENQ\ACK\DC2\EOT\249\EOT\v\SUB\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ENQ\SOH\DC2\EOT\249\EOT\ESC*\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ENQ\ETX\DC2\EOT\249\EOT-.\n\
-    \}\n\
-    \\EOT\EOT\f\STX\ACK\DC2\EOT\253\EOT\STX\DC3\SUBo Flags that apply to this specific data point.  See DataPointFlags\n\
-    \ for the available flags and their meaning.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ACK\ENQ\DC2\EOT\253\EOT\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ACK\SOH\DC2\EOT\253\EOT\t\SO\n\
-    \\r\n\
-    \\ENQ\EOT\f\STX\ACK\ETX\DC2\EOT\253\EOT\DC1\DC2\n\
-    \\135\STX\n\
-    \\STX\EOT\r\DC2\ACK\132\ENQ\NUL\163\ENQ\SOH\SUB\248\SOH A representation of an exemplar, which is a sample input measurement.\n\
-    \ Exemplars also hold information about the environment when the measurement\n\
-    \ was recorded, for example the span and trace ID of the active span when the\n\
-    \ exemplar was recorded.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\r\SOH\DC2\EOT\132\ENQ\b\DLE\n\
-    \\v\n\
-    \\ETX\EOT\r\t\DC2\EOT\133\ENQ\STX\r\n\
-    \\f\n\
-    \\EOT\EOT\r\t\NUL\DC2\EOT\133\ENQ\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\r\t\NUL\SOH\DC2\EOT\133\ENQ\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\r\t\NUL\STX\DC2\EOT\133\ENQ\v\f\n\
-    \\217\SOH\n\
-    \\EOT\EOT\r\STX\NUL\DC2\EOT\138\ENQ\STXJ\SUB\202\SOH The set of key/value pairs that were filtered out by the aggregator, but\n\
-    \ recorded alongside the original measurement. Only key/value pairs that were\n\
-    \ filtered out by the aggregator should be included\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\NUL\EOT\DC2\EOT\138\ENQ\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\NUL\ACK\DC2\EOT\138\ENQ\v1\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\NUL\SOH\DC2\EOT\138\ENQ2E\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\NUL\ETX\DC2\EOT\138\ENQHI\n\
-    \\162\SOH\n\
-    \\EOT\EOT\r\STX\SOH\DC2\EOT\144\ENQ\STX\GS\SUB\147\SOH time_unix_nano is the exact time when this exemplar was recorded\n\
-    \\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
-    \ 1970.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\SOH\ENQ\DC2\EOT\144\ENQ\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\SOH\SOH\DC2\EOT\144\ENQ\n\
-    \\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\SOH\ETX\DC2\EOT\144\ENQ\ESC\FS\n\
-    \\176\SOH\n\
-    \\EOT\EOT\r\b\NUL\DC2\ACK\149\ENQ\STX\152\ENQ\ETX\SUB\159\SOH The value of the measurement that was recorded. An exemplar is\n\
-    \ considered invalid when one of the recognized value fields is not present\n\
-    \ inside this oneof.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\r\b\NUL\SOH\DC2\EOT\149\ENQ\b\r\n\
-    \\f\n\
-    \\EOT\EOT\r\STX\STX\DC2\EOT\150\ENQ\EOT\EM\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\STX\ENQ\DC2\EOT\150\ENQ\EOT\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\STX\SOH\DC2\EOT\150\ENQ\v\DC4\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\STX\ETX\DC2\EOT\150\ENQ\ETB\CAN\n\
-    \\f\n\
-    \\EOT\EOT\r\STX\ETX\DC2\EOT\151\ENQ\EOT\CAN\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\ETX\ENQ\DC2\EOT\151\ENQ\EOT\f\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\ETX\SOH\DC2\EOT\151\ENQ\r\DC3\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\ETX\ETX\DC2\EOT\151\ENQ\SYN\ETB\n\
-    \\165\SOH\n\
-    \\EOT\EOT\r\STX\EOT\DC2\EOT\157\ENQ\STX\DC4\SUB\150\SOH (Optional) Span ID of the exemplar trace.\n\
-    \ span_id may be missing if the measurement is not recorded inside a trace\n\
-    \ or if the trace is not sampled.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\EOT\ENQ\DC2\EOT\157\ENQ\STX\a\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\EOT\SOH\DC2\EOT\157\ENQ\b\SI\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\EOT\ETX\DC2\EOT\157\ENQ\DC2\DC3\n\
-    \\167\SOH\n\
-    \\EOT\EOT\r\STX\ENQ\DC2\EOT\162\ENQ\STX\NAK\SUB\152\SOH (Optional) Trace ID of the exemplar trace.\n\
-    \ trace_id may be missing if the measurement is not recorded inside a trace\n\
-    \ or if the trace is not sampled.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\ENQ\ENQ\DC2\EOT\162\ENQ\STX\a\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\ENQ\SOH\DC2\EOT\162\ENQ\b\DLE\n\
-    \\r\n\
-    \\ENQ\EOT\r\STX\ENQ\ETX\DC2\EOT\162\ENQ\DC3\DC4b\ACKproto3"
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.metadata' @:: Lens' Metric [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'metadata' @:: Lens' Metric (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'data'' @:: Lens' Metric (Prelude.Maybe Metric'Data)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'gauge' @:: Lens' Metric (Prelude.Maybe Gauge)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.gauge' @:: Lens' Metric Gauge@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'sum' @:: Lens' Metric (Prelude.Maybe Sum)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.sum' @:: Lens' Metric Sum@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'histogram' @:: Lens' Metric (Prelude.Maybe Histogram)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.histogram' @:: Lens' Metric Histogram@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'exponentialHistogram' @:: Lens' Metric (Prelude.Maybe ExponentialHistogram)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.exponentialHistogram' @:: Lens' Metric ExponentialHistogram@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'summary' @:: Lens' Metric (Prelude.Maybe Summary)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.summary' @:: Lens' Metric Summary@ -}
+data Metric
+  = Metric'_constructor {_Metric'name :: !Data.Text.Text,
+                         _Metric'description :: !Data.Text.Text,
+                         _Metric'unit :: !Data.Text.Text,
+                         _Metric'metadata :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
+                         _Metric'data' :: !(Prelude.Maybe Metric'Data),
+                         _Metric'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Metric where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+data Metric'Data
+  = Metric'Gauge !Gauge |
+    Metric'Sum !Sum |
+    Metric'Histogram !Histogram |
+    Metric'ExponentialHistogram !ExponentialHistogram |
+    Metric'Summary !Summary
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.Field.HasField Metric "name" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'name (\ x__ y__ -> x__ {_Metric'name = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Metric "description" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'description (\ x__ y__ -> x__ {_Metric'description = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Metric "unit" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'unit (\ x__ y__ -> x__ {_Metric'unit = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Metric "metadata" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'metadata (\ x__ y__ -> x__ {_Metric'metadata = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Metric "vec'metadata" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'metadata (\ x__ y__ -> x__ {_Metric'metadata = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Metric "maybe'data'" (Prelude.Maybe Metric'Data) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Metric "maybe'gauge" (Prelude.Maybe Gauge) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (Metric'Gauge x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap Metric'Gauge y__))
+instance Data.ProtoLens.Field.HasField Metric "gauge" Gauge where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (Metric'Gauge x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap Metric'Gauge y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
+instance Data.ProtoLens.Field.HasField Metric "maybe'sum" (Prelude.Maybe Sum) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (Metric'Sum x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap Metric'Sum y__))
+instance Data.ProtoLens.Field.HasField Metric "sum" Sum where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (Metric'Sum x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap Metric'Sum y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
+instance Data.ProtoLens.Field.HasField Metric "maybe'histogram" (Prelude.Maybe Histogram) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (Metric'Histogram x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap Metric'Histogram y__))
+instance Data.ProtoLens.Field.HasField Metric "histogram" Histogram where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (Metric'Histogram x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap Metric'Histogram y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
+instance Data.ProtoLens.Field.HasField Metric "maybe'exponentialHistogram" (Prelude.Maybe ExponentialHistogram) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (Metric'ExponentialHistogram x__val))
+                     -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap Metric'ExponentialHistogram y__))
+instance Data.ProtoLens.Field.HasField Metric "exponentialHistogram" ExponentialHistogram where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (Metric'ExponentialHistogram x__val))
+                        -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap Metric'ExponentialHistogram y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
+instance Data.ProtoLens.Field.HasField Metric "maybe'summary" (Prelude.Maybe Summary) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (Metric'Summary x__val)) -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap Metric'Summary y__))
+instance Data.ProtoLens.Field.HasField Metric "summary" Summary where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Metric'data' (\ x__ y__ -> x__ {_Metric'data' = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (Metric'Summary x__val)) -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap Metric'Summary y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
+instance Data.ProtoLens.Message Metric where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.metrics.v1.Metric"
+  packedMessageDescriptor _
+    = "\n\
+      \\ACKMetric\DC2\DC2\n\
+      \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2 \n\
+      \\vdescription\CAN\STX \SOH(\tR\vdescription\DC2\DC2\n\
+      \\EOTunit\CAN\ETX \SOH(\tR\EOTunit\DC2=\n\
+      \\ENQgauge\CAN\ENQ \SOH(\v2%.opentelemetry.proto.metrics.v1.GaugeH\NULR\ENQgauge\DC27\n\
+      \\ETXsum\CAN\a \SOH(\v2#.opentelemetry.proto.metrics.v1.SumH\NULR\ETXsum\DC2I\n\
+      \\thistogram\CAN\t \SOH(\v2).opentelemetry.proto.metrics.v1.HistogramH\NULR\thistogram\DC2k\n\
+      \\NAKexponential_histogram\CAN\n\
+      \ \SOH(\v24.opentelemetry.proto.metrics.v1.ExponentialHistogramH\NULR\DC4exponentialHistogram\DC2C\n\
+      \\asummary\CAN\v \SOH(\v2'.opentelemetry.proto.metrics.v1.SummaryH\NULR\asummary\DC2C\n\
+      \\bmetadata\CAN\f \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\bmetadataB\ACK\n\
+      \\EOTdataJ\EOT\b\EOT\DLE\ENQJ\EOT\b\ACK\DLE\aJ\EOT\b\b\DLE\t"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        name__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "name"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
+              Data.ProtoLens.FieldDescriptor Metric
+        description__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "description"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"description")) ::
+              Data.ProtoLens.FieldDescriptor Metric
+        unit__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "unit"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"unit")) ::
+              Data.ProtoLens.FieldDescriptor Metric
+        metadata__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "metadata"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"metadata")) ::
+              Data.ProtoLens.FieldDescriptor Metric
+        gauge__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "gauge"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Gauge)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'gauge")) ::
+              Data.ProtoLens.FieldDescriptor Metric
+        sum__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "sum"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Sum)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'sum")) ::
+              Data.ProtoLens.FieldDescriptor Metric
+        histogram__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "histogram"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Histogram)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'histogram")) ::
+              Data.ProtoLens.FieldDescriptor Metric
+        exponentialHistogram__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "exponential_histogram"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ExponentialHistogram)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'exponentialHistogram")) ::
+              Data.ProtoLens.FieldDescriptor Metric
+        summary__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "summary"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Summary)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'summary")) ::
+              Data.ProtoLens.FieldDescriptor Metric
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, name__field_descriptor),
+           (Data.ProtoLens.Tag 2, description__field_descriptor),
+           (Data.ProtoLens.Tag 3, unit__field_descriptor),
+           (Data.ProtoLens.Tag 12, metadata__field_descriptor),
+           (Data.ProtoLens.Tag 5, gauge__field_descriptor),
+           (Data.ProtoLens.Tag 7, sum__field_descriptor),
+           (Data.ProtoLens.Tag 9, histogram__field_descriptor),
+           (Data.ProtoLens.Tag 10, exponentialHistogram__field_descriptor),
+           (Data.ProtoLens.Tag 11, summary__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Metric'_unknownFields
+        (\ x__ y__ -> x__ {_Metric'_unknownFields = y__})
+  defMessage
+    = Metric'_constructor
+        {_Metric'name = Data.ProtoLens.fieldDefault,
+         _Metric'description = Data.ProtoLens.fieldDefault,
+         _Metric'unit = Data.ProtoLens.fieldDefault,
+         _Metric'metadata = Data.Vector.Generic.empty,
+         _Metric'data' = Prelude.Nothing, _Metric'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Metric
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
+             -> Data.ProtoLens.Encoding.Bytes.Parser Metric
+        loop x mutable'metadata
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'metadata <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                           (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                              mutable'metadata)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'metadata") frozen'metadata x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "name"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
+                                  mutable'metadata
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "description"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"description") y x)
+                                  mutable'metadata
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "unit"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"unit") y x)
+                                  mutable'metadata
+                        98
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "metadata"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'metadata y)
+                                loop x v
+                        42
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "gauge"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"gauge") y x)
+                                  mutable'metadata
+                        58
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "sum"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"sum") y x)
+                                  mutable'metadata
+                        74
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "histogram"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"histogram") y x)
+                                  mutable'metadata
+                        82
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "exponential_histogram"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"exponentialHistogram") y x)
+                                  mutable'metadata
+                        90
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "summary"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"summary") y x)
+                                  mutable'metadata
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'metadata
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'metadata <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'metadata)
+          "Metric"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((Prelude..)
+                         (\ bs
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         Data.Text.Encoding.encodeUtf8 _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view (Data.ProtoLens.Field.field @"description") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((Prelude..)
+                            (\ bs
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Data.Text.Encoding.encodeUtf8 _v))
+                ((Data.Monoid.<>)
+                   (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"unit") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((Prelude..)
+                               (\ bs
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               Data.Text.Encoding.encodeUtf8 _v))
+                   ((Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                         (\ _v
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
+                                 ((Prelude..)
+                                    (\ bs
+                                       -> (Data.Monoid.<>)
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Data.ProtoLens.encodeMessage _v))
+                         (Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"vec'metadata") _x))
+                      ((Data.Monoid.<>)
+                         (case
+                              Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'data'") _x
+                          of
+                            Prelude.Nothing -> Data.Monoid.mempty
+                            (Prelude.Just (Metric'Gauge v))
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+                                   ((Prelude..)
+                                      (\ bs
+                                         -> (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                      Data.ProtoLens.encodeMessage v)
+                            (Prelude.Just (Metric'Sum v))
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+                                   ((Prelude..)
+                                      (\ bs
+                                         -> (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                      Data.ProtoLens.encodeMessage v)
+                            (Prelude.Just (Metric'Histogram v))
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
+                                   ((Prelude..)
+                                      (\ bs
+                                         -> (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                      Data.ProtoLens.encodeMessage v)
+                            (Prelude.Just (Metric'ExponentialHistogram v))
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
+                                   ((Prelude..)
+                                      (\ bs
+                                         -> (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                      Data.ProtoLens.encodeMessage v)
+                            (Prelude.Just (Metric'Summary v))
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
+                                   ((Prelude..)
+                                      (\ bs
+                                         -> (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                      Data.ProtoLens.encodeMessage v))
+                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
+instance Control.DeepSeq.NFData Metric where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Metric'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Metric'name x__)
+                (Control.DeepSeq.deepseq
+                   (_Metric'description x__)
+                   (Control.DeepSeq.deepseq
+                      (_Metric'unit x__)
+                      (Control.DeepSeq.deepseq
+                         (_Metric'metadata x__)
+                         (Control.DeepSeq.deepseq (_Metric'data' x__) ())))))
+instance Control.DeepSeq.NFData Metric'Data where
+  rnf (Metric'Gauge x__) = Control.DeepSeq.rnf x__
+  rnf (Metric'Sum x__) = Control.DeepSeq.rnf x__
+  rnf (Metric'Histogram x__) = Control.DeepSeq.rnf x__
+  rnf (Metric'ExponentialHistogram x__) = Control.DeepSeq.rnf x__
+  rnf (Metric'Summary x__) = Control.DeepSeq.rnf x__
+_Metric'Gauge :: Data.ProtoLens.Prism.Prism' Metric'Data Gauge
+_Metric'Gauge
+  = Data.ProtoLens.Prism.prism'
+      Metric'Gauge
+      (\ p__
+         -> case p__ of
+              (Metric'Gauge p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_Metric'Sum :: Data.ProtoLens.Prism.Prism' Metric'Data Sum
+_Metric'Sum
+  = Data.ProtoLens.Prism.prism'
+      Metric'Sum
+      (\ p__
+         -> case p__ of
+              (Metric'Sum p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_Metric'Histogram ::
+  Data.ProtoLens.Prism.Prism' Metric'Data Histogram
+_Metric'Histogram
+  = Data.ProtoLens.Prism.prism'
+      Metric'Histogram
+      (\ p__
+         -> case p__ of
+              (Metric'Histogram p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_Metric'ExponentialHistogram ::
+  Data.ProtoLens.Prism.Prism' Metric'Data ExponentialHistogram
+_Metric'ExponentialHistogram
+  = Data.ProtoLens.Prism.prism'
+      Metric'ExponentialHistogram
+      (\ p__
+         -> case p__ of
+              (Metric'ExponentialHistogram p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_Metric'Summary :: Data.ProtoLens.Prism.Prism' Metric'Data Summary
+_Metric'Summary
+  = Data.ProtoLens.Prism.prism'
+      Metric'Summary
+      (\ p__
+         -> case p__ of
+              (Metric'Summary p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.resourceMetrics' @:: Lens' MetricsData [ResourceMetrics]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'resourceMetrics' @:: Lens' MetricsData (Data.Vector.Vector ResourceMetrics)@ -}
+data MetricsData
+  = MetricsData'_constructor {_MetricsData'resourceMetrics :: !(Data.Vector.Vector ResourceMetrics),
+                              _MetricsData'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show MetricsData where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField MetricsData "resourceMetrics" [ResourceMetrics] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _MetricsData'resourceMetrics
+           (\ x__ y__ -> x__ {_MetricsData'resourceMetrics = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField MetricsData "vec'resourceMetrics" (Data.Vector.Vector ResourceMetrics) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _MetricsData'resourceMetrics
+           (\ x__ y__ -> x__ {_MetricsData'resourceMetrics = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message MetricsData where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.metrics.v1.MetricsData"
+  packedMessageDescriptor _
+    = "\n\
+      \\vMetricsData\DC2Z\n\
+      \\DLEresource_metrics\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.ResourceMetricsR\SIresourceMetrics"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        resourceMetrics__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "resource_metrics"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ResourceMetrics)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"resourceMetrics")) ::
+              Data.ProtoLens.FieldDescriptor MetricsData
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, resourceMetrics__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _MetricsData'_unknownFields
+        (\ x__ y__ -> x__ {_MetricsData'_unknownFields = y__})
+  defMessage
+    = MetricsData'_constructor
+        {_MetricsData'resourceMetrics = Data.Vector.Generic.empty,
+         _MetricsData'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          MetricsData
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ResourceMetrics
+             -> Data.ProtoLens.Encoding.Bytes.Parser MetricsData
+        loop x mutable'resourceMetrics
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'resourceMetrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                     mutable'resourceMetrics)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'resourceMetrics")
+                              frozen'resourceMetrics x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "resource_metrics"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'resourceMetrics y)
+                                loop x v
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'resourceMetrics
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'resourceMetrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                           Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'resourceMetrics)
+          "MetricsData"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'resourceMetrics") _x))
+             (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData MetricsData where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_MetricsData'_unknownFields x__)
+             (Control.DeepSeq.deepseq (_MetricsData'resourceMetrics x__) ())
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.attributes' @:: Lens' NumberDataPoint [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'attributes' @:: Lens' NumberDataPoint (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.startTimeUnixNano' @:: Lens' NumberDataPoint Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.timeUnixNano' @:: Lens' NumberDataPoint Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.exemplars' @:: Lens' NumberDataPoint [Exemplar]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'exemplars' @:: Lens' NumberDataPoint (Data.Vector.Vector Exemplar)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.flags' @:: Lens' NumberDataPoint Data.Word.Word32@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'value' @:: Lens' NumberDataPoint (Prelude.Maybe NumberDataPoint'Value)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'asDouble' @:: Lens' NumberDataPoint (Prelude.Maybe Prelude.Double)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.asDouble' @:: Lens' NumberDataPoint Prelude.Double@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'asInt' @:: Lens' NumberDataPoint (Prelude.Maybe Data.Int.Int64)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.asInt' @:: Lens' NumberDataPoint Data.Int.Int64@ -}
+data NumberDataPoint
+  = NumberDataPoint'_constructor {_NumberDataPoint'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
+                                  _NumberDataPoint'startTimeUnixNano :: !Data.Word.Word64,
+                                  _NumberDataPoint'timeUnixNano :: !Data.Word.Word64,
+                                  _NumberDataPoint'exemplars :: !(Data.Vector.Vector Exemplar),
+                                  _NumberDataPoint'flags :: !Data.Word.Word32,
+                                  _NumberDataPoint'value :: !(Prelude.Maybe NumberDataPoint'Value),
+                                  _NumberDataPoint'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show NumberDataPoint where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+data NumberDataPoint'Value
+  = NumberDataPoint'AsDouble !Prelude.Double |
+    NumberDataPoint'AsInt !Data.Int.Int64
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.Field.HasField NumberDataPoint "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'attributes
+           (\ x__ y__ -> x__ {_NumberDataPoint'attributes = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField NumberDataPoint "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'attributes
+           (\ x__ y__ -> x__ {_NumberDataPoint'attributes = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField NumberDataPoint "startTimeUnixNano" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'startTimeUnixNano
+           (\ x__ y__ -> x__ {_NumberDataPoint'startTimeUnixNano = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField NumberDataPoint "timeUnixNano" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'timeUnixNano
+           (\ x__ y__ -> x__ {_NumberDataPoint'timeUnixNano = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField NumberDataPoint "exemplars" [Exemplar] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'exemplars
+           (\ x__ y__ -> x__ {_NumberDataPoint'exemplars = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField NumberDataPoint "vec'exemplars" (Data.Vector.Vector Exemplar) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'exemplars
+           (\ x__ y__ -> x__ {_NumberDataPoint'exemplars = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField NumberDataPoint "flags" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'flags
+           (\ x__ y__ -> x__ {_NumberDataPoint'flags = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField NumberDataPoint "maybe'value" (Prelude.Maybe NumberDataPoint'Value) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'value
+           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField NumberDataPoint "maybe'asDouble" (Prelude.Maybe Prelude.Double) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'value
+           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (NumberDataPoint'AsDouble x__val))
+                     -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap NumberDataPoint'AsDouble y__))
+instance Data.ProtoLens.Field.HasField NumberDataPoint "asDouble" Prelude.Double where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'value
+           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (NumberDataPoint'AsDouble x__val))
+                        -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap NumberDataPoint'AsDouble y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Field.HasField NumberDataPoint "maybe'asInt" (Prelude.Maybe Data.Int.Int64) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'value
+           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           (\ x__
+              -> case x__ of
+                   (Prelude.Just (NumberDataPoint'AsInt x__val))
+                     -> Prelude.Just x__val
+                   _otherwise -> Prelude.Nothing)
+           (\ _ y__ -> Prelude.fmap NumberDataPoint'AsInt y__))
+instance Data.ProtoLens.Field.HasField NumberDataPoint "asInt" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _NumberDataPoint'value
+           (\ x__ y__ -> x__ {_NumberDataPoint'value = y__}))
+        ((Prelude..)
+           (Lens.Family2.Unchecked.lens
+              (\ x__
+                 -> case x__ of
+                      (Prelude.Just (NumberDataPoint'AsInt x__val))
+                        -> Prelude.Just x__val
+                      _otherwise -> Prelude.Nothing)
+              (\ _ y__ -> Prelude.fmap NumberDataPoint'AsInt y__))
+           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
+instance Data.ProtoLens.Message NumberDataPoint where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.metrics.v1.NumberDataPoint"
+  packedMessageDescriptor _
+    = "\n\
+      \\SINumberDataPoint\DC2G\n\
+      \\n\
+      \attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+      \attributes\DC2/\n\
+      \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
+      \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\GS\n\
+      \\tas_double\CAN\EOT \SOH(\SOHH\NULR\basDouble\DC2\ETB\n\
+      \\ACKas_int\CAN\ACK \SOH(\DLEH\NULR\ENQasInt\DC2F\n\
+      \\texemplars\CAN\ENQ \ETX(\v2(.opentelemetry.proto.metrics.v1.ExemplarR\texemplars\DC2\DC4\n\
+      \\ENQflags\CAN\b \SOH(\rR\ENQflagsB\a\n\
+      \\ENQvalueJ\EOT\b\SOH\DLE\STX"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        attributes__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attributes"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"attributes")) ::
+              Data.ProtoLens.FieldDescriptor NumberDataPoint
+        startTimeUnixNano__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "start_time_unix_nano"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"startTimeUnixNano")) ::
+              Data.ProtoLens.FieldDescriptor NumberDataPoint
+        timeUnixNano__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "time_unix_nano"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"timeUnixNano")) ::
+              Data.ProtoLens.FieldDescriptor NumberDataPoint
+        exemplars__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "exemplars"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Exemplar)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"exemplars")) ::
+              Data.ProtoLens.FieldDescriptor NumberDataPoint
+        flags__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "flags"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"flags")) ::
+              Data.ProtoLens.FieldDescriptor NumberDataPoint
+        asDouble__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "as_double"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'asDouble")) ::
+              Data.ProtoLens.FieldDescriptor NumberDataPoint
+        asInt__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "as_int"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.SFixed64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'asInt")) ::
+              Data.ProtoLens.FieldDescriptor NumberDataPoint
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 7, attributes__field_descriptor),
+           (Data.ProtoLens.Tag 2, startTimeUnixNano__field_descriptor),
+           (Data.ProtoLens.Tag 3, timeUnixNano__field_descriptor),
+           (Data.ProtoLens.Tag 5, exemplars__field_descriptor),
+           (Data.ProtoLens.Tag 8, flags__field_descriptor),
+           (Data.ProtoLens.Tag 4, asDouble__field_descriptor),
+           (Data.ProtoLens.Tag 6, asInt__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _NumberDataPoint'_unknownFields
+        (\ x__ y__ -> x__ {_NumberDataPoint'_unknownFields = y__})
+  defMessage
+    = NumberDataPoint'_constructor
+        {_NumberDataPoint'attributes = Data.Vector.Generic.empty,
+         _NumberDataPoint'startTimeUnixNano = Data.ProtoLens.fieldDefault,
+         _NumberDataPoint'timeUnixNano = Data.ProtoLens.fieldDefault,
+         _NumberDataPoint'exemplars = Data.Vector.Generic.empty,
+         _NumberDataPoint'flags = Data.ProtoLens.fieldDefault,
+         _NumberDataPoint'value = Prelude.Nothing,
+         _NumberDataPoint'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          NumberDataPoint
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Exemplar
+                -> Data.ProtoLens.Encoding.Bytes.Parser NumberDataPoint
+        loop x mutable'attributes mutable'exemplars
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'attributes)
+                      frozen'exemplars <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                               mutable'exemplars)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'exemplars") frozen'exemplars x)))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        58
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "attributes"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
+                                loop x v mutable'exemplars
+                        17
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed64
+                                       "start_time_unix_nano"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"startTimeUnixNano") y x)
+                                  mutable'attributes mutable'exemplars
+                        25
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "time_unix_nano"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"timeUnixNano") y x)
+                                  mutable'attributes mutable'exemplars
+                        42
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "exemplars"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'exemplars y)
+                                loop x mutable'attributes v
+                        64
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "flags"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"flags") y x)
+                                  mutable'attributes mutable'exemplars
+                        33
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
+                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
+                                       "as_double"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"asDouble") y x)
+                                  mutable'attributes mutable'exemplars
+                        49
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
+                                       "as_int"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"asInt") y x)
+                                  mutable'attributes mutable'exemplars
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributes mutable'exemplars
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              mutable'exemplars <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                     Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'attributes mutable'exemplars)
+          "NumberDataPoint"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'attributes") _x))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"startTimeUnixNano") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 17)
+                         (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
+                ((Data.Monoid.<>)
+                   (let
+                      _v
+                        = Lens.Family2.view (Data.ProtoLens.Field.field @"timeUnixNano") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 25)
+                            (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
+                   ((Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                         (\ _v
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+                                 ((Prelude..)
+                                    (\ bs
+                                       -> (Data.Monoid.<>)
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Data.ProtoLens.encodeMessage _v))
+                         (Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"vec'exemplars") _x))
+                      ((Data.Monoid.<>)
+                         (let
+                            _v = Lens.Family2.view (Data.ProtoLens.Field.field @"flags") _x
+                          in
+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                Data.Monoid.mempty
+                            else
+                                (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 64)
+                                  ((Prelude..)
+                                     Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral
+                                     _v))
+                         ((Data.Monoid.<>)
+                            (case
+                                 Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
+                             of
+                               Prelude.Nothing -> Data.Monoid.mempty
+                               (Prelude.Just (NumberDataPoint'AsDouble v))
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt 33)
+                                      ((Prelude..)
+                                         Data.ProtoLens.Encoding.Bytes.putFixed64
+                                         Data.ProtoLens.Encoding.Bytes.doubleToWord v)
+                               (Prelude.Just (NumberDataPoint'AsInt v))
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt 49)
+                                      ((Prelude..)
+                                         Data.ProtoLens.Encoding.Bytes.putFixed64
+                                         Prelude.fromIntegral v))
+                            (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                               (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
+instance Control.DeepSeq.NFData NumberDataPoint where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_NumberDataPoint'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_NumberDataPoint'attributes x__)
+                (Control.DeepSeq.deepseq
+                   (_NumberDataPoint'startTimeUnixNano x__)
+                   (Control.DeepSeq.deepseq
+                      (_NumberDataPoint'timeUnixNano x__)
+                      (Control.DeepSeq.deepseq
+                         (_NumberDataPoint'exemplars x__)
+                         (Control.DeepSeq.deepseq
+                            (_NumberDataPoint'flags x__)
+                            (Control.DeepSeq.deepseq (_NumberDataPoint'value x__) ()))))))
+instance Control.DeepSeq.NFData NumberDataPoint'Value where
+  rnf (NumberDataPoint'AsDouble x__) = Control.DeepSeq.rnf x__
+  rnf (NumberDataPoint'AsInt x__) = Control.DeepSeq.rnf x__
+_NumberDataPoint'AsDouble ::
+  Data.ProtoLens.Prism.Prism' NumberDataPoint'Value Prelude.Double
+_NumberDataPoint'AsDouble
+  = Data.ProtoLens.Prism.prism'
+      NumberDataPoint'AsDouble
+      (\ p__
+         -> case p__ of
+              (NumberDataPoint'AsDouble p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+_NumberDataPoint'AsInt ::
+  Data.ProtoLens.Prism.Prism' NumberDataPoint'Value Data.Int.Int64
+_NumberDataPoint'AsInt
+  = Data.ProtoLens.Prism.prism'
+      NumberDataPoint'AsInt
+      (\ p__
+         -> case p__ of
+              (NumberDataPoint'AsInt p__val) -> Prelude.Just p__val
+              _otherwise -> Prelude.Nothing)
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.resource' @:: Lens' ResourceMetrics Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'resource' @:: Lens' ResourceMetrics (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.scopeMetrics' @:: Lens' ResourceMetrics [ScopeMetrics]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'scopeMetrics' @:: Lens' ResourceMetrics (Data.Vector.Vector ScopeMetrics)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.schemaUrl' @:: Lens' ResourceMetrics Data.Text.Text@ -}
+data ResourceMetrics
+  = ResourceMetrics'_constructor {_ResourceMetrics'resource :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource),
+                                  _ResourceMetrics'scopeMetrics :: !(Data.Vector.Vector ScopeMetrics),
+                                  _ResourceMetrics'schemaUrl :: !Data.Text.Text,
+                                  _ResourceMetrics'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ResourceMetrics where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ResourceMetrics "resource" Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceMetrics'resource
+           (\ x__ y__ -> x__ {_ResourceMetrics'resource = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ResourceMetrics "maybe'resource" (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceMetrics'resource
+           (\ x__ y__ -> x__ {_ResourceMetrics'resource = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ResourceMetrics "scopeMetrics" [ScopeMetrics] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceMetrics'scopeMetrics
+           (\ x__ y__ -> x__ {_ResourceMetrics'scopeMetrics = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ResourceMetrics "vec'scopeMetrics" (Data.Vector.Vector ScopeMetrics) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceMetrics'scopeMetrics
+           (\ x__ y__ -> x__ {_ResourceMetrics'scopeMetrics = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ResourceMetrics "schemaUrl" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceMetrics'schemaUrl
+           (\ x__ y__ -> x__ {_ResourceMetrics'schemaUrl = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ResourceMetrics where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.metrics.v1.ResourceMetrics"
+  packedMessageDescriptor _
+    = "\n\
+      \\SIResourceMetrics\DC2E\n\
+      \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2Q\n\
+      \\rscope_metrics\CAN\STX \ETX(\v2,.opentelemetry.proto.metrics.v1.ScopeMetricsR\fscopeMetrics\DC2\GS\n\
+      \\n\
+      \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        resource__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "resource"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'resource")) ::
+              Data.ProtoLens.FieldDescriptor ResourceMetrics
+        scopeMetrics__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "scope_metrics"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ScopeMetrics)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"scopeMetrics")) ::
+              Data.ProtoLens.FieldDescriptor ResourceMetrics
+        schemaUrl__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "schema_url"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
+              Data.ProtoLens.FieldDescriptor ResourceMetrics
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, resource__field_descriptor),
+           (Data.ProtoLens.Tag 2, scopeMetrics__field_descriptor),
+           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ResourceMetrics'_unknownFields
+        (\ x__ y__ -> x__ {_ResourceMetrics'_unknownFields = y__})
+  defMessage
+    = ResourceMetrics'_constructor
+        {_ResourceMetrics'resource = Prelude.Nothing,
+         _ResourceMetrics'scopeMetrics = Data.Vector.Generic.empty,
+         _ResourceMetrics'schemaUrl = Data.ProtoLens.fieldDefault,
+         _ResourceMetrics'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ResourceMetrics
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ScopeMetrics
+             -> Data.ProtoLens.Encoding.Bytes.Parser ResourceMetrics
+        loop x mutable'scopeMetrics
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'scopeMetrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                  mutable'scopeMetrics)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'scopeMetrics")
+                              frozen'scopeMetrics x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "resource"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"resource") y x)
+                                  mutable'scopeMetrics
+                        18
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "scope_metrics"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'scopeMetrics y)
+                                loop x v
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "schema_url"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
+                                  mutable'scopeMetrics
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'scopeMetrics
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'scopeMetrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'scopeMetrics)
+          "ResourceMetrics"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'resource") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"vec'scopeMetrics") _x))
+                ((Data.Monoid.<>)
+                   (let
+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((Prelude..)
+                               (\ bs
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               Data.Text.Encoding.encodeUtf8 _v))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData ResourceMetrics where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ResourceMetrics'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ResourceMetrics'resource x__)
+                (Control.DeepSeq.deepseq
+                   (_ResourceMetrics'scopeMetrics x__)
+                   (Control.DeepSeq.deepseq (_ResourceMetrics'schemaUrl x__) ())))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.scope' @:: Lens' ScopeMetrics Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.maybe'scope' @:: Lens' ScopeMetrics (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.metrics' @:: Lens' ScopeMetrics [Metric]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'metrics' @:: Lens' ScopeMetrics (Data.Vector.Vector Metric)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.schemaUrl' @:: Lens' ScopeMetrics Data.Text.Text@ -}
+data ScopeMetrics
+  = ScopeMetrics'_constructor {_ScopeMetrics'scope :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope),
+                               _ScopeMetrics'metrics :: !(Data.Vector.Vector Metric),
+                               _ScopeMetrics'schemaUrl :: !Data.Text.Text,
+                               _ScopeMetrics'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ScopeMetrics where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ScopeMetrics "scope" Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeMetrics'scope (\ x__ y__ -> x__ {_ScopeMetrics'scope = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ScopeMetrics "maybe'scope" (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeMetrics'scope (\ x__ y__ -> x__ {_ScopeMetrics'scope = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ScopeMetrics "metrics" [Metric] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeMetrics'metrics
+           (\ x__ y__ -> x__ {_ScopeMetrics'metrics = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ScopeMetrics "vec'metrics" (Data.Vector.Vector Metric) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeMetrics'metrics
+           (\ x__ y__ -> x__ {_ScopeMetrics'metrics = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ScopeMetrics "schemaUrl" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeMetrics'schemaUrl
+           (\ x__ y__ -> x__ {_ScopeMetrics'schemaUrl = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ScopeMetrics where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.metrics.v1.ScopeMetrics"
+  packedMessageDescriptor _
+    = "\n\
+      \\fScopeMetrics\DC2I\n\
+      \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC2@\n\
+      \\ametrics\CAN\STX \ETX(\v2&.opentelemetry.proto.metrics.v1.MetricR\ametrics\DC2\GS\n\
+      \\n\
+      \schema_url\CAN\ETX \SOH(\tR\tschemaUrl"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        scope__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "scope"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'scope")) ::
+              Data.ProtoLens.FieldDescriptor ScopeMetrics
+        metrics__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "metrics"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Metric)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"metrics")) ::
+              Data.ProtoLens.FieldDescriptor ScopeMetrics
+        schemaUrl__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "schema_url"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
+              Data.ProtoLens.FieldDescriptor ScopeMetrics
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, scope__field_descriptor),
+           (Data.ProtoLens.Tag 2, metrics__field_descriptor),
+           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ScopeMetrics'_unknownFields
+        (\ x__ y__ -> x__ {_ScopeMetrics'_unknownFields = y__})
+  defMessage
+    = ScopeMetrics'_constructor
+        {_ScopeMetrics'scope = Prelude.Nothing,
+         _ScopeMetrics'metrics = Data.Vector.Generic.empty,
+         _ScopeMetrics'schemaUrl = Data.ProtoLens.fieldDefault,
+         _ScopeMetrics'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ScopeMetrics
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Metric
+             -> Data.ProtoLens.Encoding.Bytes.Parser ScopeMetrics
+        loop x mutable'metrics
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'metrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                             mutable'metrics)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'metrics") frozen'metrics x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "scope"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scope") y x)
+                                  mutable'metrics
+                        18
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "metrics"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'metrics y)
+                                loop x v
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "schema_url"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
+                                  mutable'metrics
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'metrics
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'metrics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                   Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'metrics)
+          "ScopeMetrics"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'scope") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'metrics") _x))
+                ((Data.Monoid.<>)
+                   (let
+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((Prelude..)
+                               (\ bs
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               Data.Text.Encoding.encodeUtf8 _v))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData ScopeMetrics where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ScopeMetrics'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ScopeMetrics'scope x__)
+                (Control.DeepSeq.deepseq
+                   (_ScopeMetrics'metrics x__)
+                   (Control.DeepSeq.deepseq (_ScopeMetrics'schemaUrl x__) ())))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.dataPoints' @:: Lens' Sum [NumberDataPoint]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'dataPoints' @:: Lens' Sum (Data.Vector.Vector NumberDataPoint)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.aggregationTemporality' @:: Lens' Sum AggregationTemporality@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.isMonotonic' @:: Lens' Sum Prelude.Bool@ -}
+data Sum
+  = Sum'_constructor {_Sum'dataPoints :: !(Data.Vector.Vector NumberDataPoint),
+                      _Sum'aggregationTemporality :: !AggregationTemporality,
+                      _Sum'isMonotonic :: !Prelude.Bool,
+                      _Sum'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Sum where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Sum "dataPoints" [NumberDataPoint] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sum'dataPoints (\ x__ y__ -> x__ {_Sum'dataPoints = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Sum "vec'dataPoints" (Data.Vector.Vector NumberDataPoint) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sum'dataPoints (\ x__ y__ -> x__ {_Sum'dataPoints = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Sum "aggregationTemporality" AggregationTemporality where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sum'aggregationTemporality
+           (\ x__ y__ -> x__ {_Sum'aggregationTemporality = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Sum "isMonotonic" Prelude.Bool where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sum'isMonotonic (\ x__ y__ -> x__ {_Sum'isMonotonic = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Sum where
+  messageName _ = Data.Text.pack "opentelemetry.proto.metrics.v1.Sum"
+  packedMessageDescriptor _
+    = "\n\
+      \\ETXSum\DC2P\n\
+      \\vdata_points\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.NumberDataPointR\n\
+      \dataPoints\DC2o\n\
+      \\ETBaggregation_temporality\CAN\STX \SOH(\SO26.opentelemetry.proto.metrics.v1.AggregationTemporalityR\SYNaggregationTemporality\DC2!\n\
+      \\fis_monotonic\CAN\ETX \SOH(\bR\visMonotonic"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        dataPoints__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "data_points"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor NumberDataPoint)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"dataPoints")) ::
+              Data.ProtoLens.FieldDescriptor Sum
+        aggregationTemporality__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "aggregation_temporality"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                 Data.ProtoLens.FieldTypeDescriptor AggregationTemporality)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"aggregationTemporality")) ::
+              Data.ProtoLens.FieldDescriptor Sum
+        isMonotonic__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "is_monotonic"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"isMonotonic")) ::
+              Data.ProtoLens.FieldDescriptor Sum
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, dataPoints__field_descriptor),
+           (Data.ProtoLens.Tag 2, aggregationTemporality__field_descriptor),
+           (Data.ProtoLens.Tag 3, isMonotonic__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Sum'_unknownFields (\ x__ y__ -> x__ {_Sum'_unknownFields = y__})
+  defMessage
+    = Sum'_constructor
+        {_Sum'dataPoints = Data.Vector.Generic.empty,
+         _Sum'aggregationTemporality = Data.ProtoLens.fieldDefault,
+         _Sum'isMonotonic = Data.ProtoLens.fieldDefault,
+         _Sum'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Sum
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld NumberDataPoint
+             -> Data.ProtoLens.Encoding.Bytes.Parser Sum
+        loop x mutable'dataPoints
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'dataPoints <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'dataPoints)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'dataPoints") frozen'dataPoints
+                              x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "data_points"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'dataPoints y)
+                                loop x v
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.toEnum
+                                          (Prelude.fmap
+                                             Prelude.fromIntegral
+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                       "aggregation_temporality"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"aggregationTemporality") y x)
+                                  mutable'dataPoints
+                        24
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "is_monotonic"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"isMonotonic") y x)
+                                  mutable'dataPoints
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'dataPoints
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'dataPoints <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'dataPoints)
+          "Sum"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'dataPoints") _x))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"aggregationTemporality") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         ((Prelude..)
+                            ((Prelude..)
+                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
+                            Prelude.fromEnum _v))
+                ((Data.Monoid.<>)
+                   (let
+                      _v
+                        = Lens.Family2.view (Data.ProtoLens.Field.field @"isMonotonic") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                            ((Prelude..)
+                               Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
+                               _v))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData Sum where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Sum'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Sum'dataPoints x__)
+                (Control.DeepSeq.deepseq
+                   (_Sum'aggregationTemporality x__)
+                   (Control.DeepSeq.deepseq (_Sum'isMonotonic x__) ())))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.dataPoints' @:: Lens' Summary [SummaryDataPoint]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'dataPoints' @:: Lens' Summary (Data.Vector.Vector SummaryDataPoint)@ -}
+data Summary
+  = Summary'_constructor {_Summary'dataPoints :: !(Data.Vector.Vector SummaryDataPoint),
+                          _Summary'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Summary where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Summary "dataPoints" [SummaryDataPoint] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Summary'dataPoints (\ x__ y__ -> x__ {_Summary'dataPoints = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Summary "vec'dataPoints" (Data.Vector.Vector SummaryDataPoint) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Summary'dataPoints (\ x__ y__ -> x__ {_Summary'dataPoints = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Summary where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.metrics.v1.Summary"
+  packedMessageDescriptor _
+    = "\n\
+      \\aSummary\DC2Q\n\
+      \\vdata_points\CAN\SOH \ETX(\v20.opentelemetry.proto.metrics.v1.SummaryDataPointR\n\
+      \dataPoints"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        dataPoints__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "data_points"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor SummaryDataPoint)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"dataPoints")) ::
+              Data.ProtoLens.FieldDescriptor Summary
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, dataPoints__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Summary'_unknownFields
+        (\ x__ y__ -> x__ {_Summary'_unknownFields = y__})
+  defMessage
+    = Summary'_constructor
+        {_Summary'dataPoints = Data.Vector.Generic.empty,
+         _Summary'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Summary
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld SummaryDataPoint
+             -> Data.ProtoLens.Encoding.Bytes.Parser Summary
+        loop x mutable'dataPoints
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'dataPoints <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'dataPoints)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'dataPoints") frozen'dataPoints
+                              x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "data_points"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'dataPoints y)
+                                loop x v
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'dataPoints
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'dataPoints <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'dataPoints)
+          "Summary"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'dataPoints") _x))
+             (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData Summary where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Summary'_unknownFields x__)
+             (Control.DeepSeq.deepseq (_Summary'dataPoints x__) ())
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.attributes' @:: Lens' SummaryDataPoint [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'attributes' @:: Lens' SummaryDataPoint (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.startTimeUnixNano' @:: Lens' SummaryDataPoint Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.timeUnixNano' @:: Lens' SummaryDataPoint Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.count' @:: Lens' SummaryDataPoint Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.sum' @:: Lens' SummaryDataPoint Prelude.Double@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.quantileValues' @:: Lens' SummaryDataPoint [SummaryDataPoint'ValueAtQuantile]@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.vec'quantileValues' @:: Lens' SummaryDataPoint (Data.Vector.Vector SummaryDataPoint'ValueAtQuantile)@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.flags' @:: Lens' SummaryDataPoint Data.Word.Word32@ -}
+data SummaryDataPoint
+  = SummaryDataPoint'_constructor {_SummaryDataPoint'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
+                                   _SummaryDataPoint'startTimeUnixNano :: !Data.Word.Word64,
+                                   _SummaryDataPoint'timeUnixNano :: !Data.Word.Word64,
+                                   _SummaryDataPoint'count :: !Data.Word.Word64,
+                                   _SummaryDataPoint'sum :: !Prelude.Double,
+                                   _SummaryDataPoint'quantileValues :: !(Data.Vector.Vector SummaryDataPoint'ValueAtQuantile),
+                                   _SummaryDataPoint'flags :: !Data.Word.Word32,
+                                   _SummaryDataPoint'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show SummaryDataPoint where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField SummaryDataPoint "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'attributes
+           (\ x__ y__ -> x__ {_SummaryDataPoint'attributes = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField SummaryDataPoint "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'attributes
+           (\ x__ y__ -> x__ {_SummaryDataPoint'attributes = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SummaryDataPoint "startTimeUnixNano" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'startTimeUnixNano
+           (\ x__ y__ -> x__ {_SummaryDataPoint'startTimeUnixNano = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SummaryDataPoint "timeUnixNano" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'timeUnixNano
+           (\ x__ y__ -> x__ {_SummaryDataPoint'timeUnixNano = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SummaryDataPoint "count" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'count
+           (\ x__ y__ -> x__ {_SummaryDataPoint'count = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SummaryDataPoint "sum" Prelude.Double where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'sum
+           (\ x__ y__ -> x__ {_SummaryDataPoint'sum = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SummaryDataPoint "quantileValues" [SummaryDataPoint'ValueAtQuantile] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'quantileValues
+           (\ x__ y__ -> x__ {_SummaryDataPoint'quantileValues = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField SummaryDataPoint "vec'quantileValues" (Data.Vector.Vector SummaryDataPoint'ValueAtQuantile) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'quantileValues
+           (\ x__ y__ -> x__ {_SummaryDataPoint'quantileValues = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SummaryDataPoint "flags" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'flags
+           (\ x__ y__ -> x__ {_SummaryDataPoint'flags = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message SummaryDataPoint where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.metrics.v1.SummaryDataPoint"
+  packedMessageDescriptor _
+    = "\n\
+      \\DLESummaryDataPoint\DC2G\n\
+      \\n\
+      \attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+      \attributes\DC2/\n\
+      \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
+      \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\DC4\n\
+      \\ENQcount\CAN\EOT \SOH(\ACKR\ENQcount\DC2\DLE\n\
+      \\ETXsum\CAN\ENQ \SOH(\SOHR\ETXsum\DC2i\n\
+      \\SIquantile_values\CAN\ACK \ETX(\v2@.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantileR\SOquantileValues\DC2\DC4\n\
+      \\ENQflags\CAN\b \SOH(\rR\ENQflags\SUBC\n\
+      \\SIValueAtQuantile\DC2\SUB\n\
+      \\bquantile\CAN\SOH \SOH(\SOHR\bquantile\DC2\DC4\n\
+      \\ENQvalue\CAN\STX \SOH(\SOHR\ENQvalueJ\EOT\b\SOH\DLE\STX"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        attributes__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attributes"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"attributes")) ::
+              Data.ProtoLens.FieldDescriptor SummaryDataPoint
+        startTimeUnixNano__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "start_time_unix_nano"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"startTimeUnixNano")) ::
+              Data.ProtoLens.FieldDescriptor SummaryDataPoint
+        timeUnixNano__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "time_unix_nano"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"timeUnixNano")) ::
+              Data.ProtoLens.FieldDescriptor SummaryDataPoint
+        count__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "count"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"count")) ::
+              Data.ProtoLens.FieldDescriptor SummaryDataPoint
+        sum__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "sum"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"sum")) ::
+              Data.ProtoLens.FieldDescriptor SummaryDataPoint
+        quantileValues__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "quantile_values"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor SummaryDataPoint'ValueAtQuantile)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"quantileValues")) ::
+              Data.ProtoLens.FieldDescriptor SummaryDataPoint
+        flags__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "flags"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"flags")) ::
+              Data.ProtoLens.FieldDescriptor SummaryDataPoint
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 7, attributes__field_descriptor),
+           (Data.ProtoLens.Tag 2, startTimeUnixNano__field_descriptor),
+           (Data.ProtoLens.Tag 3, timeUnixNano__field_descriptor),
+           (Data.ProtoLens.Tag 4, count__field_descriptor),
+           (Data.ProtoLens.Tag 5, sum__field_descriptor),
+           (Data.ProtoLens.Tag 6, quantileValues__field_descriptor),
+           (Data.ProtoLens.Tag 8, flags__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _SummaryDataPoint'_unknownFields
+        (\ x__ y__ -> x__ {_SummaryDataPoint'_unknownFields = y__})
+  defMessage
+    = SummaryDataPoint'_constructor
+        {_SummaryDataPoint'attributes = Data.Vector.Generic.empty,
+         _SummaryDataPoint'startTimeUnixNano = Data.ProtoLens.fieldDefault,
+         _SummaryDataPoint'timeUnixNano = Data.ProtoLens.fieldDefault,
+         _SummaryDataPoint'count = Data.ProtoLens.fieldDefault,
+         _SummaryDataPoint'sum = Data.ProtoLens.fieldDefault,
+         _SummaryDataPoint'quantileValues = Data.Vector.Generic.empty,
+         _SummaryDataPoint'flags = Data.ProtoLens.fieldDefault,
+         _SummaryDataPoint'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          SummaryDataPoint
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld SummaryDataPoint'ValueAtQuantile
+                -> Data.ProtoLens.Encoding.Bytes.Parser SummaryDataPoint
+        loop x mutable'attributes mutable'quantileValues
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'attributes)
+                      frozen'quantileValues <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                    mutable'quantileValues)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'quantileValues")
+                                 frozen'quantileValues x)))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        58
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "attributes"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
+                                loop x v mutable'quantileValues
+                        17
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed64
+                                       "start_time_unix_nano"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"startTimeUnixNano") y x)
+                                  mutable'attributes mutable'quantileValues
+                        25
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "time_unix_nano"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"timeUnixNano") y x)
+                                  mutable'attributes mutable'quantileValues
+                        33
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "count"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"count") y x)
+                                  mutable'attributes mutable'quantileValues
+                        41
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
+                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
+                                       "sum"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"sum") y x)
+                                  mutable'attributes mutable'quantileValues
+                        50
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "quantile_values"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'quantileValues y)
+                                loop x mutable'attributes v
+                        64
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "flags"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"flags") y x)
+                                  mutable'attributes mutable'quantileValues
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributes mutable'quantileValues
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              mutable'quantileValues <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                          Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'attributes
+                mutable'quantileValues)
+          "SummaryDataPoint"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'attributes") _x))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"startTimeUnixNano") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 17)
+                         (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
+                ((Data.Monoid.<>)
+                   (let
+                      _v
+                        = Lens.Family2.view (Data.ProtoLens.Field.field @"timeUnixNano") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 25)
+                            (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
+                   ((Data.Monoid.<>)
+                      (let
+                         _v = Lens.Family2.view (Data.ProtoLens.Field.field @"count") _x
+                       in
+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                             Data.Monoid.mempty
+                         else
+                             (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 33)
+                               (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
+                      ((Data.Monoid.<>)
+                         (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"sum") _x
+                          in
+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                Data.Monoid.mempty
+                            else
+                                (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 41)
+                                  ((Prelude..)
+                                     Data.ProtoLens.Encoding.Bytes.putFixed64
+                                     Data.ProtoLens.Encoding.Bytes.doubleToWord _v))
+                         ((Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                               (\ _v
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                                       ((Prelude..)
+                                          (\ bs
+                                             -> (Data.Monoid.<>)
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                          Data.ProtoLens.encodeMessage _v))
+                               (Lens.Family2.view
+                                  (Data.ProtoLens.Field.field @"vec'quantileValues") _x))
+                            ((Data.Monoid.<>)
+                               (let
+                                  _v = Lens.Family2.view (Data.ProtoLens.Field.field @"flags") _x
+                                in
+                                  if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                      Data.Monoid.mempty
+                                  else
+                                      (Data.Monoid.<>)
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 64)
+                                        ((Prelude..)
+                                           Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           Prelude.fromIntegral _v))
+                               (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                  (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))
+instance Control.DeepSeq.NFData SummaryDataPoint where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_SummaryDataPoint'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_SummaryDataPoint'attributes x__)
+                (Control.DeepSeq.deepseq
+                   (_SummaryDataPoint'startTimeUnixNano x__)
+                   (Control.DeepSeq.deepseq
+                      (_SummaryDataPoint'timeUnixNano x__)
+                      (Control.DeepSeq.deepseq
+                         (_SummaryDataPoint'count x__)
+                         (Control.DeepSeq.deepseq
+                            (_SummaryDataPoint'sum x__)
+                            (Control.DeepSeq.deepseq
+                               (_SummaryDataPoint'quantileValues x__)
+                               (Control.DeepSeq.deepseq (_SummaryDataPoint'flags x__) ())))))))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.quantile' @:: Lens' SummaryDataPoint'ValueAtQuantile Prelude.Double@
+         * 'Proto.Opentelemetry.Proto.Metrics.V1.Metrics_Fields.value' @:: Lens' SummaryDataPoint'ValueAtQuantile Prelude.Double@ -}
+data SummaryDataPoint'ValueAtQuantile
+  = SummaryDataPoint'ValueAtQuantile'_constructor {_SummaryDataPoint'ValueAtQuantile'quantile :: !Prelude.Double,
+                                                   _SummaryDataPoint'ValueAtQuantile'value :: !Prelude.Double,
+                                                   _SummaryDataPoint'ValueAtQuantile'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show SummaryDataPoint'ValueAtQuantile where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField SummaryDataPoint'ValueAtQuantile "quantile" Prelude.Double where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'ValueAtQuantile'quantile
+           (\ x__ y__
+              -> x__ {_SummaryDataPoint'ValueAtQuantile'quantile = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField SummaryDataPoint'ValueAtQuantile "value" Prelude.Double where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _SummaryDataPoint'ValueAtQuantile'value
+           (\ x__ y__ -> x__ {_SummaryDataPoint'ValueAtQuantile'value = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message SummaryDataPoint'ValueAtQuantile where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile"
+  packedMessageDescriptor _
+    = "\n\
+      \\SIValueAtQuantile\DC2\SUB\n\
+      \\bquantile\CAN\SOH \SOH(\SOHR\bquantile\DC2\DC4\n\
+      \\ENQvalue\CAN\STX \SOH(\SOHR\ENQvalue"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        quantile__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "quantile"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"quantile")) ::
+              Data.ProtoLens.FieldDescriptor SummaryDataPoint'ValueAtQuantile
+        value__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"value")) ::
+              Data.ProtoLens.FieldDescriptor SummaryDataPoint'ValueAtQuantile
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, quantile__field_descriptor),
+           (Data.ProtoLens.Tag 2, value__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _SummaryDataPoint'ValueAtQuantile'_unknownFields
+        (\ x__ y__
+           -> x__ {_SummaryDataPoint'ValueAtQuantile'_unknownFields = y__})
+  defMessage
+    = SummaryDataPoint'ValueAtQuantile'_constructor
+        {_SummaryDataPoint'ValueAtQuantile'quantile = Data.ProtoLens.fieldDefault,
+         _SummaryDataPoint'ValueAtQuantile'value = Data.ProtoLens.fieldDefault,
+         _SummaryDataPoint'ValueAtQuantile'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          SummaryDataPoint'ValueAtQuantile
+          -> Data.ProtoLens.Encoding.Bytes.Parser SummaryDataPoint'ValueAtQuantile
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        9 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
+                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
+                                       "quantile"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"quantile") y x)
+                        17
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Data.ProtoLens.Encoding.Bytes.wordToDouble
+                                          Data.ProtoLens.Encoding.Bytes.getFixed64)
+                                       "value"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "ValueAtQuantile"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"quantile") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 9)
+                      ((Prelude..)
+                         Data.ProtoLens.Encoding.Bytes.putFixed64
+                         Data.ProtoLens.Encoding.Bytes.doubleToWord _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"value") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 17)
+                         ((Prelude..)
+                            Data.ProtoLens.Encoding.Bytes.putFixed64
+                            Data.ProtoLens.Encoding.Bytes.doubleToWord _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData SummaryDataPoint'ValueAtQuantile where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_SummaryDataPoint'ValueAtQuantile'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_SummaryDataPoint'ValueAtQuantile'quantile x__)
+                (Control.DeepSeq.deepseq
+                   (_SummaryDataPoint'ValueAtQuantile'value x__) ()))
+packedFileDescriptor :: Data.ByteString.ByteString
+packedFileDescriptor
+  = "\n\
+    \,opentelemetry/proto/metrics/v1/metrics.proto\DC2\RSopentelemetry.proto.metrics.v1\SUB*opentelemetry/proto/common/v1/common.proto\SUB.opentelemetry/proto/resource/v1/resource.proto\"i\n\
+    \\vMetricsData\DC2Z\n\
+    \\DLEresource_metrics\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.ResourceMetricsR\SIresourceMetrics\"\210\SOH\n\
+    \\SIResourceMetrics\DC2E\n\
+    \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2Q\n\
+    \\rscope_metrics\CAN\STX \ETX(\v2,.opentelemetry.proto.metrics.v1.ScopeMetricsR\fscopeMetrics\DC2\GS\n\
+    \\n\
+    \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a\"\186\SOH\n\
+    \\fScopeMetrics\DC2I\n\
+    \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC2@\n\
+    \\ametrics\CAN\STX \ETX(\v2&.opentelemetry.proto.metrics.v1.MetricR\ametrics\DC2\GS\n\
+    \\n\
+    \schema_url\CAN\ETX \SOH(\tR\tschemaUrl\"\166\EOT\n\
+    \\ACKMetric\DC2\DC2\n\
+    \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2 \n\
+    \\vdescription\CAN\STX \SOH(\tR\vdescription\DC2\DC2\n\
+    \\EOTunit\CAN\ETX \SOH(\tR\EOTunit\DC2=\n\
+    \\ENQgauge\CAN\ENQ \SOH(\v2%.opentelemetry.proto.metrics.v1.GaugeH\NULR\ENQgauge\DC27\n\
+    \\ETXsum\CAN\a \SOH(\v2#.opentelemetry.proto.metrics.v1.SumH\NULR\ETXsum\DC2I\n\
+    \\thistogram\CAN\t \SOH(\v2).opentelemetry.proto.metrics.v1.HistogramH\NULR\thistogram\DC2k\n\
+    \\NAKexponential_histogram\CAN\n\
+    \ \SOH(\v24.opentelemetry.proto.metrics.v1.ExponentialHistogramH\NULR\DC4exponentialHistogram\DC2C\n\
+    \\asummary\CAN\v \SOH(\v2'.opentelemetry.proto.metrics.v1.SummaryH\NULR\asummary\DC2C\n\
+    \\bmetadata\CAN\f \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\bmetadataB\ACK\n\
+    \\EOTdataJ\EOT\b\EOT\DLE\ENQJ\EOT\b\ACK\DLE\aJ\EOT\b\b\DLE\t\"Y\n\
+    \\ENQGauge\DC2P\n\
+    \\vdata_points\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.NumberDataPointR\n\
+    \dataPoints\"\235\SOH\n\
+    \\ETXSum\DC2P\n\
+    \\vdata_points\CAN\SOH \ETX(\v2/.opentelemetry.proto.metrics.v1.NumberDataPointR\n\
+    \dataPoints\DC2o\n\
+    \\ETBaggregation_temporality\CAN\STX \SOH(\SO26.opentelemetry.proto.metrics.v1.AggregationTemporalityR\SYNaggregationTemporality\DC2!\n\
+    \\fis_monotonic\CAN\ETX \SOH(\bR\visMonotonic\"\209\SOH\n\
+    \\tHistogram\DC2S\n\
+    \\vdata_points\CAN\SOH \ETX(\v22.opentelemetry.proto.metrics.v1.HistogramDataPointR\n\
+    \dataPoints\DC2o\n\
+    \\ETBaggregation_temporality\CAN\STX \SOH(\SO26.opentelemetry.proto.metrics.v1.AggregationTemporalityR\SYNaggregationTemporality\"\231\SOH\n\
+    \\DC4ExponentialHistogram\DC2^\n\
+    \\vdata_points\CAN\SOH \ETX(\v2=.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPointR\n\
+    \dataPoints\DC2o\n\
+    \\ETBaggregation_temporality\CAN\STX \SOH(\SO26.opentelemetry.proto.metrics.v1.AggregationTemporalityR\SYNaggregationTemporality\"\\\n\
+    \\aSummary\DC2Q\n\
+    \\vdata_points\CAN\SOH \ETX(\v20.opentelemetry.proto.metrics.v1.SummaryDataPointR\n\
+    \dataPoints\"\214\STX\n\
+    \\SINumberDataPoint\DC2G\n\
+    \\n\
+    \attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+    \attributes\DC2/\n\
+    \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
+    \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\GS\n\
+    \\tas_double\CAN\EOT \SOH(\SOHH\NULR\basDouble\DC2\ETB\n\
+    \\ACKas_int\CAN\ACK \SOH(\DLEH\NULR\ENQasInt\DC2F\n\
+    \\texemplars\CAN\ENQ \ETX(\v2(.opentelemetry.proto.metrics.v1.ExemplarR\texemplars\DC2\DC4\n\
+    \\ENQflags\CAN\b \SOH(\rR\ENQflagsB\a\n\
+    \\ENQvalueJ\EOT\b\SOH\DLE\STX\"\217\ETX\n\
+    \\DC2HistogramDataPoint\DC2G\n\
+    \\n\
+    \attributes\CAN\t \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+    \attributes\DC2/\n\
+    \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
+    \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\DC4\n\
+    \\ENQcount\CAN\EOT \SOH(\ACKR\ENQcount\DC2\NAK\n\
+    \\ETXsum\CAN\ENQ \SOH(\SOHH\NULR\ETXsum\136\SOH\SOH\DC2#\n\
+    \\rbucket_counts\CAN\ACK \ETX(\ACKR\fbucketCounts\DC2'\n\
+    \\SIexplicit_bounds\CAN\a \ETX(\SOHR\SOexplicitBounds\DC2F\n\
+    \\texemplars\CAN\b \ETX(\v2(.opentelemetry.proto.metrics.v1.ExemplarR\texemplars\DC2\DC4\n\
+    \\ENQflags\CAN\n\
+    \ \SOH(\rR\ENQflags\DC2\NAK\n\
+    \\ETXmin\CAN\v \SOH(\SOHH\SOHR\ETXmin\136\SOH\SOH\DC2\NAK\n\
+    \\ETXmax\CAN\f \SOH(\SOHH\STXR\ETXmax\136\SOH\SOHB\ACK\n\
+    \\EOT_sumB\ACK\n\
+    \\EOT_minB\ACK\n\
+    \\EOT_maxJ\EOT\b\SOH\DLE\STX\"\250\ENQ\n\
+    \\GSExponentialHistogramDataPoint\DC2G\n\
+    \\n\
+    \attributes\CAN\SOH \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+    \attributes\DC2/\n\
+    \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
+    \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\DC4\n\
+    \\ENQcount\CAN\EOT \SOH(\ACKR\ENQcount\DC2\NAK\n\
+    \\ETXsum\CAN\ENQ \SOH(\SOHH\NULR\ETXsum\136\SOH\SOH\DC2\DC4\n\
+    \\ENQscale\CAN\ACK \SOH(\DC1R\ENQscale\DC2\GS\n\
+    \\n\
+    \zero_count\CAN\a \SOH(\ACKR\tzeroCount\DC2a\n\
+    \\bpositive\CAN\b \SOH(\v2E.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.BucketsR\bpositive\DC2a\n\
+    \\bnegative\CAN\t \SOH(\v2E.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.BucketsR\bnegative\DC2\DC4\n\
+    \\ENQflags\CAN\n\
+    \ \SOH(\rR\ENQflags\DC2F\n\
+    \\texemplars\CAN\v \ETX(\v2(.opentelemetry.proto.metrics.v1.ExemplarR\texemplars\DC2\NAK\n\
+    \\ETXmin\CAN\f \SOH(\SOHH\SOHR\ETXmin\136\SOH\SOH\DC2\NAK\n\
+    \\ETXmax\CAN\r \SOH(\SOHH\STXR\ETXmax\136\SOH\SOH\DC2%\n\
+    \\SOzero_threshold\CAN\SO \SOH(\SOHR\rzeroThreshold\SUBF\n\
+    \\aBuckets\DC2\SYN\n\
+    \\ACKoffset\CAN\SOH \SOH(\DC1R\ACKoffset\DC2#\n\
+    \\rbucket_counts\CAN\STX \ETX(\EOTR\fbucketCountsB\ACK\n\
+    \\EOT_sumB\ACK\n\
+    \\EOT_minB\ACK\n\
+    \\EOT_max\"\166\ETX\n\
+    \\DLESummaryDataPoint\DC2G\n\
+    \\n\
+    \attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+    \attributes\DC2/\n\
+    \\DC4start_time_unix_nano\CAN\STX \SOH(\ACKR\DC1startTimeUnixNano\DC2$\n\
+    \\SOtime_unix_nano\CAN\ETX \SOH(\ACKR\ftimeUnixNano\DC2\DC4\n\
+    \\ENQcount\CAN\EOT \SOH(\ACKR\ENQcount\DC2\DLE\n\
+    \\ETXsum\CAN\ENQ \SOH(\SOHR\ETXsum\DC2i\n\
+    \\SIquantile_values\CAN\ACK \ETX(\v2@.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantileR\SOquantileValues\DC2\DC4\n\
+    \\ENQflags\CAN\b \SOH(\rR\ENQflags\SUBC\n\
+    \\SIValueAtQuantile\DC2\SUB\n\
+    \\bquantile\CAN\SOH \SOH(\SOHR\bquantile\DC2\DC4\n\
+    \\ENQvalue\CAN\STX \SOH(\SOHR\ENQvalueJ\EOT\b\SOH\DLE\STX\"\133\STX\n\
+    \\bExemplar\DC2X\n\
+    \\DC3filtered_attributes\CAN\a \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\DC2filteredAttributes\DC2$\n\
+    \\SOtime_unix_nano\CAN\STX \SOH(\ACKR\ftimeUnixNano\DC2\GS\n\
+    \\tas_double\CAN\ETX \SOH(\SOHH\NULR\basDouble\DC2\ETB\n\
+    \\ACKas_int\CAN\ACK \SOH(\DLEH\NULR\ENQasInt\DC2\ETB\n\
+    \\aspan_id\CAN\EOT \SOH(\fR\ACKspanId\DC2\EM\n\
+    \\btrace_id\CAN\ENQ \SOH(\fR\atraceIdB\a\n\
+    \\ENQvalueJ\EOT\b\SOH\DLE\STX*\140\SOH\n\
+    \\SYNAggregationTemporality\DC2'\n\
+    \#AGGREGATION_TEMPORALITY_UNSPECIFIED\DLE\NUL\DC2!\n\
+    \\GSAGGREGATION_TEMPORALITY_DELTA\DLE\SOH\DC2&\n\
+    \\"AGGREGATION_TEMPORALITY_CUMULATIVE\DLE\STX*^\n\
+    \\SODataPointFlags\DC2\US\n\
+    \\ESCDATA_POINT_FLAGS_DO_NOT_USE\DLE\NUL\DC2+\n\
+    \'DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK\DLE\SOHB\DEL\n\
+    \!io.opentelemetry.proto.metrics.v1B\fMetricsProtoP\SOHZ)go.opentelemetry.io/proto/otlp/metrics/v1\170\STX\RSOpenTelemetry.Proto.Metrics.V1J\233\247\SOH\n\
+    \\a\DC2\ENQ\SO\NUL\206\ENQ\SOH\n\
+    \\200\EOT\n\
+    \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2019, OpenTelemetry Authors\n\
+    \\n\
+    \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
+    \ you may not use this file except in compliance with the License.\n\
+    \ You may obtain a copy of the License at\n\
+    \\n\
+    \     http://www.apache.org/licenses/LICENSE-2.0\n\
+    \\n\
+    \ Unless required by applicable law or agreed to in writing, software\n\
+    \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
+    \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
+    \ See the License for the specific language governing permissions and\n\
+    \ limitations under the License.\n\
+    \\n\
+    \\b\n\
+    \\SOH\STX\DC2\ETX\DLE\NUL'\n\
+    \\t\n\
+    \\STX\ETX\NUL\DC2\ETX\DC2\NUL4\n\
+    \\t\n\
+    \\STX\ETX\SOH\DC2\ETX\DC3\NUL8\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\NAK\NUL;\n\
+    \\t\n\
+    \\STX\b%\DC2\ETX\NAK\NUL;\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\SYN\NUL\"\n\
+    \\t\n\
+    \\STX\b\n\
+    \\DC2\ETX\SYN\NUL\"\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\ETB\NUL:\n\
+    \\t\n\
+    \\STX\b\SOH\DC2\ETX\ETB\NUL:\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\CAN\NUL-\n\
+    \\t\n\
+    \\STX\b\b\DC2\ETX\CAN\NUL-\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\EM\NUL@\n\
+    \\t\n\
+    \\STX\b\v\DC2\ETX\EM\NUL@\n\
+    \\145\a\n\
+    \\STX\EOT\NUL\DC2\EOT7\NUL>\SOH\SUB\132\a MetricsData represents the metrics data that can be stored in a persistent\n\
+    \ storage, OR can be embedded by other protocols that transfer OTLP metrics\n\
+    \ data but do not implement the OTLP protocol.\n\
+    \\n\
+    \ MetricsData\n\
+    \ \226\148\148\226\148\128\226\148\128\226\148\128 ResourceMetrics\n\
+    \   \226\148\156\226\148\128\226\148\128 Resource\n\
+    \   \226\148\156\226\148\128\226\148\128 SchemaURL\n\
+    \   \226\148\148\226\148\128\226\148\128 ScopeMetrics\n\
+    \      \226\148\156\226\148\128\226\148\128 Scope\n\
+    \      \226\148\156\226\148\128\226\148\128 SchemaURL\n\
+    \      \226\148\148\226\148\128\226\148\128 Metric\n\
+    \         \226\148\156\226\148\128\226\148\128 Name\n\
+    \         \226\148\156\226\148\128\226\148\128 Description\n\
+    \         \226\148\156\226\148\128\226\148\128 Unit\n\
+    \         \226\148\148\226\148\128\226\148\128 data\n\
+    \            \226\148\156\226\148\128\226\148\128 Gauge\n\
+    \            \226\148\156\226\148\128\226\148\128 Sum\n\
+    \            \226\148\156\226\148\128\226\148\128 Histogram\n\
+    \            \226\148\156\226\148\128\226\148\128 ExponentialHistogram\n\
+    \            \226\148\148\226\148\128\226\148\128 Summary\n\
+    \\n\
+    \ The main difference between this message and collector protocol is that\n\
+    \ in this message there will not be any \"control\" or \"metadata\" specific to\n\
+    \ OTLP protocol.\n\
+    \\n\
+    \ When new fields are added into this message, the OTLP request MUST be updated\n\
+    \ as well.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX7\b\DC3\n\
+    \\176\STX\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\ETX=\STX0\SUB\162\STX An array of ResourceMetrics.\n\
+    \ For data coming from a single resource this array will typically contain\n\
+    \ one element. Intermediary nodes that receive data from multiple origins\n\
+    \ typically batch the data before forwarding further and in that case this\n\
+    \ array will contain multiple elements.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX=\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX=\v\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX=\ESC+\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX=./\n\
+    \;\n\
+    \\STX\EOT\SOH\DC2\EOTA\NULR\SOH\SUB/ A collection of ScopeMetrics from a Resource.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\SOH\SOH\DC2\ETXA\b\ETB\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\SOH\t\DC2\ETXB\STX\DLE\n\
+    \\v\n\
+    \\EOT\EOT\SOH\t\NUL\DC2\ETXB\v\SI\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\t\NUL\SOH\DC2\ETXB\v\SI\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\t\NUL\STX\DC2\ETXB\v\SI\n\
+    \v\n\
+    \\EOT\EOT\SOH\STX\NUL\DC2\ETXF\STX8\SUBi The resource for the metrics in this message.\n\
+    \ If this field is not set then no resource info is known.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETXF\STX*\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETXF+3\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETXF67\n\
+    \@\n\
+    \\EOT\EOT\SOH\STX\SOH\DC2\ETXI\STX*\SUB3 A list of metrics that originate from a resource.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\EOT\DC2\ETXI\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\ETXI\v\ETB\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETXI\CAN%\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETXI()\n\
+    \\237\ETX\n\
+    \\EOT\EOT\SOH\STX\STX\DC2\ETXQ\STX\CAN\SUB\223\ETX The Schema URL, if known. This is the identifier of the Schema that the resource data\n\
+    \ is recorded in. Notably, the last part of the URL path is the version number of the\n\
+    \ schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see\n\
+    \ https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n\
+    \ This schema_url applies to the data in the \"resource\" field. It does not apply\n\
+    \ to the data in the \"scope_metrics\" field which have their own schema_url field.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETXQ\STX\b\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETXQ\t\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETXQ\SYN\ETB\n\
+    \;\n\
+    \\STX\EOT\STX\DC2\EOTU\NULd\SOH\SUB/ A collection of Metrics produced by an Scope.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\STX\SOH\DC2\ETXU\b\DC4\n\
+    \\207\SOH\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\ETXY\STX?\SUB\193\SOH The instrumentation scope information for the metrics in this message.\n\
+    \ Semantically when InstrumentationScope isn't set, it is equivalent with\n\
+    \ an empty instrumentation scope name (unknown).\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\ACK\DC2\ETXY\STX4\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXY5:\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXY=>\n\
+    \P\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\ETX\\\STX\RS\SUBC A list of metrics that originate from an instrumentation library.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETX\\\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\ACK\DC2\ETX\\\v\DC1\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETX\\\DC2\EM\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETX\\\FS\GS\n\
+    \\138\ETX\n\
+    \\EOT\EOT\STX\STX\STX\DC2\ETXc\STX\CAN\SUB\252\STX The Schema URL, if known. This is the identifier of the Schema that the metric data\n\
+    \ is recorded in. Notably, the last part of the URL path is the version number of the\n\
+    \ schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see\n\
+    \ https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n\
+    \ This schema_url applies to all metrics in the \"metrics\" field.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXc\STX\b\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXc\t\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXc\SYN\ETB\n\
+    \\173\GS\n\
+    \\STX\EOT\ETX\DC2\ACK\186\SOH\NUL\218\SOH\SOH\SUB\158\GS Defines a Metric which has one or more timeseries.  The following is a\n\
+    \ brief summary of the Metric data model.  For more details, see:\n\
+    \\n\
+    \   https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/data-model.md\n\
+    \\n\
+    \ The data model and relation between entities is shown in the\n\
+    \ diagram below. Here, \"DataPoint\" is the term used to refer to any\n\
+    \ one of the specific data point value types, and \"points\" is the term used\n\
+    \ to refer to any one of the lists of points contained in the Metric.\n\
+    \\n\
+    \ - Metric is composed of a metadata and data.\n\
+    \ - Metadata part contains a name, description, unit.\n\
+    \ - Data is one of the possible types (Sum, Gauge, Histogram, Summary).\n\
+    \ - DataPoint contains timestamps, attributes, and one of the possible value type\n\
+    \   fields.\n\
+    \\n\
+    \    Metric\n\
+    \  +------------+\n\
+    \  |name        |\n\
+    \  |description |\n\
+    \  |unit        |     +------------------------------------+\n\
+    \  |data        |---> |Gauge, Sum, Histogram, Summary, ... |\n\
+    \  +------------+     +------------------------------------+\n\
+    \\n\
+    \    Data [One of Gauge, Sum, Histogram, Summary, ...]\n\
+    \  +-----------+\n\
+    \  |...        |  // Metadata about the Data.\n\
+    \  |points     |--+\n\
+    \  +-----------+  |\n\
+    \                 |      +---------------------------+\n\
+    \                 |      |DataPoint 1                |\n\
+    \                 v      |+------+------+   +------+ |\n\
+    \              +-----+   ||label |label |...|label | |\n\
+    \              |  1  |-->||value1|value2|...|valueN| |\n\
+    \              +-----+   |+------+------+   +------+ |\n\
+    \              |  .  |   |+-----+                    |\n\
+    \              |  .  |   ||value|                    |\n\
+    \              |  .  |   |+-----+                    |\n\
+    \              |  .  |   +---------------------------+\n\
+    \              |  .  |                   .\n\
+    \              |  .  |                   .\n\
+    \              |  .  |                   .\n\
+    \              |  .  |   +---------------------------+\n\
+    \              |  .  |   |DataPoint M                |\n\
+    \              +-----+   |+------+------+   +------+ |\n\
+    \              |  M  |-->||label |label |...|label | |\n\
+    \              +-----+   ||value1|value2|...|valueN| |\n\
+    \                        |+------+------+   +------+ |\n\
+    \                        |+-----+                    |\n\
+    \                        ||value|                    |\n\
+    \                        |+-----+                    |\n\
+    \                        +---------------------------+\n\
+    \\n\
+    \ Each distinct type of DataPoint represents the output of a specific\n\
+    \ aggregation function, the result of applying the DataPoint's\n\
+    \ associated function of to one or more measurements.\n\
+    \\n\
+    \ All DataPoint types have three common fields:\n\
+    \ - Attributes includes key-value pairs associated with the data point\n\
+    \ - TimeUnixNano is required, set to the end time of the aggregation\n\
+    \ - StartTimeUnixNano is optional, but strongly encouraged for DataPoints\n\
+    \   having an AggregationTemporality field, as discussed below.\n\
+    \\n\
+    \ Both TimeUnixNano and StartTimeUnixNano values are expressed as\n\
+    \ UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.\n\
+    \\n\
+    \ # TimeUnixNano\n\
+    \\n\
+    \ This field is required, having consistent interpretation across\n\
+    \ DataPoint types.  TimeUnixNano is the moment corresponding to when\n\
+    \ the data point's aggregate value was captured.\n\
+    \\n\
+    \ Data points with the 0 value for TimeUnixNano SHOULD be rejected\n\
+    \ by consumers.\n\
+    \\n\
+    \ # StartTimeUnixNano\n\
+    \\n\
+    \ StartTimeUnixNano in general allows detecting when a sequence of\n\
+    \ observations is unbroken.  This field indicates to consumers the\n\
+    \ start time for points with cumulative and delta\n\
+    \ AggregationTemporality, and it should be included whenever possible\n\
+    \ to support correct rate calculation.  Although it may be omitted\n\
+    \ when the start time is truly unknown, setting StartTimeUnixNano is\n\
+    \ strongly encouraged.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\ETX\SOH\DC2\EOT\186\SOH\b\SO\n\
+    \\v\n\
+    \\ETX\EOT\ETX\t\DC2\EOT\187\SOH\STX\DC3\n\
+    \\f\n\
+    \\EOT\EOT\ETX\t\NUL\DC2\EOT\187\SOH\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\t\NUL\SOH\DC2\EOT\187\SOH\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\t\NUL\STX\DC2\EOT\187\SOH\v\f\n\
+    \\f\n\
+    \\EOT\EOT\ETX\t\SOH\DC2\EOT\187\SOH\SO\SI\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\t\SOH\SOH\DC2\EOT\187\SOH\SO\SI\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\t\SOH\STX\DC2\EOT\187\SOH\SO\SI\n\
+    \\f\n\
+    \\EOT\EOT\ETX\t\STX\DC2\EOT\187\SOH\DC1\DC2\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\t\STX\SOH\DC2\EOT\187\SOH\DC1\DC2\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\t\STX\STX\DC2\EOT\187\SOH\DC1\DC2\n\
+    \#\n\
+    \\EOT\EOT\ETX\STX\NUL\DC2\EOT\190\SOH\STX\DC2\SUB\NAK name of the metric.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\EOT\190\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\EOT\190\SOH\t\r\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\EOT\190\SOH\DLE\DC1\n\
+    \N\n\
+    \\EOT\EOT\ETX\STX\SOH\DC2\EOT\193\SOH\STX\EM\SUB@ description of the metric, which can be used in documentation.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\EOT\193\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\EOT\193\SOH\t\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\EOT\193\SOH\ETB\CAN\n\
+    \\130\SOH\n\
+    \\EOT\EOT\ETX\STX\STX\DC2\EOT\197\SOH\STX\DC2\SUBt unit in which the metric value is reported. Follows the format\n\
+    \ described by https://unitsofmeasure.org/ucum.html.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\STX\ENQ\DC2\EOT\197\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\EOT\197\SOH\t\r\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\EOT\197\SOH\DLE\DC1\n\
+    \\215\SOH\n\
+    \\EOT\EOT\ETX\b\NUL\DC2\ACK\202\SOH\STX\208\SOH\ETX\SUB\198\SOH Data determines the aggregation type (if any) of the metric, what is the\n\
+    \ reported value type for the data points, as well as the relatationship to\n\
+    \ the time interval over which they are reported.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\b\NUL\SOH\DC2\EOT\202\SOH\b\f\n\
+    \\f\n\
+    \\EOT\EOT\ETX\STX\ETX\DC2\EOT\203\SOH\EOT\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ETX\ACK\DC2\EOT\203\SOH\EOT\t\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\EOT\203\SOH\n\
+    \\SI\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\EOT\203\SOH\DC2\DC3\n\
+    \\f\n\
+    \\EOT\EOT\ETX\STX\EOT\DC2\EOT\204\SOH\EOT\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\EOT\ACK\DC2\EOT\204\SOH\EOT\a\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\EOT\204\SOH\b\v\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\EOT\204\SOH\SO\SI\n\
+    \\f\n\
+    \\EOT\EOT\ETX\STX\ENQ\DC2\EOT\205\SOH\EOT\FS\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\EOT\205\SOH\EOT\r\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\EOT\205\SOH\SO\ETB\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\EOT\205\SOH\SUB\ESC\n\
+    \\f\n\
+    \\EOT\EOT\ETX\STX\ACK\DC2\EOT\206\SOH\EOT4\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ACK\ACK\DC2\EOT\206\SOH\EOT\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ACK\SOH\DC2\EOT\206\SOH\EM.\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ACK\ETX\DC2\EOT\206\SOH13\n\
+    \\f\n\
+    \\EOT\EOT\ETX\STX\a\DC2\EOT\207\SOH\EOT\EM\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\a\ACK\DC2\EOT\207\SOH\EOT\v\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\a\SOH\DC2\EOT\207\SOH\f\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\a\ETX\DC2\EOT\207\SOH\SYN\CAN\n\
+    \\152\ETX\n\
+    \\EOT\EOT\ETX\STX\b\DC2\EOT\217\SOH\STX@\SUB\137\ETX Additional metadata attributes that describe the metric. [Optional].\n\
+    \ Attributes are non-identifying.\n\
+    \ Consumers SHOULD NOT need to be aware of these attributes.\n\
+    \ These attributes MAY be used to encode information allowing\n\
+    \ for lossless roundtrip translation to / from another data model.\n\
+    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
+    \ attribute with the same key).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\b\EOT\DC2\EOT\217\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\b\ACK\DC2\EOT\217\SOH\v1\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\b\SOH\DC2\EOT\217\SOH2:\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\b\ETX\DC2\EOT\217\SOH=?\n\
+    \\247\ETX\n\
+    \\STX\EOT\EOT\DC2\ACK\229\SOH\NUL\231\SOH\SOH\SUB\232\ETX Gauge represents the type of a scalar metric that always exports the\n\
+    \ \"current value\" for every data point. It should be used for an \"unknown\"\n\
+    \ aggregation.\n\
+    \\n\
+    \ A Gauge does not support different aggregation temporalities. Given the\n\
+    \ aggregation is unknown, points cannot be combined using the same\n\
+    \ aggregation, regardless of aggregation temporalities. Therefore,\n\
+    \ AggregationTemporality is not included. Consequently, this also means\n\
+    \ \"StartTimeUnixNano\" is ignored for all data points.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\EOT\SOH\DC2\EOT\229\SOH\b\r\n\
+    \\f\n\
+    \\EOT\EOT\EOT\STX\NUL\DC2\EOT\230\SOH\STX+\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\EOT\DC2\EOT\230\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\ACK\DC2\EOT\230\SOH\v\SUB\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\230\SOH\ESC&\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\230\SOH)*\n\
+    \\138\SOH\n\
+    \\STX\EOT\ENQ\DC2\ACK\235\SOH\NUL\244\SOH\SOH\SUB| Sum represents the type of a scalar metric that is calculated as a sum of all\n\
+    \ reported measurements over a time interval.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\ENQ\SOH\DC2\EOT\235\SOH\b\v\n\
+    \\f\n\
+    \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\236\SOH\STX+\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\NUL\EOT\DC2\EOT\236\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\NUL\ACK\DC2\EOT\236\SOH\v\SUB\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\236\SOH\ESC&\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\236\SOH)*\n\
+    \\163\SOH\n\
+    \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\240\SOH\STX5\SUB\148\SOH aggregation_temporality describes if the aggregator reports delta changes\n\
+    \ since last report time, or cumulative changes since a fixed start time.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\SOH\ACK\DC2\EOT\240\SOH\STX\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\240\SOH\EM0\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\240\SOH34\n\
+    \:\n\
+    \\EOT\EOT\ENQ\STX\STX\DC2\EOT\243\SOH\STX\CAN\SUB, If \"true\" means that the sum is monotonic.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\STX\ENQ\DC2\EOT\243\SOH\STX\ACK\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\EOT\243\SOH\a\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\EOT\243\SOH\SYN\ETB\n\
+    \\159\SOH\n\
+    \\STX\EOT\ACK\DC2\ACK\248\SOH\NUL\254\SOH\SOH\SUB\144\SOH Histogram represents the type of a metric that is calculated by aggregating\n\
+    \ as a Histogram of all reported measurements over a time interval.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\ACK\SOH\DC2\EOT\248\SOH\b\DC1\n\
+    \\f\n\
+    \\EOT\EOT\ACK\STX\NUL\DC2\EOT\249\SOH\STX.\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\NUL\EOT\DC2\EOT\249\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\NUL\ACK\DC2\EOT\249\SOH\v\GS\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\249\SOH\RS)\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\249\SOH,-\n\
+    \\163\SOH\n\
+    \\EOT\EOT\ACK\STX\SOH\DC2\EOT\253\SOH\STX5\SUB\148\SOH aggregation_temporality describes if the aggregator reports delta changes\n\
+    \ since last report time, or cumulative changes since a fixed start time.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\SOH\ACK\DC2\EOT\253\SOH\STX\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\253\SOH\EM0\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\253\SOH34\n\
+    \\188\SOH\n\
+    \\STX\EOT\a\DC2\ACK\130\STX\NUL\136\STX\SOH\SUB\173\SOH ExponentialHistogram represents the type of a metric that is calculated by aggregating\n\
+    \ as a ExponentialHistogram of all reported double measurements over a time interval.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\a\SOH\DC2\EOT\130\STX\b\FS\n\
+    \\f\n\
+    \\EOT\EOT\a\STX\NUL\DC2\EOT\131\STX\STX9\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\NUL\EOT\DC2\EOT\131\STX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\NUL\ACK\DC2\EOT\131\STX\v(\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\131\STX)4\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\131\STX78\n\
+    \\163\SOH\n\
+    \\EOT\EOT\a\STX\SOH\DC2\EOT\135\STX\STX5\SUB\148\SOH aggregation_temporality describes if the aggregator reports delta changes\n\
+    \ since last report time, or cumulative changes since a fixed start time.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\SOH\ACK\DC2\EOT\135\STX\STX\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\135\STX\EM0\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\135\STX34\n\
+    \\131\ENQ\n\
+    \\STX\EOT\b\DC2\ACK\147\STX\NUL\149\STX\SOH\SUB\244\EOT Summary metric data are used to convey quantile summaries,\n\
+    \ a Prometheus (see: https://prometheus.io/docs/concepts/metric_types/#summary)\n\
+    \ and OpenMetrics (see: https://github.com/prometheus/OpenMetrics/blob/4dbf6075567ab43296eed941037c12951faafb92/protos/prometheus.proto#L45)\n\
+    \ data type. These data points cannot always be merged in a meaningful way.\n\
+    \ While they can be useful in some applications, histogram data points are\n\
+    \ recommended for new applications.\n\
+    \ Summary metrics do not have an aggregation temporality field. This is\n\
+    \ because the count and sum fields of a SummaryDataPoint are assumed to be\n\
+    \ cumulative values.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\b\SOH\DC2\EOT\147\STX\b\SI\n\
+    \\f\n\
+    \\EOT\EOT\b\STX\NUL\DC2\EOT\148\STX\STX,\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\NUL\EOT\DC2\EOT\148\STX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\NUL\ACK\DC2\EOT\148\STX\v\ESC\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\148\STX\FS'\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\148\STX*+\n\
+    \\190\SOH\n\
+    \\STX\ENQ\NUL\DC2\ACK\154\STX\NUL\220\STX\SOH\SUB\175\SOH AggregationTemporality defines how a metric aggregator reports aggregated\n\
+    \ values. It describes how those values relate to the time interval over\n\
+    \ which they are aggregated.\n\
+    \\n\
+    \\v\n\
+    \\ETX\ENQ\NUL\SOH\DC2\EOT\154\STX\ENQ\ESC\n\
+    \W\n\
+    \\EOT\ENQ\NUL\STX\NUL\DC2\EOT\156\STX\STX*\SUBI UNSPECIFIED is the default AggregationTemporality, it MUST not be used.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\EOT\156\STX\STX%\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\EOT\156\STX()\n\
+    \\236\t\n\
+    \\EOT\ENQ\NUL\STX\SOH\DC2\EOT\182\STX\STX$\SUB\221\t DELTA is an AggregationTemporality for a metric aggregator which reports\n\
+    \ changes since last report time. Successive metrics contain aggregation of\n\
+    \ values from continuous and non-overlapping intervals.\n\
+    \\n\
+    \ The values for a DELTA metric are based only on the time interval\n\
+    \ associated with one measurement cycle. There is no dependency on\n\
+    \ previous measurements like is the case for CUMULATIVE metrics.\n\
+    \\n\
+    \ For example, consider a system measuring the number of requests that\n\
+    \ it receives and reports the sum of these requests every second as a\n\
+    \ DELTA metric:\n\
+    \\n\
+    \   1. The system starts receiving at time=t_0.\n\
+    \   2. A request is received, the system measures 1 request.\n\
+    \   3. A request is received, the system measures 1 request.\n\
+    \   4. A request is received, the system measures 1 request.\n\
+    \   5. The 1 second collection cycle ends. A metric is exported for the\n\
+    \      number of requests received over the interval of time t_0 to\n\
+    \      t_0+1 with a value of 3.\n\
+    \   6. A request is received, the system measures 1 request.\n\
+    \   7. A request is received, the system measures 1 request.\n\
+    \   8. The 1 second collection cycle ends. A metric is exported for the\n\
+    \      number of requests received over the interval of time t_0+1 to\n\
+    \      t_0+2 with a value of 2.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\SOH\SOH\DC2\EOT\182\STX\STX\US\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\SOH\STX\DC2\EOT\182\STX\"#\n\
+    \\147\SI\n\
+    \\EOT\ENQ\NUL\STX\STX\DC2\EOT\219\STX\STX)\SUB\132\SI CUMULATIVE is an AggregationTemporality for a metric aggregator which\n\
+    \ reports changes since a fixed start time. This means that current values\n\
+    \ of a CUMULATIVE metric depend on all previous measurements since the\n\
+    \ start time. Because of this, the sender is required to retain this state\n\
+    \ in some form. If this state is lost or invalidated, the CUMULATIVE metric\n\
+    \ values MUST be reset and a new fixed start time following the last\n\
+    \ reported measurement time sent MUST be used.\n\
+    \\n\
+    \ For example, consider a system measuring the number of requests that\n\
+    \ it receives and reports the sum of these requests every second as a\n\
+    \ CUMULATIVE metric:\n\
+    \\n\
+    \   1. The system starts receiving at time=t_0.\n\
+    \   2. A request is received, the system measures 1 request.\n\
+    \   3. A request is received, the system measures 1 request.\n\
+    \   4. A request is received, the system measures 1 request.\n\
+    \   5. The 1 second collection cycle ends. A metric is exported for the\n\
+    \      number of requests received over the interval of time t_0 to\n\
+    \      t_0+1 with a value of 3.\n\
+    \   6. A request is received, the system measures 1 request.\n\
+    \   7. A request is received, the system measures 1 request.\n\
+    \   8. The 1 second collection cycle ends. A metric is exported for the\n\
+    \      number of requests received over the interval of time t_0 to\n\
+    \      t_0+2 with a value of 5.\n\
+    \   9. The system experiences a fault and loses state.\n\
+    \   10. The system recovers and resumes receiving at time=t_1.\n\
+    \   11. A request is received, the system measures 1 request.\n\
+    \   12. The 1 second collection cycle ends. A metric is exported for the\n\
+    \      number of requests received over the interval of time t_1 to\n\
+    \      t_0+1 with a value of 1.\n\
+    \\n\
+    \ Note: Even though, when reporting changes since last report time, using\n\
+    \ CUMULATIVE is valid, it is not recommended. This may cause problems for\n\
+    \ systems that do not use start_time to determine when the aggregation\n\
+    \ value was reset (e.g. Prometheus).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\STX\SOH\DC2\EOT\219\STX\STX$\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\STX\STX\DC2\EOT\219\STX'(\n\
+    \\147\ETX\n\
+    \\STX\ENQ\SOH\DC2\ACK\229\STX\NUL\240\STX\SOH\SUB\132\ETX DataPointFlags is defined as a protobuf 'uint32' type and is to be used as a\n\
+    \ bit-field representing 32 distinct boolean flags.  Each flag defined in this\n\
+    \ enum is a bit-mask.  To test the presence of a single flag in the flags of\n\
+    \ a data point, for example, use an expression like:\n\
+    \\n\
+    \   (point.flags & DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK) == DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK\n\
+    \\n\
+    \\n\
+    \\v\n\
+    \\ETX\ENQ\SOH\SOH\DC2\EOT\229\STX\ENQ\DC3\n\
+    \\150\SOH\n\
+    \\EOT\ENQ\SOH\STX\NUL\DC2\EOT\232\STX\STX\"\SUB\135\SOH The zero value for the enum. Should not be used for comparisons.\n\
+    \ Instead use bitwise \"and\" with the appropriate mask as shown above.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\EOT\232\STX\STX\GS\n\
+    \\r\n\
+    \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\EOT\232\STX !\n\
+    \\203\SOH\n\
+    \\EOT\ENQ\SOH\STX\SOH\DC2\EOT\237\STX\STX.\SUB\188\SOH This DataPoint is valid but has no recorded value.  This value\n\
+    \ SHOULD be used to reflect explicitly missing data in a series, as\n\
+    \ for an equivalent to the Prometheus \"staleness marker\".\n\
+    \\n\
+    \\r\n\
+    \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\EOT\237\STX\STX)\n\
+    \\r\n\
+    \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\EOT\237\STX,-\n\
+    \\129\SOH\n\
+    \\STX\EOT\t\DC2\ACK\244\STX\NUL\152\ETX\SOH\SUBs NumberDataPoint is a single data point in a timeseries that describes the\n\
+    \ time-varying scalar value of a metric.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\t\SOH\DC2\EOT\244\STX\b\ETB\n\
+    \\v\n\
+    \\ETX\EOT\t\t\DC2\EOT\245\STX\STX\r\n\
+    \\f\n\
+    \\EOT\EOT\t\t\NUL\DC2\EOT\245\STX\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\t\t\NUL\SOH\DC2\EOT\245\STX\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\t\t\NUL\STX\DC2\EOT\245\STX\v\f\n\
+    \\136\STX\n\
+    \\EOT\EOT\t\STX\NUL\DC2\EOT\251\STX\STXA\SUB\249\SOH The set of key/value pairs that uniquely identify the timeseries from\n\
+    \ where this point belongs. The list may be empty (may contain 0 elements).\n\
+    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
+    \ attribute with the same key).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\251\STX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\NUL\ACK\DC2\EOT\251\STX\v1\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\251\STX2<\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\251\STX?@\n\
+    \\197\SOH\n\
+    \\EOT\EOT\t\STX\SOH\DC2\EOT\130\ETX\STX#\SUB\182\SOH StartTimeUnixNano is optional but strongly encouraged, see the\n\
+    \ the detailed comments above Metric.\n\
+    \\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
+    \ 1970.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\130\ETX\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\130\ETX\n\
+    \\RS\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\130\ETX!\"\n\
+    \\163\SOH\n\
+    \\EOT\EOT\t\STX\STX\DC2\EOT\136\ETX\STX\GS\SUB\148\SOH TimeUnixNano is required, see the detailed comments above Metric.\n\
+    \\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
+    \ 1970.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\136\ETX\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\136\ETX\n\
+    \\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\136\ETX\ESC\FS\n\
+    \\141\SOH\n\
+    \\EOT\EOT\t\b\NUL\DC2\ACK\140\ETX\STX\143\ETX\ETX\SUB} The value itself.  A point is considered invalid when one of the recognized\n\
+    \ value fields is not present inside this oneof.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\b\NUL\SOH\DC2\EOT\140\ETX\b\r\n\
+    \\f\n\
+    \\EOT\EOT\t\STX\ETX\DC2\EOT\141\ETX\EOT\EM\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\141\ETX\EOT\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\141\ETX\v\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\141\ETX\ETB\CAN\n\
+    \\f\n\
+    \\EOT\EOT\t\STX\EOT\DC2\EOT\142\ETX\EOT\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\EOT\ENQ\DC2\EOT\142\ETX\EOT\f\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\142\ETX\r\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\142\ETX\SYN\ETB\n\
+    \o\n\
+    \\EOT\EOT\t\STX\ENQ\DC2\EOT\147\ETX\STX\"\SUBa (Optional) List of exemplars collected from\n\
+    \ measurements that were used to form the data point\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ENQ\EOT\DC2\EOT\147\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ENQ\ACK\DC2\EOT\147\ETX\v\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\147\ETX\DC4\GS\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\147\ETX !\n\
+    \}\n\
+    \\EOT\EOT\t\STX\ACK\DC2\EOT\151\ETX\STX\DC3\SUBo Flags that apply to this specific data point.  See DataPointFlags\n\
+    \ for the available flags and their meaning.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ACK\ENQ\DC2\EOT\151\ETX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ACK\SOH\DC2\EOT\151\ETX\t\SO\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ACK\ETX\DC2\EOT\151\ETX\DC1\DC2\n\
+    \\196\EOT\n\
+    \\STX\EOT\n\
+    \\DC2\ACK\164\ETX\NUL\243\ETX\SOH\SUB\181\EOT HistogramDataPoint is a single data point in a timeseries that describes the\n\
+    \ time-varying values of a Histogram. A Histogram contains summary statistics\n\
+    \ for a population of values, it may optionally contain the distribution of\n\
+    \ those values across a set of buckets.\n\
+    \\n\
+    \ If the histogram contains the distribution of values, then both\n\
+    \ \"explicit_bounds\" and \"bucket counts\" fields must be defined.\n\
+    \ If the histogram does not contain the distribution of values, then both\n\
+    \ \"explicit_bounds\" and \"bucket_counts\" must be omitted and only \"count\" and\n\
+    \ \"sum\" are known.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\n\
+    \\SOH\DC2\EOT\164\ETX\b\SUB\n\
+    \\v\n\
+    \\ETX\EOT\n\
+    \\t\DC2\EOT\165\ETX\STX\r\n\
+    \\f\n\
+    \\EOT\EOT\n\
+    \\t\NUL\DC2\EOT\165\ETX\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\t\NUL\SOH\DC2\EOT\165\ETX\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\t\NUL\STX\DC2\EOT\165\ETX\v\f\n\
+    \\136\STX\n\
+    \\EOT\EOT\n\
+    \\STX\NUL\DC2\EOT\171\ETX\STXA\SUB\249\SOH The set of key/value pairs that uniquely identify the timeseries from\n\
+    \ where this point belongs. The list may be empty (may contain 0 elements).\n\
+    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
+    \ attribute with the same key).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\EOT\DC2\EOT\171\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\ACK\DC2\EOT\171\ETX\v1\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\SOH\DC2\EOT\171\ETX2<\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\ETX\DC2\EOT\171\ETX?@\n\
+    \\197\SOH\n\
+    \\EOT\EOT\n\
+    \\STX\SOH\DC2\EOT\178\ETX\STX#\SUB\182\SOH StartTimeUnixNano is optional but strongly encouraged, see the\n\
+    \ the detailed comments above Metric.\n\
+    \\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
+    \ 1970.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\SOH\ENQ\DC2\EOT\178\ETX\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\SOH\SOH\DC2\EOT\178\ETX\n\
+    \\RS\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\SOH\ETX\DC2\EOT\178\ETX!\"\n\
+    \\163\SOH\n\
+    \\EOT\EOT\n\
+    \\STX\STX\DC2\EOT\184\ETX\STX\GS\SUB\148\SOH TimeUnixNano is required, see the detailed comments above Metric.\n\
+    \\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
+    \ 1970.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\STX\ENQ\DC2\EOT\184\ETX\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\STX\SOH\DC2\EOT\184\ETX\n\
+    \\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\STX\ETX\DC2\EOT\184\ETX\ESC\FS\n\
+    \\186\SOH\n\
+    \\EOT\EOT\n\
+    \\STX\ETX\DC2\EOT\189\ETX\STX\DC4\SUB\171\SOH count is the number of values in the population. Must be non-negative. This\n\
+    \ value must be equal to the sum of the \"count\" fields in buckets if a\n\
+    \ histogram is provided.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ETX\ENQ\DC2\EOT\189\ETX\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ETX\SOH\DC2\EOT\189\ETX\n\
+    \\SI\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ETX\ETX\DC2\EOT\189\ETX\DC2\DC3\n\
+    \\240\ETX\n\
+    \\EOT\EOT\n\
+    \\STX\EOT\DC2\EOT\199\ETX\STX\SUB\SUB\225\ETX sum of the values in the population. If count is zero then this field\n\
+    \ must be zero.\n\
+    \\n\
+    \ Note: Sum should only be filled out when measuring non-negative discrete\n\
+    \ events, and is assumed to be monotonic over the values of these events.\n\
+    \ Negative events *can* be recorded, but sum should not be filled out when\n\
+    \ doing so.  This is specifically to enforce compatibility w/ OpenMetrics,\n\
+    \ see: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#histogram\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\EOT\EOT\DC2\EOT\199\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\EOT\ENQ\DC2\EOT\199\ETX\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\EOT\SOH\DC2\EOT\199\ETX\DC2\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\EOT\ETX\DC2\EOT\199\ETX\CAN\EM\n\
+    \\172\ETX\n\
+    \\EOT\EOT\n\
+    \\STX\ENQ\DC2\EOT\210\ETX\STX%\SUB\157\ETX bucket_counts is an optional field contains the count values of histogram\n\
+    \ for each bucket.\n\
+    \\n\
+    \ The sum of the bucket_counts must equal the value in the count field.\n\
+    \\n\
+    \ The number of elements in bucket_counts array must be by one greater than\n\
+    \ the number of elements in explicit_bounds array. The exception to this rule\n\
+    \ is when the length of bucket_counts is 0, then the length of explicit_bounds\n\
+    \ must also be 0.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ENQ\EOT\DC2\EOT\210\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ENQ\ENQ\DC2\EOT\210\ETX\v\DC2\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ENQ\SOH\DC2\EOT\210\ETX\DC3 \n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ENQ\ETX\DC2\EOT\210\ETX#$\n\
+    \\200\ENQ\n\
+    \\EOT\EOT\n\
+    \\STX\ACK\DC2\EOT\228\ETX\STX&\SUB\185\ENQ explicit_bounds specifies buckets with explicitly defined bounds for values.\n\
+    \\n\
+    \ The boundaries for bucket at index i are:\n\
+    \\n\
+    \ (-infinity, explicit_bounds[i]] for i == 0\n\
+    \ (explicit_bounds[i-1], explicit_bounds[i]] for 0 < i < size(explicit_bounds)\n\
+    \ (explicit_bounds[i-1], +infinity) for i == size(explicit_bounds)\n\
+    \\n\
+    \ The values in the explicit_bounds array must be strictly increasing.\n\
+    \\n\
+    \ Histogram buckets are inclusive of their upper boundary, except the last\n\
+    \ bucket where the boundary is at infinity. This format is intentionally\n\
+    \ compatible with the OpenMetrics histogram definition.\n\
+    \\n\
+    \ If bucket_counts length is 0 then explicit_bounds length must also be 0,\n\
+    \ otherwise the data point is invalid.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ACK\EOT\DC2\EOT\228\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ACK\ENQ\DC2\EOT\228\ETX\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ACK\SOH\DC2\EOT\228\ETX\DC2!\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ACK\ETX\DC2\EOT\228\ETX$%\n\
+    \o\n\
+    \\EOT\EOT\n\
+    \\STX\a\DC2\EOT\232\ETX\STX\"\SUBa (Optional) List of exemplars collected from\n\
+    \ measurements that were used to form the data point\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\a\EOT\DC2\EOT\232\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\a\ACK\DC2\EOT\232\ETX\v\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\a\SOH\DC2\EOT\232\ETX\DC4\GS\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\a\ETX\DC2\EOT\232\ETX !\n\
+    \}\n\
+    \\EOT\EOT\n\
+    \\STX\b\DC2\EOT\236\ETX\STX\DC4\SUBo Flags that apply to this specific data point.  See DataPointFlags\n\
+    \ for the available flags and their meaning.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\b\ENQ\DC2\EOT\236\ETX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\b\SOH\DC2\EOT\236\ETX\t\SO\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\b\ETX\DC2\EOT\236\ETX\DC1\DC3\n\
+    \E\n\
+    \\EOT\EOT\n\
+    \\STX\t\DC2\EOT\239\ETX\STX\ESC\SUB7 min is the minimum value over (start_time, end_time].\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\t\EOT\DC2\EOT\239\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\t\ENQ\DC2\EOT\239\ETX\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\t\SOH\DC2\EOT\239\ETX\DC2\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\t\ETX\DC2\EOT\239\ETX\CAN\SUB\n\
+    \E\n\
+    \\EOT\EOT\n\
+    \\STX\n\
+    \\DC2\EOT\242\ETX\STX\ESC\SUB7 max is the maximum value over (start_time, end_time].\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\n\
+    \\EOT\DC2\EOT\242\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\n\
+    \\ENQ\DC2\EOT\242\ETX\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\n\
+    \\SOH\DC2\EOT\242\ETX\DC2\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\n\
+    \\ETX\DC2\EOT\242\ETX\CAN\SUB\n\
+    \\207\STX\n\
+    \\STX\EOT\v\DC2\ACK\250\ETX\NUL\231\EOT\SOH\SUB\192\STX ExponentialHistogramDataPoint is a single data point in a timeseries that describes the\n\
+    \ time-varying values of a ExponentialHistogram of double values. A ExponentialHistogram contains\n\
+    \ summary statistics for a population of values, it may optionally contain the\n\
+    \ distribution of those values across a set of buckets.\n\
+    \\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\v\SOH\DC2\EOT\250\ETX\b%\n\
+    \\136\STX\n\
+    \\EOT\EOT\v\STX\NUL\DC2\EOT\255\ETX\STXA\SUB\249\SOH The set of key/value pairs that uniquely identify the timeseries from\n\
+    \ where this point belongs. The list may be empty (may contain 0 elements).\n\
+    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
+    \ attribute with the same key).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\NUL\EOT\DC2\EOT\255\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\NUL\ACK\DC2\EOT\255\ETX\v1\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\NUL\SOH\DC2\EOT\255\ETX2<\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\NUL\ETX\DC2\EOT\255\ETX?@\n\
+    \\197\SOH\n\
+    \\EOT\EOT\v\STX\SOH\DC2\EOT\134\EOT\STX#\SUB\182\SOH StartTimeUnixNano is optional but strongly encouraged, see the\n\
+    \ the detailed comments above Metric.\n\
+    \\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
+    \ 1970.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\SOH\ENQ\DC2\EOT\134\EOT\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\SOH\SOH\DC2\EOT\134\EOT\n\
+    \\RS\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\SOH\ETX\DC2\EOT\134\EOT!\"\n\
+    \\163\SOH\n\
+    \\EOT\EOT\v\STX\STX\DC2\EOT\140\EOT\STX\GS\SUB\148\SOH TimeUnixNano is required, see the detailed comments above Metric.\n\
+    \\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
+    \ 1970.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\STX\ENQ\DC2\EOT\140\EOT\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\STX\SOH\DC2\EOT\140\EOT\n\
+    \\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\STX\ETX\DC2\EOT\140\EOT\ESC\FS\n\
+    \\221\SOH\n\
+    \\EOT\EOT\v\STX\ETX\DC2\EOT\145\EOT\STX\DC4\SUB\206\SOH count is the number of values in the population. Must be\n\
+    \ non-negative. This value must be equal to the sum of the \"bucket_counts\"\n\
+    \ values in the positive and negative Buckets plus the \"zero_count\" field.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\ETX\ENQ\DC2\EOT\145\EOT\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\ETX\SOH\DC2\EOT\145\EOT\n\
+    \\SI\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\ETX\ETX\DC2\EOT\145\EOT\DC2\DC3\n\
+    \\240\ETX\n\
+    \\EOT\EOT\v\STX\EOT\DC2\EOT\155\EOT\STX\SUB\SUB\225\ETX sum of the values in the population. If count is zero then this field\n\
+    \ must be zero.\n\
+    \\n\
+    \ Note: Sum should only be filled out when measuring non-negative discrete\n\
+    \ events, and is assumed to be monotonic over the values of these events.\n\
+    \ Negative events *can* be recorded, but sum should not be filled out when\n\
+    \ doing so.  This is specifically to enforce compatibility w/ OpenMetrics,\n\
+    \ see: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#histogram\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\EOT\EOT\DC2\EOT\155\EOT\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\EOT\ENQ\DC2\EOT\155\EOT\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\EOT\SOH\DC2\EOT\155\EOT\DC2\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\EOT\ETX\DC2\EOT\155\EOT\CAN\EM\n\
+    \\226\EOT\n\
+    \\EOT\EOT\v\STX\ENQ\DC2\EOT\172\EOT\STX\DC3\SUB\211\EOT scale describes the resolution of the histogram.  Boundaries are\n\
+    \ located at powers of the base, where:\n\
+    \\n\
+    \   base = (2^(2^-scale))\n\
+    \\n\
+    \ The histogram bucket identified by `index`, a signed integer,\n\
+    \ contains values that are greater than (base^index) and\n\
+    \ less than or equal to (base^(index+1)).\n\
+    \\n\
+    \ The positive and negative ranges of the histogram are expressed\n\
+    \ separately.  Negative values are mapped by their absolute value\n\
+    \ into the negative range using the same scale as the positive range.\n\
+    \\n\
+    \ scale is not restricted by the protocol, as the permissible\n\
+    \ values depend on the range of the data.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\ENQ\ENQ\DC2\EOT\172\EOT\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\ENQ\SOH\DC2\EOT\172\EOT\t\SO\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\ENQ\ETX\DC2\EOT\172\EOT\DC1\DC2\n\
+    \\170\ETX\n\
+    \\EOT\EOT\v\STX\ACK\DC2\EOT\182\EOT\STX\EM\SUB\155\ETX zero_count is the count of values that are either exactly zero or\n\
+    \ within the region considered zero by the instrumentation at the\n\
+    \ tolerated degree of precision.  This bucket stores values that\n\
+    \ cannot be expressed using the standard exponential formula as\n\
+    \ well as values that have been rounded to zero.\n\
+    \\n\
+    \ Implementations MAY consider the zero bucket to have probability\n\
+    \ mass equal to (zero_count / count).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\ACK\ENQ\DC2\EOT\182\EOT\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\ACK\SOH\DC2\EOT\182\EOT\n\
+    \\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\ACK\ETX\DC2\EOT\182\EOT\ETB\CAN\n\
+    \Q\n\
+    \\EOT\EOT\v\STX\a\DC2\EOT\185\EOT\STX\ETB\SUBC positive carries the positive range of exponential bucket counts.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\a\ACK\DC2\EOT\185\EOT\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\a\SOH\DC2\EOT\185\EOT\n\
+    \\DC2\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\a\ETX\DC2\EOT\185\EOT\NAK\SYN\n\
+    \Q\n\
+    \\EOT\EOT\v\STX\b\DC2\EOT\188\EOT\STX\ETB\SUBC negative carries the negative range of exponential bucket counts.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\b\ACK\DC2\EOT\188\EOT\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\b\SOH\DC2\EOT\188\EOT\n\
+    \\DC2\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\b\ETX\DC2\EOT\188\EOT\NAK\SYN\n\
+    \_\n\
+    \\EOT\EOT\v\ETX\NUL\DC2\ACK\192\EOT\STX\208\EOT\ETX\SUBO Buckets are a set of bucket counts, encoded in a contiguous array\n\
+    \ of counts.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\ETX\NUL\SOH\DC2\EOT\192\EOT\n\
+    \\DC1\n\
+    \\161\SOH\n\
+    \\ACK\EOT\v\ETX\NUL\STX\NUL\DC2\EOT\196\EOT\EOT\SYN\SUB\144\SOH Offset is the bucket index of the first entry in the bucket_counts array.\n\
+    \\n\
+    \ Note: This uses a varint encoding as a simple form of compression.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\v\ETX\NUL\STX\NUL\ENQ\DC2\EOT\196\EOT\EOT\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\v\ETX\NUL\STX\NUL\SOH\DC2\EOT\196\EOT\v\DC1\n\
+    \\SI\n\
+    \\a\EOT\v\ETX\NUL\STX\NUL\ETX\DC2\EOT\196\EOT\DC4\NAK\n\
+    \\187\ETX\n\
+    \\ACK\EOT\v\ETX\NUL\STX\SOH\DC2\EOT\207\EOT\EOT&\SUB\170\ETX bucket_counts is an array of count values, where bucket_counts[i] carries\n\
+    \ the count of the bucket at index (offset+i). bucket_counts[i] is the count\n\
+    \ of values greater than base^(offset+i) and less than or equal to\n\
+    \ base^(offset+i+1).\n\
+    \\n\
+    \ Note: By contrast, the explicit HistogramDataPoint uses\n\
+    \ fixed64.  This field is expected to have many buckets,\n\
+    \ especially zeros, so uint64 has been selected to ensure\n\
+    \ varint encoding.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\v\ETX\NUL\STX\SOH\EOT\DC2\EOT\207\EOT\EOT\f\n\
+    \\SI\n\
+    \\a\EOT\v\ETX\NUL\STX\SOH\ENQ\DC2\EOT\207\EOT\r\DC3\n\
+    \\SI\n\
+    \\a\EOT\v\ETX\NUL\STX\SOH\SOH\DC2\EOT\207\EOT\DC4!\n\
+    \\SI\n\
+    \\a\EOT\v\ETX\NUL\STX\SOH\ETX\DC2\EOT\207\EOT$%\n\
+    \}\n\
+    \\EOT\EOT\v\STX\t\DC2\EOT\212\EOT\STX\DC4\SUBo Flags that apply to this specific data point.  See DataPointFlags\n\
+    \ for the available flags and their meaning.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\t\ENQ\DC2\EOT\212\EOT\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\t\SOH\DC2\EOT\212\EOT\t\SO\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\t\ETX\DC2\EOT\212\EOT\DC1\DC3\n\
+    \o\n\
+    \\EOT\EOT\v\STX\n\
+    \\DC2\EOT\216\EOT\STX#\SUBa (Optional) List of exemplars collected from\n\
+    \ measurements that were used to form the data point\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\n\
+    \\EOT\DC2\EOT\216\EOT\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\n\
+    \\ACK\DC2\EOT\216\EOT\v\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\n\
+    \\SOH\DC2\EOT\216\EOT\DC4\GS\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\n\
+    \\ETX\DC2\EOT\216\EOT \"\n\
+    \E\n\
+    \\EOT\EOT\v\STX\v\DC2\EOT\219\EOT\STX\ESC\SUB7 min is the minimum value over (start_time, end_time].\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\v\EOT\DC2\EOT\219\EOT\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\v\ENQ\DC2\EOT\219\EOT\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\v\SOH\DC2\EOT\219\EOT\DC2\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\v\ETX\DC2\EOT\219\EOT\CAN\SUB\n\
+    \E\n\
+    \\EOT\EOT\v\STX\f\DC2\EOT\222\EOT\STX\ESC\SUB7 max is the maximum value over (start_time, end_time].\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\f\EOT\DC2\EOT\222\EOT\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\f\ENQ\DC2\EOT\222\EOT\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\f\SOH\DC2\EOT\222\EOT\DC2\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\f\ETX\DC2\EOT\222\EOT\CAN\SUB\n\
+    \\229\STX\n\
+    \\EOT\EOT\v\STX\r\DC2\EOT\230\EOT\STX\GS\SUB\214\STX ZeroThreshold may be optionally set to convey the width of the zero\n\
+    \ region. Where the zero region is defined as the closed interval\n\
+    \ [-ZeroThreshold, ZeroThreshold].\n\
+    \ When ZeroThreshold is 0, zero count bucket stores values that cannot be\n\
+    \ expressed using the standard exponential formula as well as values that\n\
+    \ have been rounded to zero.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\r\ENQ\DC2\EOT\230\EOT\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\r\SOH\DC2\EOT\230\EOT\t\ETB\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\r\ETX\DC2\EOT\230\EOT\SUB\FS\n\
+    \\188\SOH\n\
+    \\STX\EOT\f\DC2\ACK\236\EOT\NUL\169\ENQ\SOH\SUB\173\SOH SummaryDataPoint is a single data point in a timeseries that describes the\n\
+    \ time-varying values of a Summary metric. The count and sum fields represent\n\
+    \ cumulative values.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\f\SOH\DC2\EOT\236\EOT\b\CAN\n\
+    \\v\n\
+    \\ETX\EOT\f\t\DC2\EOT\237\EOT\STX\r\n\
+    \\f\n\
+    \\EOT\EOT\f\t\NUL\DC2\EOT\237\EOT\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\f\t\NUL\SOH\DC2\EOT\237\EOT\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\f\t\NUL\STX\DC2\EOT\237\EOT\v\f\n\
+    \\136\STX\n\
+    \\EOT\EOT\f\STX\NUL\DC2\EOT\243\EOT\STXA\SUB\249\SOH The set of key/value pairs that uniquely identify the timeseries from\n\
+    \ where this point belongs. The list may be empty (may contain 0 elements).\n\
+    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
+    \ attribute with the same key).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\NUL\EOT\DC2\EOT\243\EOT\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\NUL\ACK\DC2\EOT\243\EOT\v1\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\NUL\SOH\DC2\EOT\243\EOT2<\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\NUL\ETX\DC2\EOT\243\EOT?@\n\
+    \\197\SOH\n\
+    \\EOT\EOT\f\STX\SOH\DC2\EOT\250\EOT\STX#\SUB\182\SOH StartTimeUnixNano is optional but strongly encouraged, see the\n\
+    \ the detailed comments above Metric.\n\
+    \\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
+    \ 1970.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\SOH\ENQ\DC2\EOT\250\EOT\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\SOH\SOH\DC2\EOT\250\EOT\n\
+    \\RS\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\SOH\ETX\DC2\EOT\250\EOT!\"\n\
+    \\163\SOH\n\
+    \\EOT\EOT\f\STX\STX\DC2\EOT\128\ENQ\STX\GS\SUB\148\SOH TimeUnixNano is required, see the detailed comments above Metric.\n\
+    \\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
+    \ 1970.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\STX\ENQ\DC2\EOT\128\ENQ\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\STX\SOH\DC2\EOT\128\ENQ\n\
+    \\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\STX\ETX\DC2\EOT\128\ENQ\ESC\FS\n\
+    \V\n\
+    \\EOT\EOT\f\STX\ETX\DC2\EOT\131\ENQ\STX\DC4\SUBH count is the number of values in the population. Must be non-negative.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ETX\ENQ\DC2\EOT\131\ENQ\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ETX\SOH\DC2\EOT\131\ENQ\n\
+    \\SI\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ETX\ETX\DC2\EOT\131\ENQ\DC2\DC3\n\
+    \\238\ETX\n\
+    \\EOT\EOT\f\STX\EOT\DC2\EOT\141\ENQ\STX\DC1\SUB\223\ETX sum of the values in the population. If count is zero then this field\n\
+    \ must be zero.\n\
+    \\n\
+    \ Note: Sum should only be filled out when measuring non-negative discrete\n\
+    \ events, and is assumed to be monotonic over the values of these events.\n\
+    \ Negative events *can* be recorded, but sum should not be filled out when\n\
+    \ doing so.  This is specifically to enforce compatibility w/ OpenMetrics,\n\
+    \ see: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#summary\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\EOT\ENQ\DC2\EOT\141\ENQ\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\EOT\SOH\DC2\EOT\141\ENQ\t\f\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\EOT\ETX\DC2\EOT\141\ENQ\SI\DLE\n\
+    \\253\STX\n\
+    \\EOT\EOT\f\ETX\NUL\DC2\ACK\151\ENQ\STX\160\ENQ\ETX\SUB\236\STX Represents the value at a given quantile of a distribution.\n\
+    \\n\
+    \ To record Min and Max values following conventions are used:\n\
+    \ - The 1.0 quantile is equivalent to the maximum value observed.\n\
+    \ - The 0.0 quantile is equivalent to the minimum value observed.\n\
+    \\n\
+    \ See the following issue for more context:\n\
+    \ https://github.com/open-telemetry/opentelemetry-proto/issues/125\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\ETX\NUL\SOH\DC2\EOT\151\ENQ\n\
+    \\EM\n\
+    \V\n\
+    \\ACK\EOT\f\ETX\NUL\STX\NUL\DC2\EOT\154\ENQ\EOT\CAN\SUBF The quantile of a distribution. Must be in the interval\n\
+    \ [0.0, 1.0].\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\f\ETX\NUL\STX\NUL\ENQ\DC2\EOT\154\ENQ\EOT\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\f\ETX\NUL\STX\NUL\SOH\DC2\EOT\154\ENQ\v\DC3\n\
+    \\SI\n\
+    \\a\EOT\f\ETX\NUL\STX\NUL\ETX\DC2\EOT\154\ENQ\SYN\ETB\n\
+    \l\n\
+    \\ACK\EOT\f\ETX\NUL\STX\SOH\DC2\EOT\159\ENQ\EOT\NAK\SUB\\ The value at the given quantile of a distribution.\n\
+    \\n\
+    \ Quantile values must NOT be negative.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\f\ETX\NUL\STX\SOH\ENQ\DC2\EOT\159\ENQ\EOT\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\f\ETX\NUL\STX\SOH\SOH\DC2\EOT\159\ENQ\v\DLE\n\
+    \\SI\n\
+    \\a\EOT\f\ETX\NUL\STX\SOH\ETX\DC2\EOT\159\ENQ\DC3\DC4\n\
+    \\167\SOH\n\
+    \\EOT\EOT\f\STX\ENQ\DC2\EOT\164\ENQ\STX/\SUB\152\SOH (Optional) list of values at different quantiles of the distribution calculated\n\
+    \ from the current snapshot. The quantiles must be strictly increasing.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ENQ\EOT\DC2\EOT\164\ENQ\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ENQ\ACK\DC2\EOT\164\ENQ\v\SUB\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ENQ\SOH\DC2\EOT\164\ENQ\ESC*\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ENQ\ETX\DC2\EOT\164\ENQ-.\n\
+    \}\n\
+    \\EOT\EOT\f\STX\ACK\DC2\EOT\168\ENQ\STX\DC3\SUBo Flags that apply to this specific data point.  See DataPointFlags\n\
+    \ for the available flags and their meaning.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ACK\ENQ\DC2\EOT\168\ENQ\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ACK\SOH\DC2\EOT\168\ENQ\t\SO\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ACK\ETX\DC2\EOT\168\ENQ\DC1\DC2\n\
+    \\135\STX\n\
+    \\STX\EOT\r\DC2\ACK\175\ENQ\NUL\206\ENQ\SOH\SUB\248\SOH A representation of an exemplar, which is a sample input measurement.\n\
+    \ Exemplars also hold information about the environment when the measurement\n\
+    \ was recorded, for example the span and trace ID of the active span when the\n\
+    \ exemplar was recorded.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\r\SOH\DC2\EOT\175\ENQ\b\DLE\n\
+    \\v\n\
+    \\ETX\EOT\r\t\DC2\EOT\176\ENQ\STX\r\n\
+    \\f\n\
+    \\EOT\EOT\r\t\NUL\DC2\EOT\176\ENQ\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\r\t\NUL\SOH\DC2\EOT\176\ENQ\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\r\t\NUL\STX\DC2\EOT\176\ENQ\v\f\n\
+    \\217\SOH\n\
+    \\EOT\EOT\r\STX\NUL\DC2\EOT\181\ENQ\STXJ\SUB\202\SOH The set of key/value pairs that were filtered out by the aggregator, but\n\
+    \ recorded alongside the original measurement. Only key/value pairs that were\n\
+    \ filtered out by the aggregator should be included\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\NUL\EOT\DC2\EOT\181\ENQ\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\NUL\ACK\DC2\EOT\181\ENQ\v1\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\NUL\SOH\DC2\EOT\181\ENQ2E\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\NUL\ETX\DC2\EOT\181\ENQHI\n\
+    \\162\SOH\n\
+    \\EOT\EOT\r\STX\SOH\DC2\EOT\187\ENQ\STX\GS\SUB\147\SOH time_unix_nano is the exact time when this exemplar was recorded\n\
+    \\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January\n\
+    \ 1970.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\SOH\ENQ\DC2\EOT\187\ENQ\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\SOH\SOH\DC2\EOT\187\ENQ\n\
+    \\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\SOH\ETX\DC2\EOT\187\ENQ\ESC\FS\n\
+    \\176\SOH\n\
+    \\EOT\EOT\r\b\NUL\DC2\ACK\192\ENQ\STX\195\ENQ\ETX\SUB\159\SOH The value of the measurement that was recorded. An exemplar is\n\
+    \ considered invalid when one of the recognized value fields is not present\n\
+    \ inside this oneof.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\r\b\NUL\SOH\DC2\EOT\192\ENQ\b\r\n\
+    \\f\n\
+    \\EOT\EOT\r\STX\STX\DC2\EOT\193\ENQ\EOT\EM\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\STX\ENQ\DC2\EOT\193\ENQ\EOT\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\STX\SOH\DC2\EOT\193\ENQ\v\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\STX\ETX\DC2\EOT\193\ENQ\ETB\CAN\n\
+    \\f\n\
+    \\EOT\EOT\r\STX\ETX\DC2\EOT\194\ENQ\EOT\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\ETX\ENQ\DC2\EOT\194\ENQ\EOT\f\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\ETX\SOH\DC2\EOT\194\ENQ\r\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\ETX\ETX\DC2\EOT\194\ENQ\SYN\ETB\n\
+    \\165\SOH\n\
+    \\EOT\EOT\r\STX\EOT\DC2\EOT\200\ENQ\STX\DC4\SUB\150\SOH (Optional) Span ID of the exemplar trace.\n\
+    \ span_id may be missing if the measurement is not recorded inside a trace\n\
+    \ or if the trace is not sampled.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\EOT\ENQ\DC2\EOT\200\ENQ\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\EOT\SOH\DC2\EOT\200\ENQ\b\SI\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\EOT\ETX\DC2\EOT\200\ENQ\DC2\DC3\n\
+    \\167\SOH\n\
+    \\EOT\EOT\r\STX\ENQ\DC2\EOT\205\ENQ\STX\NAK\SUB\152\SOH (Optional) Trace ID of the exemplar trace.\n\
+    \ trace_id may be missing if the measurement is not recorded inside a trace\n\
+    \ or if the trace is not sampled.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\ENQ\ENQ\DC2\EOT\205\ENQ\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\ENQ\SOH\DC2\EOT\205\ENQ\b\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\r\STX\ENQ\ETX\DC2\EOT\205\ENQ\DC3\DC4b\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Metrics/V1/Metrics_Fields.hs b/src/Proto/Opentelemetry/Proto/Metrics/V1/Metrics_Fields.hs
--- a/src/Proto/Opentelemetry/Proto/Metrics/V1/Metrics_Fields.hs
+++ b/src/Proto/Opentelemetry/Proto/Metrics/V1/Metrics_Fields.hs
@@ -221,6 +221,12 @@
    Data.ProtoLens.Field.HasField s "maybe'value" a) =>
   Lens.Family2.LensLike' f s a
 maybe'value = Data.ProtoLens.Field.field @"maybe'value"
+metadata ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "metadata" a) =>
+  Lens.Family2.LensLike' f s a
+metadata = Data.ProtoLens.Field.field @"metadata"
 metrics ::
   forall f s a.
   (Prelude.Functor f, Data.ProtoLens.Field.HasField s "metrics" a) =>
@@ -379,6 +385,12 @@
   Lens.Family2.LensLike' f s a
 vec'filteredAttributes
   = Data.ProtoLens.Field.field @"vec'filteredAttributes"
+vec'metadata ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'metadata" a) =>
+  Lens.Family2.LensLike' f s a
+vec'metadata = Data.ProtoLens.Field.field @"vec'metadata"
 vec'metrics ::
   forall f s a.
   (Prelude.Functor f,
diff --git a/src/Proto/Opentelemetry/Proto/Profiles/V1development/Profiles.hs b/src/Proto/Opentelemetry/Proto/Profiles/V1development/Profiles.hs
new file mode 100644
--- /dev/null
+++ b/src/Proto/Opentelemetry/Proto/Profiles/V1development/Profiles.hs
@@ -0,0 +1,5813 @@
+{- HLINT ignore -}
+{- This file was auto-generated from opentelemetry/proto/profiles/v1development/profiles.proto by the proto-lens-protoc program. -}
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.Opentelemetry.Proto.Profiles.V1development.Profiles (
+        AggregationTemporality(..), AggregationTemporality(),
+        AggregationTemporality'UnrecognizedValue, AttributeUnit(),
+        Function(), Line(), Link(), Location(), Mapping(), Profile(),
+        ProfilesData(), ProfilesDictionary(), ResourceProfiles(), Sample(),
+        ScopeProfiles(), ValueType()
+    ) where
+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
+import qualified Data.ProtoLens.Runtime.Prelude as Prelude
+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
+import qualified Proto.Opentelemetry.Proto.Common.V1.Common
+import qualified Proto.Opentelemetry.Proto.Resource.V1.Resource
+newtype AggregationTemporality'UnrecognizedValue
+  = AggregationTemporality'UnrecognizedValue Data.Int.Int32
+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
+data AggregationTemporality
+  = AGGREGATION_TEMPORALITY_UNSPECIFIED |
+    AGGREGATION_TEMPORALITY_DELTA |
+    AGGREGATION_TEMPORALITY_CUMULATIVE |
+    AggregationTemporality'Unrecognized !AggregationTemporality'UnrecognizedValue
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum AggregationTemporality where
+  maybeToEnum 0 = Prelude.Just AGGREGATION_TEMPORALITY_UNSPECIFIED
+  maybeToEnum 1 = Prelude.Just AGGREGATION_TEMPORALITY_DELTA
+  maybeToEnum 2 = Prelude.Just AGGREGATION_TEMPORALITY_CUMULATIVE
+  maybeToEnum k
+    = Prelude.Just
+        (AggregationTemporality'Unrecognized
+           (AggregationTemporality'UnrecognizedValue
+              (Prelude.fromIntegral k)))
+  showEnum AGGREGATION_TEMPORALITY_UNSPECIFIED
+    = "AGGREGATION_TEMPORALITY_UNSPECIFIED"
+  showEnum AGGREGATION_TEMPORALITY_DELTA
+    = "AGGREGATION_TEMPORALITY_DELTA"
+  showEnum AGGREGATION_TEMPORALITY_CUMULATIVE
+    = "AGGREGATION_TEMPORALITY_CUMULATIVE"
+  showEnum
+    (AggregationTemporality'Unrecognized (AggregationTemporality'UnrecognizedValue k))
+    = Prelude.show k
+  readEnum k
+    | (Prelude.==) k "AGGREGATION_TEMPORALITY_UNSPECIFIED"
+    = Prelude.Just AGGREGATION_TEMPORALITY_UNSPECIFIED
+    | (Prelude.==) k "AGGREGATION_TEMPORALITY_DELTA"
+    = Prelude.Just AGGREGATION_TEMPORALITY_DELTA
+    | (Prelude.==) k "AGGREGATION_TEMPORALITY_CUMULATIVE"
+    = Prelude.Just AGGREGATION_TEMPORALITY_CUMULATIVE
+    | Prelude.otherwise
+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded AggregationTemporality where
+  minBound = AGGREGATION_TEMPORALITY_UNSPECIFIED
+  maxBound = AGGREGATION_TEMPORALITY_CUMULATIVE
+instance Prelude.Enum AggregationTemporality where
+  toEnum k__
+    = Prelude.maybe
+        (Prelude.error
+           ((Prelude.++)
+              "toEnum: unknown value for enum AggregationTemporality: "
+              (Prelude.show k__)))
+        Prelude.id (Data.ProtoLens.maybeToEnum k__)
+  fromEnum AGGREGATION_TEMPORALITY_UNSPECIFIED = 0
+  fromEnum AGGREGATION_TEMPORALITY_DELTA = 1
+  fromEnum AGGREGATION_TEMPORALITY_CUMULATIVE = 2
+  fromEnum
+    (AggregationTemporality'Unrecognized (AggregationTemporality'UnrecognizedValue k))
+    = Prelude.fromIntegral k
+  succ AGGREGATION_TEMPORALITY_CUMULATIVE
+    = Prelude.error
+        "AggregationTemporality.succ: bad argument AGGREGATION_TEMPORALITY_CUMULATIVE. This value would be out of bounds."
+  succ AGGREGATION_TEMPORALITY_UNSPECIFIED
+    = AGGREGATION_TEMPORALITY_DELTA
+  succ AGGREGATION_TEMPORALITY_DELTA
+    = AGGREGATION_TEMPORALITY_CUMULATIVE
+  succ (AggregationTemporality'Unrecognized _)
+    = Prelude.error
+        "AggregationTemporality.succ: bad argument: unrecognized value"
+  pred AGGREGATION_TEMPORALITY_UNSPECIFIED
+    = Prelude.error
+        "AggregationTemporality.pred: bad argument AGGREGATION_TEMPORALITY_UNSPECIFIED. This value would be out of bounds."
+  pred AGGREGATION_TEMPORALITY_DELTA
+    = AGGREGATION_TEMPORALITY_UNSPECIFIED
+  pred AGGREGATION_TEMPORALITY_CUMULATIVE
+    = AGGREGATION_TEMPORALITY_DELTA
+  pred (AggregationTemporality'Unrecognized _)
+    = Prelude.error
+        "AggregationTemporality.pred: bad argument: unrecognized value"
+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault AggregationTemporality where
+  fieldDefault = AGGREGATION_TEMPORALITY_UNSPECIFIED
+instance Control.DeepSeq.NFData AggregationTemporality where
+  rnf x__ = Prelude.seq x__ ()
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.attributeKeyStrindex' @:: Lens' AttributeUnit Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.unitStrindex' @:: Lens' AttributeUnit Data.Int.Int32@ -}
+data AttributeUnit
+  = AttributeUnit'_constructor {_AttributeUnit'attributeKeyStrindex :: !Data.Int.Int32,
+                                _AttributeUnit'unitStrindex :: !Data.Int.Int32,
+                                _AttributeUnit'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show AttributeUnit where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField AttributeUnit "attributeKeyStrindex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _AttributeUnit'attributeKeyStrindex
+           (\ x__ y__ -> x__ {_AttributeUnit'attributeKeyStrindex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField AttributeUnit "unitStrindex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _AttributeUnit'unitStrindex
+           (\ x__ y__ -> x__ {_AttributeUnit'unitStrindex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message AttributeUnit where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.AttributeUnit"
+  packedMessageDescriptor _
+    = "\n\
+      \\rAttributeUnit\DC24\n\
+      \\SYNattribute_key_strindex\CAN\SOH \SOH(\ENQR\DC4attributeKeyStrindex\DC2#\n\
+      \\runit_strindex\CAN\STX \SOH(\ENQR\funitStrindex"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        attributeKeyStrindex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attribute_key_strindex"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"attributeKeyStrindex")) ::
+              Data.ProtoLens.FieldDescriptor AttributeUnit
+        unitStrindex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "unit_strindex"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"unitStrindex")) ::
+              Data.ProtoLens.FieldDescriptor AttributeUnit
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, attributeKeyStrindex__field_descriptor),
+           (Data.ProtoLens.Tag 2, unitStrindex__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _AttributeUnit'_unknownFields
+        (\ x__ y__ -> x__ {_AttributeUnit'_unknownFields = y__})
+  defMessage
+    = AttributeUnit'_constructor
+        {_AttributeUnit'attributeKeyStrindex = Data.ProtoLens.fieldDefault,
+         _AttributeUnit'unitStrindex = Data.ProtoLens.fieldDefault,
+         _AttributeUnit'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          AttributeUnit -> Data.ProtoLens.Encoding.Bytes.Parser AttributeUnit
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "attribute_key_strindex"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"attributeKeyStrindex") y x)
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "unit_strindex"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"unitStrindex") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "AttributeUnit"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"attributeKeyStrindex") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      ((Prelude..)
+                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view (Data.ProtoLens.Field.field @"unitStrindex") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         ((Prelude..)
+                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData AttributeUnit where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_AttributeUnit'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_AttributeUnit'attributeKeyStrindex x__)
+                (Control.DeepSeq.deepseq (_AttributeUnit'unitStrindex x__) ()))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.nameStrindex' @:: Lens' Function Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.systemNameStrindex' @:: Lens' Function Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.filenameStrindex' @:: Lens' Function Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.startLine' @:: Lens' Function Data.Int.Int64@ -}
+data Function
+  = Function'_constructor {_Function'nameStrindex :: !Data.Int.Int32,
+                           _Function'systemNameStrindex :: !Data.Int.Int32,
+                           _Function'filenameStrindex :: !Data.Int.Int32,
+                           _Function'startLine :: !Data.Int.Int64,
+                           _Function'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Function where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Function "nameStrindex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Function'nameStrindex
+           (\ x__ y__ -> x__ {_Function'nameStrindex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Function "systemNameStrindex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Function'systemNameStrindex
+           (\ x__ y__ -> x__ {_Function'systemNameStrindex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Function "filenameStrindex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Function'filenameStrindex
+           (\ x__ y__ -> x__ {_Function'filenameStrindex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Function "startLine" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Function'startLine (\ x__ y__ -> x__ {_Function'startLine = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Function where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.Function"
+  packedMessageDescriptor _
+    = "\n\
+      \\bFunction\DC2#\n\
+      \\rname_strindex\CAN\SOH \SOH(\ENQR\fnameStrindex\DC20\n\
+      \\DC4system_name_strindex\CAN\STX \SOH(\ENQR\DC2systemNameStrindex\DC2+\n\
+      \\DC1filename_strindex\CAN\ETX \SOH(\ENQR\DLEfilenameStrindex\DC2\GS\n\
+      \\n\
+      \start_line\CAN\EOT \SOH(\ETXR\tstartLine"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        nameStrindex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "name_strindex"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"nameStrindex")) ::
+              Data.ProtoLens.FieldDescriptor Function
+        systemNameStrindex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "system_name_strindex"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"systemNameStrindex")) ::
+              Data.ProtoLens.FieldDescriptor Function
+        filenameStrindex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "filename_strindex"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"filenameStrindex")) ::
+              Data.ProtoLens.FieldDescriptor Function
+        startLine__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "start_line"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"startLine")) ::
+              Data.ProtoLens.FieldDescriptor Function
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, nameStrindex__field_descriptor),
+           (Data.ProtoLens.Tag 2, systemNameStrindex__field_descriptor),
+           (Data.ProtoLens.Tag 3, filenameStrindex__field_descriptor),
+           (Data.ProtoLens.Tag 4, startLine__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Function'_unknownFields
+        (\ x__ y__ -> x__ {_Function'_unknownFields = y__})
+  defMessage
+    = Function'_constructor
+        {_Function'nameStrindex = Data.ProtoLens.fieldDefault,
+         _Function'systemNameStrindex = Data.ProtoLens.fieldDefault,
+         _Function'filenameStrindex = Data.ProtoLens.fieldDefault,
+         _Function'startLine = Data.ProtoLens.fieldDefault,
+         _Function'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: Function -> Data.ProtoLens.Encoding.Bytes.Parser Function
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "name_strindex"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"nameStrindex") y x)
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "system_name_strindex"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"systemNameStrindex") y x)
+                        24
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "filename_strindex"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"filenameStrindex") y x)
+                        32
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "start_line"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"startLine") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "Function"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view (Data.ProtoLens.Field.field @"nameStrindex") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      ((Prelude..)
+                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"systemNameStrindex") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         ((Prelude..)
+                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                ((Data.Monoid.<>)
+                   (let
+                      _v
+                        = Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"filenameStrindex") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                            ((Prelude..)
+                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                   ((Data.Monoid.<>)
+                      (let
+                         _v = Lens.Family2.view (Data.ProtoLens.Field.field @"startLine") _x
+                       in
+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                             Data.Monoid.mempty
+                         else
+                             (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+                               ((Prelude..)
+                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
+instance Control.DeepSeq.NFData Function where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Function'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Function'nameStrindex x__)
+                (Control.DeepSeq.deepseq
+                   (_Function'systemNameStrindex x__)
+                   (Control.DeepSeq.deepseq
+                      (_Function'filenameStrindex x__)
+                      (Control.DeepSeq.deepseq (_Function'startLine x__) ()))))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.functionIndex' @:: Lens' Line Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.line' @:: Lens' Line Data.Int.Int64@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.column' @:: Lens' Line Data.Int.Int64@ -}
+data Line
+  = Line'_constructor {_Line'functionIndex :: !Data.Int.Int32,
+                       _Line'line :: !Data.Int.Int64,
+                       _Line'column :: !Data.Int.Int64,
+                       _Line'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Line where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Line "functionIndex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Line'functionIndex (\ x__ y__ -> x__ {_Line'functionIndex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Line "line" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Line'line (\ x__ y__ -> x__ {_Line'line = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Line "column" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Line'column (\ x__ y__ -> x__ {_Line'column = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Line where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.profiles.v1development.Line"
+  packedMessageDescriptor _
+    = "\n\
+      \\EOTLine\DC2%\n\
+      \\SOfunction_index\CAN\SOH \SOH(\ENQR\rfunctionIndex\DC2\DC2\n\
+      \\EOTline\CAN\STX \SOH(\ETXR\EOTline\DC2\SYN\n\
+      \\ACKcolumn\CAN\ETX \SOH(\ETXR\ACKcolumn"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        functionIndex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "function_index"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"functionIndex")) ::
+              Data.ProtoLens.FieldDescriptor Line
+        line__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "line"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"line")) ::
+              Data.ProtoLens.FieldDescriptor Line
+        column__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "column"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"column")) ::
+              Data.ProtoLens.FieldDescriptor Line
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, functionIndex__field_descriptor),
+           (Data.ProtoLens.Tag 2, line__field_descriptor),
+           (Data.ProtoLens.Tag 3, column__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Line'_unknownFields
+        (\ x__ y__ -> x__ {_Line'_unknownFields = y__})
+  defMessage
+    = Line'_constructor
+        {_Line'functionIndex = Data.ProtoLens.fieldDefault,
+         _Line'line = Data.ProtoLens.fieldDefault,
+         _Line'column = Data.ProtoLens.fieldDefault,
+         _Line'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: Line -> Data.ProtoLens.Encoding.Bytes.Parser Line
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "function_index"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"functionIndex") y x)
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "line"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"line") y x)
+                        24
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "column"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"column") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "Line"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"functionIndex") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      ((Prelude..)
+                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+             ((Data.Monoid.<>)
+                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"line") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         ((Prelude..)
+                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                ((Data.Monoid.<>)
+                   (let
+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"column") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                            ((Prelude..)
+                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData Line where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Line'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Line'functionIndex x__)
+                (Control.DeepSeq.deepseq
+                   (_Line'line x__) (Control.DeepSeq.deepseq (_Line'column x__) ())))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.traceId' @:: Lens' Link Data.ByteString.ByteString@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.spanId' @:: Lens' Link Data.ByteString.ByteString@ -}
+data Link
+  = Link'_constructor {_Link'traceId :: !Data.ByteString.ByteString,
+                       _Link'spanId :: !Data.ByteString.ByteString,
+                       _Link'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Link where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Link "traceId" Data.ByteString.ByteString where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Link'traceId (\ x__ y__ -> x__ {_Link'traceId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Link "spanId" Data.ByteString.ByteString where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Link'spanId (\ x__ y__ -> x__ {_Link'spanId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Link where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.profiles.v1development.Link"
+  packedMessageDescriptor _
+    = "\n\
+      \\EOTLink\DC2\EM\n\
+      \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
+      \\aspan_id\CAN\STX \SOH(\fR\ACKspanId"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        traceId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "trace_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"traceId")) ::
+              Data.ProtoLens.FieldDescriptor Link
+        spanId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "span_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"spanId")) ::
+              Data.ProtoLens.FieldDescriptor Link
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, traceId__field_descriptor),
+           (Data.ProtoLens.Tag 2, spanId__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Link'_unknownFields
+        (\ x__ y__ -> x__ {_Link'_unknownFields = y__})
+  defMessage
+    = Link'_constructor
+        {_Link'traceId = Data.ProtoLens.fieldDefault,
+         _Link'spanId = Data.ProtoLens.fieldDefault,
+         _Link'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: Link -> Data.ProtoLens.Encoding.Bytes.Parser Link
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getBytes
+                                             (Prelude.fromIntegral len))
+                                       "trace_id"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"traceId") y x)
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getBytes
+                                             (Prelude.fromIntegral len))
+                                       "span_id"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"spanId") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "Link"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"traceId") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((\ bs
+                          -> (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
+                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"spanId") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData Link where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Link'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Link'traceId x__)
+                (Control.DeepSeq.deepseq (_Link'spanId x__) ()))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.mappingIndex' @:: Lens' Location Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.maybe'mappingIndex' @:: Lens' Location (Prelude.Maybe Data.Int.Int32)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.address' @:: Lens' Location Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.line' @:: Lens' Location [Line]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'line' @:: Lens' Location (Data.Vector.Vector Line)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.isFolded' @:: Lens' Location Prelude.Bool@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.attributeIndices' @:: Lens' Location [Data.Int.Int32]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'attributeIndices' @:: Lens' Location (Data.Vector.Unboxed.Vector Data.Int.Int32)@ -}
+data Location
+  = Location'_constructor {_Location'mappingIndex :: !(Prelude.Maybe Data.Int.Int32),
+                           _Location'address :: !Data.Word.Word64,
+                           _Location'line :: !(Data.Vector.Vector Line),
+                           _Location'isFolded :: !Prelude.Bool,
+                           _Location'attributeIndices :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                           _Location'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Location where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Location "mappingIndex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Location'mappingIndex
+           (\ x__ y__ -> x__ {_Location'mappingIndex = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField Location "maybe'mappingIndex" (Prelude.Maybe Data.Int.Int32) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Location'mappingIndex
+           (\ x__ y__ -> x__ {_Location'mappingIndex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Location "address" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Location'address (\ x__ y__ -> x__ {_Location'address = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Location "line" [Line] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Location'line (\ x__ y__ -> x__ {_Location'line = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Location "vec'line" (Data.Vector.Vector Line) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Location'line (\ x__ y__ -> x__ {_Location'line = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Location "isFolded" Prelude.Bool where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Location'isFolded (\ x__ y__ -> x__ {_Location'isFolded = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Location "attributeIndices" [Data.Int.Int32] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Location'attributeIndices
+           (\ x__ y__ -> x__ {_Location'attributeIndices = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Location "vec'attributeIndices" (Data.Vector.Unboxed.Vector Data.Int.Int32) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Location'attributeIndices
+           (\ x__ y__ -> x__ {_Location'attributeIndices = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Location where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.Location"
+  packedMessageDescriptor _
+    = "\n\
+      \\bLocation\DC2(\n\
+      \\rmapping_index\CAN\SOH \SOH(\ENQH\NULR\fmappingIndex\136\SOH\SOH\DC2\CAN\n\
+      \\aaddress\CAN\STX \SOH(\EOTR\aaddress\DC2D\n\
+      \\EOTline\CAN\ETX \ETX(\v20.opentelemetry.proto.profiles.v1development.LineR\EOTline\DC2\ESC\n\
+      \\tis_folded\CAN\EOT \SOH(\bR\bisFolded\DC2+\n\
+      \\DC1attribute_indices\CAN\ENQ \ETX(\ENQR\DLEattributeIndicesB\DLE\n\
+      \\SO_mapping_index"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        mappingIndex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "mapping_index"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'mappingIndex")) ::
+              Data.ProtoLens.FieldDescriptor Location
+        address__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "address"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"address")) ::
+              Data.ProtoLens.FieldDescriptor Location
+        line__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "line"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Line)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"line")) ::
+              Data.ProtoLens.FieldDescriptor Location
+        isFolded__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "is_folded"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"isFolded")) ::
+              Data.ProtoLens.FieldDescriptor Location
+        attributeIndices__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attribute_indices"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Packed
+                 (Data.ProtoLens.Field.field @"attributeIndices")) ::
+              Data.ProtoLens.FieldDescriptor Location
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, mappingIndex__field_descriptor),
+           (Data.ProtoLens.Tag 2, address__field_descriptor),
+           (Data.ProtoLens.Tag 3, line__field_descriptor),
+           (Data.ProtoLens.Tag 4, isFolded__field_descriptor),
+           (Data.ProtoLens.Tag 5, attributeIndices__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Location'_unknownFields
+        (\ x__ y__ -> x__ {_Location'_unknownFields = y__})
+  defMessage
+    = Location'_constructor
+        {_Location'mappingIndex = Prelude.Nothing,
+         _Location'address = Data.ProtoLens.fieldDefault,
+         _Location'line = Data.Vector.Generic.empty,
+         _Location'isFolded = Data.ProtoLens.fieldDefault,
+         _Location'attributeIndices = Data.Vector.Generic.empty,
+         _Location'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Location
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Line
+                -> Data.ProtoLens.Encoding.Bytes.Parser Location
+        loop x mutable'attributeIndices mutable'line
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributeIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                      mutable'attributeIndices)
+                      frozen'line <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'line)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributeIndices")
+                              frozen'attributeIndices
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'line") frozen'line x)))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "mapping_index"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"mappingIndex") y x)
+                                  mutable'attributeIndices mutable'line
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getVarInt "address"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"address") y x)
+                                  mutable'attributeIndices mutable'line
+                        26
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "line"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'line y)
+                                loop x mutable'attributeIndices v
+                        32
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "is_folded"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"isFolded") y x)
+                                  mutable'attributeIndices mutable'line
+                        40
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (Prelude.fmap
+                                           Prelude.fromIntegral
+                                           Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                        "attribute_indices"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'attributeIndices y)
+                                loop x v mutable'line
+                        42
+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                        Data.ProtoLens.Encoding.Bytes.isolate
+                                          (Prelude.fromIntegral len)
+                                          ((let
+                                              ploop qs
+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                     if packedEnd then
+                                                         Prelude.return qs
+                                                     else
+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                                                    (Prelude.fmap
+                                                                       Prelude.fromIntegral
+                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                    "attribute_indices"
+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                     (Data.ProtoLens.Encoding.Growing.append
+                                                                        qs q)
+                                                            ploop qs'
+                                            in ploop)
+                                             mutable'attributeIndices)
+                                loop x y mutable'line
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributeIndices mutable'line
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributeIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            Data.ProtoLens.Encoding.Growing.new
+              mutable'line <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'attributeIndices mutable'line)
+          "Location"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view
+                    (Data.ProtoLens.Field.field @"maybe'mappingIndex") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                       ((Prelude..)
+                          Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"address") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+                ((Data.Monoid.<>)
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v
+                         -> (Data.Monoid.<>)
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                              ((Prelude..)
+                                 (\ bs
+                                    -> (Data.Monoid.<>)
+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                 Data.ProtoLens.encodeMessage _v))
+                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'line") _x))
+                   ((Data.Monoid.<>)
+                      (let
+                         _v = Lens.Family2.view (Data.ProtoLens.Field.field @"isFolded") _x
+                       in
+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                             Data.Monoid.mempty
+                         else
+                             (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+                               ((Prelude..)
+                                  Data.ProtoLens.Encoding.Bytes.putVarInt
+                                  (\ b -> if b then 1 else 0) _v))
+                      ((Data.Monoid.<>)
+                         (let
+                            p = Lens.Family2.view
+                                  (Data.ProtoLens.Field.field @"vec'attributeIndices") _x
+                          in
+                            if Data.Vector.Generic.null p then
+                                Data.Monoid.mempty
+                            else
+                                (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+                                  ((\ bs
+                                      -> (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                     (Data.ProtoLens.Encoding.Bytes.runBuilder
+                                        (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                           ((Prelude..)
+                                              Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              Prelude.fromIntegral)
+                                           p))))
+                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
+instance Control.DeepSeq.NFData Location where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Location'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Location'mappingIndex x__)
+                (Control.DeepSeq.deepseq
+                   (_Location'address x__)
+                   (Control.DeepSeq.deepseq
+                      (_Location'line x__)
+                      (Control.DeepSeq.deepseq
+                         (_Location'isFolded x__)
+                         (Control.DeepSeq.deepseq (_Location'attributeIndices x__) ())))))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.memoryStart' @:: Lens' Mapping Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.memoryLimit' @:: Lens' Mapping Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.fileOffset' @:: Lens' Mapping Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.filenameStrindex' @:: Lens' Mapping Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.attributeIndices' @:: Lens' Mapping [Data.Int.Int32]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'attributeIndices' @:: Lens' Mapping (Data.Vector.Unboxed.Vector Data.Int.Int32)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.hasFunctions' @:: Lens' Mapping Prelude.Bool@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.hasFilenames' @:: Lens' Mapping Prelude.Bool@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.hasLineNumbers' @:: Lens' Mapping Prelude.Bool@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.hasInlineFrames' @:: Lens' Mapping Prelude.Bool@ -}
+data Mapping
+  = Mapping'_constructor {_Mapping'memoryStart :: !Data.Word.Word64,
+                          _Mapping'memoryLimit :: !Data.Word.Word64,
+                          _Mapping'fileOffset :: !Data.Word.Word64,
+                          _Mapping'filenameStrindex :: !Data.Int.Int32,
+                          _Mapping'attributeIndices :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                          _Mapping'hasFunctions :: !Prelude.Bool,
+                          _Mapping'hasFilenames :: !Prelude.Bool,
+                          _Mapping'hasLineNumbers :: !Prelude.Bool,
+                          _Mapping'hasInlineFrames :: !Prelude.Bool,
+                          _Mapping'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Mapping where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Mapping "memoryStart" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'memoryStart
+           (\ x__ y__ -> x__ {_Mapping'memoryStart = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Mapping "memoryLimit" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'memoryLimit
+           (\ x__ y__ -> x__ {_Mapping'memoryLimit = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Mapping "fileOffset" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'fileOffset (\ x__ y__ -> x__ {_Mapping'fileOffset = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Mapping "filenameStrindex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'filenameStrindex
+           (\ x__ y__ -> x__ {_Mapping'filenameStrindex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Mapping "attributeIndices" [Data.Int.Int32] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'attributeIndices
+           (\ x__ y__ -> x__ {_Mapping'attributeIndices = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Mapping "vec'attributeIndices" (Data.Vector.Unboxed.Vector Data.Int.Int32) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'attributeIndices
+           (\ x__ y__ -> x__ {_Mapping'attributeIndices = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Mapping "hasFunctions" Prelude.Bool where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'hasFunctions
+           (\ x__ y__ -> x__ {_Mapping'hasFunctions = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Mapping "hasFilenames" Prelude.Bool where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'hasFilenames
+           (\ x__ y__ -> x__ {_Mapping'hasFilenames = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Mapping "hasLineNumbers" Prelude.Bool where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'hasLineNumbers
+           (\ x__ y__ -> x__ {_Mapping'hasLineNumbers = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Mapping "hasInlineFrames" Prelude.Bool where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Mapping'hasInlineFrames
+           (\ x__ y__ -> x__ {_Mapping'hasInlineFrames = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Mapping where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.Mapping"
+  packedMessageDescriptor _
+    = "\n\
+      \\aMapping\DC2!\n\
+      \\fmemory_start\CAN\SOH \SOH(\EOTR\vmemoryStart\DC2!\n\
+      \\fmemory_limit\CAN\STX \SOH(\EOTR\vmemoryLimit\DC2\US\n\
+      \\vfile_offset\CAN\ETX \SOH(\EOTR\n\
+      \fileOffset\DC2+\n\
+      \\DC1filename_strindex\CAN\EOT \SOH(\ENQR\DLEfilenameStrindex\DC2+\n\
+      \\DC1attribute_indices\CAN\ENQ \ETX(\ENQR\DLEattributeIndices\DC2#\n\
+      \\rhas_functions\CAN\ACK \SOH(\bR\fhasFunctions\DC2#\n\
+      \\rhas_filenames\CAN\a \SOH(\bR\fhasFilenames\DC2(\n\
+      \\DLEhas_line_numbers\CAN\b \SOH(\bR\SOhasLineNumbers\DC2*\n\
+      \\DC1has_inline_frames\CAN\t \SOH(\bR\SIhasInlineFrames"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        memoryStart__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "memory_start"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"memoryStart")) ::
+              Data.ProtoLens.FieldDescriptor Mapping
+        memoryLimit__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "memory_limit"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"memoryLimit")) ::
+              Data.ProtoLens.FieldDescriptor Mapping
+        fileOffset__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "file_offset"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"fileOffset")) ::
+              Data.ProtoLens.FieldDescriptor Mapping
+        filenameStrindex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "filename_strindex"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"filenameStrindex")) ::
+              Data.ProtoLens.FieldDescriptor Mapping
+        attributeIndices__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attribute_indices"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Packed
+                 (Data.ProtoLens.Field.field @"attributeIndices")) ::
+              Data.ProtoLens.FieldDescriptor Mapping
+        hasFunctions__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "has_functions"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"hasFunctions")) ::
+              Data.ProtoLens.FieldDescriptor Mapping
+        hasFilenames__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "has_filenames"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"hasFilenames")) ::
+              Data.ProtoLens.FieldDescriptor Mapping
+        hasLineNumbers__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "has_line_numbers"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"hasLineNumbers")) ::
+              Data.ProtoLens.FieldDescriptor Mapping
+        hasInlineFrames__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "has_inline_frames"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"hasInlineFrames")) ::
+              Data.ProtoLens.FieldDescriptor Mapping
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, memoryStart__field_descriptor),
+           (Data.ProtoLens.Tag 2, memoryLimit__field_descriptor),
+           (Data.ProtoLens.Tag 3, fileOffset__field_descriptor),
+           (Data.ProtoLens.Tag 4, filenameStrindex__field_descriptor),
+           (Data.ProtoLens.Tag 5, attributeIndices__field_descriptor),
+           (Data.ProtoLens.Tag 6, hasFunctions__field_descriptor),
+           (Data.ProtoLens.Tag 7, hasFilenames__field_descriptor),
+           (Data.ProtoLens.Tag 8, hasLineNumbers__field_descriptor),
+           (Data.ProtoLens.Tag 9, hasInlineFrames__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Mapping'_unknownFields
+        (\ x__ y__ -> x__ {_Mapping'_unknownFields = y__})
+  defMessage
+    = Mapping'_constructor
+        {_Mapping'memoryStart = Data.ProtoLens.fieldDefault,
+         _Mapping'memoryLimit = Data.ProtoLens.fieldDefault,
+         _Mapping'fileOffset = Data.ProtoLens.fieldDefault,
+         _Mapping'filenameStrindex = Data.ProtoLens.fieldDefault,
+         _Mapping'attributeIndices = Data.Vector.Generic.empty,
+         _Mapping'hasFunctions = Data.ProtoLens.fieldDefault,
+         _Mapping'hasFilenames = Data.ProtoLens.fieldDefault,
+         _Mapping'hasLineNumbers = Data.ProtoLens.fieldDefault,
+         _Mapping'hasInlineFrames = Data.ProtoLens.fieldDefault,
+         _Mapping'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Mapping
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32
+             -> Data.ProtoLens.Encoding.Bytes.Parser Mapping
+        loop x mutable'attributeIndices
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributeIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                      mutable'attributeIndices)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributeIndices")
+                              frozen'attributeIndices x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getVarInt "memory_start"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"memoryStart") y x)
+                                  mutable'attributeIndices
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getVarInt "memory_limit"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"memoryLimit") y x)
+                                  mutable'attributeIndices
+                        24
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getVarInt "file_offset"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"fileOffset") y x)
+                                  mutable'attributeIndices
+                        32
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "filename_strindex"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"filenameStrindex") y x)
+                                  mutable'attributeIndices
+                        40
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (Prelude.fmap
+                                           Prelude.fromIntegral
+                                           Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                        "attribute_indices"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'attributeIndices y)
+                                loop x v
+                        42
+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                        Data.ProtoLens.Encoding.Bytes.isolate
+                                          (Prelude.fromIntegral len)
+                                          ((let
+                                              ploop qs
+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                     if packedEnd then
+                                                         Prelude.return qs
+                                                     else
+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                                                    (Prelude.fmap
+                                                                       Prelude.fromIntegral
+                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                    "attribute_indices"
+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                     (Data.ProtoLens.Encoding.Growing.append
+                                                                        qs q)
+                                                            ploop qs'
+                                            in ploop)
+                                             mutable'attributeIndices)
+                                loop x y
+                        48
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "has_functions"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"hasFunctions") y x)
+                                  mutable'attributeIndices
+                        56
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "has_filenames"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"hasFilenames") y x)
+                                  mutable'attributeIndices
+                        64
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "has_line_numbers"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"hasLineNumbers") y x)
+                                  mutable'attributeIndices
+                        72
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "has_inline_frames"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"hasInlineFrames") y x)
+                                  mutable'attributeIndices
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributeIndices
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributeIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'attributeIndices)
+          "Mapping"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view (Data.ProtoLens.Field.field @"memoryStart") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view (Data.ProtoLens.Field.field @"memoryLimit") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+                ((Data.Monoid.<>)
+                   (let
+                      _v
+                        = Lens.Family2.view (Data.ProtoLens.Field.field @"fileOffset") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+                   ((Data.Monoid.<>)
+                      (let
+                         _v
+                           = Lens.Family2.view
+                               (Data.ProtoLens.Field.field @"filenameStrindex") _x
+                       in
+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                             Data.Monoid.mempty
+                         else
+                             (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+                               ((Prelude..)
+                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                      ((Data.Monoid.<>)
+                         (let
+                            p = Lens.Family2.view
+                                  (Data.ProtoLens.Field.field @"vec'attributeIndices") _x
+                          in
+                            if Data.Vector.Generic.null p then
+                                Data.Monoid.mempty
+                            else
+                                (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+                                  ((\ bs
+                                      -> (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                     (Data.ProtoLens.Encoding.Bytes.runBuilder
+                                        (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                           ((Prelude..)
+                                              Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              Prelude.fromIntegral)
+                                           p))))
+                         ((Data.Monoid.<>)
+                            (let
+                               _v
+                                 = Lens.Family2.view (Data.ProtoLens.Field.field @"hasFunctions") _x
+                             in
+                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                   Data.Monoid.mempty
+                               else
+                                   (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
+                                     ((Prelude..)
+                                        Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (\ b -> if b then 1 else 0) _v))
+                            ((Data.Monoid.<>)
+                               (let
+                                  _v
+                                    = Lens.Family2.view
+                                        (Data.ProtoLens.Field.field @"hasFilenames") _x
+                                in
+                                  if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                      Data.Monoid.mempty
+                                  else
+                                      (Data.Monoid.<>)
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 56)
+                                        ((Prelude..)
+                                           Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           (\ b -> if b then 1 else 0) _v))
+                               ((Data.Monoid.<>)
+                                  (let
+                                     _v
+                                       = Lens.Family2.view
+                                           (Data.ProtoLens.Field.field @"hasLineNumbers") _x
+                                   in
+                                     if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                         Data.Monoid.mempty
+                                     else
+                                         (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt 64)
+                                           ((Prelude..)
+                                              Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              (\ b -> if b then 1 else 0) _v))
+                                  ((Data.Monoid.<>)
+                                     (let
+                                        _v
+                                          = Lens.Family2.view
+                                              (Data.ProtoLens.Field.field @"hasInlineFrames") _x
+                                      in
+                                        if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                            Data.Monoid.mempty
+                                        else
+                                            (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt 72)
+                                              ((Prelude..)
+                                                 Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (\ b -> if b then 1 else 0) _v))
+                                     (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                        (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))))
+instance Control.DeepSeq.NFData Mapping where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Mapping'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Mapping'memoryStart x__)
+                (Control.DeepSeq.deepseq
+                   (_Mapping'memoryLimit x__)
+                   (Control.DeepSeq.deepseq
+                      (_Mapping'fileOffset x__)
+                      (Control.DeepSeq.deepseq
+                         (_Mapping'filenameStrindex x__)
+                         (Control.DeepSeq.deepseq
+                            (_Mapping'attributeIndices x__)
+                            (Control.DeepSeq.deepseq
+                               (_Mapping'hasFunctions x__)
+                               (Control.DeepSeq.deepseq
+                                  (_Mapping'hasFilenames x__)
+                                  (Control.DeepSeq.deepseq
+                                     (_Mapping'hasLineNumbers x__)
+                                     (Control.DeepSeq.deepseq
+                                        (_Mapping'hasInlineFrames x__) ())))))))))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.sampleType' @:: Lens' Profile [ValueType]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'sampleType' @:: Lens' Profile (Data.Vector.Vector ValueType)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.sample' @:: Lens' Profile [Sample]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'sample' @:: Lens' Profile (Data.Vector.Vector Sample)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.locationIndices' @:: Lens' Profile [Data.Int.Int32]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'locationIndices' @:: Lens' Profile (Data.Vector.Unboxed.Vector Data.Int.Int32)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.timeNanos' @:: Lens' Profile Data.Int.Int64@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.durationNanos' @:: Lens' Profile Data.Int.Int64@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.periodType' @:: Lens' Profile ValueType@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.maybe'periodType' @:: Lens' Profile (Prelude.Maybe ValueType)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.period' @:: Lens' Profile Data.Int.Int64@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.commentStrindices' @:: Lens' Profile [Data.Int.Int32]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'commentStrindices' @:: Lens' Profile (Data.Vector.Unboxed.Vector Data.Int.Int32)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.defaultSampleTypeIndex' @:: Lens' Profile Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.profileId' @:: Lens' Profile Data.ByteString.ByteString@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.droppedAttributesCount' @:: Lens' Profile Data.Word.Word32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.originalPayloadFormat' @:: Lens' Profile Data.Text.Text@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.originalPayload' @:: Lens' Profile Data.ByteString.ByteString@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.attributeIndices' @:: Lens' Profile [Data.Int.Int32]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'attributeIndices' @:: Lens' Profile (Data.Vector.Unboxed.Vector Data.Int.Int32)@ -}
+data Profile
+  = Profile'_constructor {_Profile'sampleType :: !(Data.Vector.Vector ValueType),
+                          _Profile'sample :: !(Data.Vector.Vector Sample),
+                          _Profile'locationIndices :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                          _Profile'timeNanos :: !Data.Int.Int64,
+                          _Profile'durationNanos :: !Data.Int.Int64,
+                          _Profile'periodType :: !(Prelude.Maybe ValueType),
+                          _Profile'period :: !Data.Int.Int64,
+                          _Profile'commentStrindices :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                          _Profile'defaultSampleTypeIndex :: !Data.Int.Int32,
+                          _Profile'profileId :: !Data.ByteString.ByteString,
+                          _Profile'droppedAttributesCount :: !Data.Word.Word32,
+                          _Profile'originalPayloadFormat :: !Data.Text.Text,
+                          _Profile'originalPayload :: !Data.ByteString.ByteString,
+                          _Profile'attributeIndices :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                          _Profile'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Profile where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Profile "sampleType" [ValueType] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'sampleType (\ x__ y__ -> x__ {_Profile'sampleType = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Profile "vec'sampleType" (Data.Vector.Vector ValueType) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'sampleType (\ x__ y__ -> x__ {_Profile'sampleType = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "sample" [Sample] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'sample (\ x__ y__ -> x__ {_Profile'sample = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Profile "vec'sample" (Data.Vector.Vector Sample) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'sample (\ x__ y__ -> x__ {_Profile'sample = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "locationIndices" [Data.Int.Int32] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'locationIndices
+           (\ x__ y__ -> x__ {_Profile'locationIndices = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Profile "vec'locationIndices" (Data.Vector.Unboxed.Vector Data.Int.Int32) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'locationIndices
+           (\ x__ y__ -> x__ {_Profile'locationIndices = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "timeNanos" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'timeNanos (\ x__ y__ -> x__ {_Profile'timeNanos = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "durationNanos" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'durationNanos
+           (\ x__ y__ -> x__ {_Profile'durationNanos = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "periodType" ValueType where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'periodType (\ x__ y__ -> x__ {_Profile'periodType = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Profile "maybe'periodType" (Prelude.Maybe ValueType) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'periodType (\ x__ y__ -> x__ {_Profile'periodType = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "period" Data.Int.Int64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'period (\ x__ y__ -> x__ {_Profile'period = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "commentStrindices" [Data.Int.Int32] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'commentStrindices
+           (\ x__ y__ -> x__ {_Profile'commentStrindices = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Profile "vec'commentStrindices" (Data.Vector.Unboxed.Vector Data.Int.Int32) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'commentStrindices
+           (\ x__ y__ -> x__ {_Profile'commentStrindices = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "defaultSampleTypeIndex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'defaultSampleTypeIndex
+           (\ x__ y__ -> x__ {_Profile'defaultSampleTypeIndex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "profileId" Data.ByteString.ByteString where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'profileId (\ x__ y__ -> x__ {_Profile'profileId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "droppedAttributesCount" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'droppedAttributesCount
+           (\ x__ y__ -> x__ {_Profile'droppedAttributesCount = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "originalPayloadFormat" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'originalPayloadFormat
+           (\ x__ y__ -> x__ {_Profile'originalPayloadFormat = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "originalPayload" Data.ByteString.ByteString where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'originalPayload
+           (\ x__ y__ -> x__ {_Profile'originalPayload = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Profile "attributeIndices" [Data.Int.Int32] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'attributeIndices
+           (\ x__ y__ -> x__ {_Profile'attributeIndices = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Profile "vec'attributeIndices" (Data.Vector.Unboxed.Vector Data.Int.Int32) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Profile'attributeIndices
+           (\ x__ y__ -> x__ {_Profile'attributeIndices = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Profile where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.Profile"
+  packedMessageDescriptor _
+    = "\n\
+      \\aProfile\DC2V\n\
+      \\vsample_type\CAN\SOH \ETX(\v25.opentelemetry.proto.profiles.v1development.ValueTypeR\n\
+      \sampleType\DC2J\n\
+      \\ACKsample\CAN\STX \ETX(\v22.opentelemetry.proto.profiles.v1development.SampleR\ACKsample\DC2)\n\
+      \\DLElocation_indices\CAN\ETX \ETX(\ENQR\SIlocationIndices\DC2\GS\n\
+      \\n\
+      \time_nanos\CAN\EOT \SOH(\ETXR\ttimeNanos\DC2%\n\
+      \\SOduration_nanos\CAN\ENQ \SOH(\ETXR\rdurationNanos\DC2V\n\
+      \\vperiod_type\CAN\ACK \SOH(\v25.opentelemetry.proto.profiles.v1development.ValueTypeR\n\
+      \periodType\DC2\SYN\n\
+      \\ACKperiod\CAN\a \SOH(\ETXR\ACKperiod\DC2-\n\
+      \\DC2comment_strindices\CAN\b \ETX(\ENQR\DC1commentStrindices\DC29\n\
+      \\EMdefault_sample_type_index\CAN\t \SOH(\ENQR\SYNdefaultSampleTypeIndex\DC2\GS\n\
+      \\n\
+      \profile_id\CAN\n\
+      \ \SOH(\fR\tprofileId\DC28\n\
+      \\CANdropped_attributes_count\CAN\v \SOH(\rR\SYNdroppedAttributesCount\DC26\n\
+      \\ETBoriginal_payload_format\CAN\f \SOH(\tR\NAKoriginalPayloadFormat\DC2)\n\
+      \\DLEoriginal_payload\CAN\r \SOH(\fR\SIoriginalPayload\DC2+\n\
+      \\DC1attribute_indices\CAN\SO \ETX(\ENQR\DLEattributeIndices"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        sampleType__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "sample_type"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ValueType)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"sampleType")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        sample__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "sample"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Sample)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"sample")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        locationIndices__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "location_indices"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Packed
+                 (Data.ProtoLens.Field.field @"locationIndices")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        timeNanos__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "time_nanos"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"timeNanos")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        durationNanos__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "duration_nanos"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"durationNanos")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        periodType__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "period_type"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ValueType)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'periodType")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        period__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "period"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"period")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        commentStrindices__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "comment_strindices"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Packed
+                 (Data.ProtoLens.Field.field @"commentStrindices")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        defaultSampleTypeIndex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "default_sample_type_index"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"defaultSampleTypeIndex")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        profileId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "profile_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"profileId")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        droppedAttributesCount__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "dropped_attributes_count"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"droppedAttributesCount")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        originalPayloadFormat__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "original_payload_format"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"originalPayloadFormat")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        originalPayload__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "original_payload"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"originalPayload")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+        attributeIndices__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attribute_indices"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Packed
+                 (Data.ProtoLens.Field.field @"attributeIndices")) ::
+              Data.ProtoLens.FieldDescriptor Profile
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, sampleType__field_descriptor),
+           (Data.ProtoLens.Tag 2, sample__field_descriptor),
+           (Data.ProtoLens.Tag 3, locationIndices__field_descriptor),
+           (Data.ProtoLens.Tag 4, timeNanos__field_descriptor),
+           (Data.ProtoLens.Tag 5, durationNanos__field_descriptor),
+           (Data.ProtoLens.Tag 6, periodType__field_descriptor),
+           (Data.ProtoLens.Tag 7, period__field_descriptor),
+           (Data.ProtoLens.Tag 8, commentStrindices__field_descriptor),
+           (Data.ProtoLens.Tag 9, defaultSampleTypeIndex__field_descriptor),
+           (Data.ProtoLens.Tag 10, profileId__field_descriptor),
+           (Data.ProtoLens.Tag 11, droppedAttributesCount__field_descriptor),
+           (Data.ProtoLens.Tag 12, originalPayloadFormat__field_descriptor),
+           (Data.ProtoLens.Tag 13, originalPayload__field_descriptor),
+           (Data.ProtoLens.Tag 14, attributeIndices__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Profile'_unknownFields
+        (\ x__ y__ -> x__ {_Profile'_unknownFields = y__})
+  defMessage
+    = Profile'_constructor
+        {_Profile'sampleType = Data.Vector.Generic.empty,
+         _Profile'sample = Data.Vector.Generic.empty,
+         _Profile'locationIndices = Data.Vector.Generic.empty,
+         _Profile'timeNanos = Data.ProtoLens.fieldDefault,
+         _Profile'durationNanos = Data.ProtoLens.fieldDefault,
+         _Profile'periodType = Prelude.Nothing,
+         _Profile'period = Data.ProtoLens.fieldDefault,
+         _Profile'commentStrindices = Data.Vector.Generic.empty,
+         _Profile'defaultSampleTypeIndex = Data.ProtoLens.fieldDefault,
+         _Profile'profileId = Data.ProtoLens.fieldDefault,
+         _Profile'droppedAttributesCount = Data.ProtoLens.fieldDefault,
+         _Profile'originalPayloadFormat = Data.ProtoLens.fieldDefault,
+         _Profile'originalPayload = Data.ProtoLens.fieldDefault,
+         _Profile'attributeIndices = Data.Vector.Generic.empty,
+         _Profile'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Profile
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32
+                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32
+                   -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Sample
+                      -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ValueType
+                         -> Data.ProtoLens.Encoding.Bytes.Parser Profile
+        loop
+          x
+          mutable'attributeIndices
+          mutable'commentStrindices
+          mutable'locationIndices
+          mutable'sample
+          mutable'sampleType
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributeIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                      mutable'attributeIndices)
+                      frozen'commentStrindices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                    (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                       mutable'commentStrindices)
+                      frozen'locationIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                     mutable'locationIndices)
+                      frozen'sample <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                            mutable'sample)
+                      frozen'sampleType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'sampleType)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributeIndices")
+                              frozen'attributeIndices
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'commentStrindices")
+                                 frozen'commentStrindices
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'locationIndices")
+                                    frozen'locationIndices
+                                    (Lens.Family2.set
+                                       (Data.ProtoLens.Field.field @"vec'sample") frozen'sample
+                                       (Lens.Family2.set
+                                          (Data.ProtoLens.Field.field @"vec'sampleType")
+                                          frozen'sampleType x))))))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "sample_type"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'sampleType y)
+                                loop
+                                  x mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample v
+                        18
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "sample"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'sample y)
+                                loop
+                                  x mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices v mutable'sampleType
+                        24
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (Prelude.fmap
+                                           Prelude.fromIntegral
+                                           Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                        "location_indices"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'locationIndices y)
+                                loop
+                                  x mutable'attributeIndices mutable'commentStrindices v
+                                  mutable'sample mutable'sampleType
+                        26
+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                        Data.ProtoLens.Encoding.Bytes.isolate
+                                          (Prelude.fromIntegral len)
+                                          ((let
+                                              ploop qs
+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                     if packedEnd then
+                                                         Prelude.return qs
+                                                     else
+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                                                    (Prelude.fmap
+                                                                       Prelude.fromIntegral
+                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                    "location_indices"
+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                     (Data.ProtoLens.Encoding.Growing.append
+                                                                        qs q)
+                                                            ploop qs'
+                                            in ploop)
+                                             mutable'locationIndices)
+                                loop
+                                  x mutable'attributeIndices mutable'commentStrindices y
+                                  mutable'sample mutable'sampleType
+                        32
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "time_nanos"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"timeNanos") y x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+                        40
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "duration_nanos"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"durationNanos") y x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+                        50
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "period_type"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"periodType") y x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+                        56
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "period"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"period") y x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+                        64
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (Prelude.fmap
+                                           Prelude.fromIntegral
+                                           Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                        "comment_strindices"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'commentStrindices y)
+                                loop
+                                  x mutable'attributeIndices v mutable'locationIndices
+                                  mutable'sample mutable'sampleType
+                        66
+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                        Data.ProtoLens.Encoding.Bytes.isolate
+                                          (Prelude.fromIntegral len)
+                                          ((let
+                                              ploop qs
+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                     if packedEnd then
+                                                         Prelude.return qs
+                                                     else
+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                                                    (Prelude.fmap
+                                                                       Prelude.fromIntegral
+                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                    "comment_strindices"
+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                     (Data.ProtoLens.Encoding.Growing.append
+                                                                        qs q)
+                                                            ploop qs'
+                                            in ploop)
+                                             mutable'commentStrindices)
+                                loop
+                                  x mutable'attributeIndices y mutable'locationIndices
+                                  mutable'sample mutable'sampleType
+                        72
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "default_sample_type_index"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"defaultSampleTypeIndex") y x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+                        82
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getBytes
+                                             (Prelude.fromIntegral len))
+                                       "profile_id"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"profileId") y x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+                        88
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "dropped_attributes_count"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"droppedAttributesCount") y x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+                        98
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "original_payload_format"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"originalPayloadFormat") y x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+                        106
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getBytes
+                                             (Prelude.fromIntegral len))
+                                       "original_payload"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"originalPayload") y x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+                        112
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (Prelude.fmap
+                                           Prelude.fromIntegral
+                                           Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                        "attribute_indices"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'attributeIndices y)
+                                loop
+                                  x v mutable'commentStrindices mutable'locationIndices
+                                  mutable'sample mutable'sampleType
+                        114
+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                        Data.ProtoLens.Encoding.Bytes.isolate
+                                          (Prelude.fromIntegral len)
+                                          ((let
+                                              ploop qs
+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                     if packedEnd then
+                                                         Prelude.return qs
+                                                     else
+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                                                    (Prelude.fmap
+                                                                       Prelude.fromIntegral
+                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                    "attribute_indices"
+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                     (Data.ProtoLens.Encoding.Growing.append
+                                                                        qs q)
+                                                            ploop qs'
+                                            in ploop)
+                                             mutable'attributeIndices)
+                                loop
+                                  x y mutable'commentStrindices mutable'locationIndices
+                                  mutable'sample mutable'sampleType
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributeIndices mutable'commentStrindices
+                                  mutable'locationIndices mutable'sample mutable'sampleType
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributeIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            Data.ProtoLens.Encoding.Growing.new
+              mutable'commentStrindices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             Data.ProtoLens.Encoding.Growing.new
+              mutable'locationIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                           Data.ProtoLens.Encoding.Growing.new
+              mutable'sample <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                  Data.ProtoLens.Encoding.Growing.new
+              mutable'sampleType <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'attributeIndices
+                mutable'commentStrindices mutable'locationIndices mutable'sample
+                mutable'sampleType)
+          "Profile"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'sampleType") _x))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'sample") _x))
+                ((Data.Monoid.<>)
+                   (let
+                      p = Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"vec'locationIndices") _x
+                    in
+                      if Data.Vector.Generic.null p then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((\ bs
+                                -> (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               (Data.ProtoLens.Encoding.Bytes.runBuilder
+                                  (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                     ((Prelude..)
+                                        Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        Prelude.fromIntegral)
+                                     p))))
+                   ((Data.Monoid.<>)
+                      (let
+                         _v = Lens.Family2.view (Data.ProtoLens.Field.field @"timeNanos") _x
+                       in
+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                             Data.Monoid.mempty
+                         else
+                             (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+                               ((Prelude..)
+                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                      ((Data.Monoid.<>)
+                         (let
+                            _v
+                              = Lens.Family2.view
+                                  (Data.ProtoLens.Field.field @"durationNanos") _x
+                          in
+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                Data.Monoid.mempty
+                            else
+                                (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                                  ((Prelude..)
+                                     Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral
+                                     _v))
+                         ((Data.Monoid.<>)
+                            (case
+                                 Lens.Family2.view
+                                   (Data.ProtoLens.Field.field @"maybe'periodType") _x
+                             of
+                               Prelude.Nothing -> Data.Monoid.mempty
+                               (Prelude.Just _v)
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                                      ((Prelude..)
+                                         (\ bs
+                                            -> (Data.Monoid.<>)
+                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                    (Prelude.fromIntegral
+                                                       (Data.ByteString.length bs)))
+                                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                         Data.ProtoLens.encodeMessage _v))
+                            ((Data.Monoid.<>)
+                               (let
+                                  _v = Lens.Family2.view (Data.ProtoLens.Field.field @"period") _x
+                                in
+                                  if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                      Data.Monoid.mempty
+                                  else
+                                      (Data.Monoid.<>)
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 56)
+                                        ((Prelude..)
+                                           Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           Prelude.fromIntegral _v))
+                               ((Data.Monoid.<>)
+                                  (let
+                                     p = Lens.Family2.view
+                                           (Data.ProtoLens.Field.field @"vec'commentStrindices") _x
+                                   in
+                                     if Data.Vector.Generic.null p then
+                                         Data.Monoid.mempty
+                                     else
+                                         (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
+                                           ((\ bs
+                                               -> (Data.Monoid.<>)
+                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                       (Prelude.fromIntegral
+                                                          (Data.ByteString.length bs)))
+                                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                              (Data.ProtoLens.Encoding.Bytes.runBuilder
+                                                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                                    ((Prelude..)
+                                                       Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                       Prelude.fromIntegral)
+                                                    p))))
+                                  ((Data.Monoid.<>)
+                                     (let
+                                        _v
+                                          = Lens.Family2.view
+                                              (Data.ProtoLens.Field.field @"defaultSampleTypeIndex")
+                                              _x
+                                      in
+                                        if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                            Data.Monoid.mempty
+                                        else
+                                            (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt 72)
+                                              ((Prelude..)
+                                                 Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 Prelude.fromIntegral _v))
+                                     ((Data.Monoid.<>)
+                                        (let
+                                           _v
+                                             = Lens.Family2.view
+                                                 (Data.ProtoLens.Field.field @"profileId") _x
+                                         in
+                                           if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                               Data.Monoid.mempty
+                                           else
+                                               (Data.Monoid.<>)
+                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
+                                                 ((\ bs
+                                                     -> (Data.Monoid.<>)
+                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                             (Prelude.fromIntegral
+                                                                (Data.ByteString.length bs)))
+                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
+                                                             bs))
+                                                    _v))
+                                        ((Data.Monoid.<>)
+                                           (let
+                                              _v
+                                                = Lens.Family2.view
+                                                    (Data.ProtoLens.Field.field
+                                                       @"droppedAttributesCount")
+                                                    _x
+                                            in
+                                              if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                                  Data.Monoid.mempty
+                                              else
+                                                  (Data.Monoid.<>)
+                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 88)
+                                                    ((Prelude..)
+                                                       Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                       Prelude.fromIntegral _v))
+                                           ((Data.Monoid.<>)
+                                              (let
+                                                 _v
+                                                   = Lens.Family2.view
+                                                       (Data.ProtoLens.Field.field
+                                                          @"originalPayloadFormat")
+                                                       _x
+                                               in
+                                                 if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                                     Data.Monoid.mempty
+                                                 else
+                                                     (Data.Monoid.<>)
+                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
+                                                       ((Prelude..)
+                                                          (\ bs
+                                                             -> (Data.Monoid.<>)
+                                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                     (Prelude.fromIntegral
+                                                                        (Data.ByteString.length
+                                                                           bs)))
+                                                                  (Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                     bs))
+                                                          Data.Text.Encoding.encodeUtf8 _v))
+                                              ((Data.Monoid.<>)
+                                                 (let
+                                                    _v
+                                                      = Lens.Family2.view
+                                                          (Data.ProtoLens.Field.field
+                                                             @"originalPayload")
+                                                          _x
+                                                  in
+                                                    if (Prelude.==)
+                                                         _v Data.ProtoLens.fieldDefault then
+                                                        Data.Monoid.mempty
+                                                    else
+                                                        (Data.Monoid.<>)
+                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                             106)
+                                                          ((\ bs
+                                                              -> (Data.Monoid.<>)
+                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                      (Prelude.fromIntegral
+                                                                         (Data.ByteString.length
+                                                                            bs)))
+                                                                   (Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                      bs))
+                                                             _v))
+                                                 ((Data.Monoid.<>)
+                                                    (let
+                                                       p = Lens.Family2.view
+                                                             (Data.ProtoLens.Field.field
+                                                                @"vec'attributeIndices")
+                                                             _x
+                                                     in
+                                                       if Data.Vector.Generic.null p then
+                                                           Data.Monoid.mempty
+                                                       else
+                                                           (Data.Monoid.<>)
+                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                114)
+                                                             ((\ bs
+                                                                 -> (Data.Monoid.<>)
+                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                         (Prelude.fromIntegral
+                                                                            (Data.ByteString.length
+                                                                               bs)))
+                                                                      (Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                         bs))
+                                                                (Data.ProtoLens.Encoding.Bytes.runBuilder
+                                                                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                                                      ((Prelude..)
+                                                                         Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                         Prelude.fromIntegral)
+                                                                      p))))
+                                                    (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                                       (Lens.Family2.view
+                                                          Data.ProtoLens.unknownFields
+                                                          _x)))))))))))))))
+instance Control.DeepSeq.NFData Profile where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Profile'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Profile'sampleType x__)
+                (Control.DeepSeq.deepseq
+                   (_Profile'sample x__)
+                   (Control.DeepSeq.deepseq
+                      (_Profile'locationIndices x__)
+                      (Control.DeepSeq.deepseq
+                         (_Profile'timeNanos x__)
+                         (Control.DeepSeq.deepseq
+                            (_Profile'durationNanos x__)
+                            (Control.DeepSeq.deepseq
+                               (_Profile'periodType x__)
+                               (Control.DeepSeq.deepseq
+                                  (_Profile'period x__)
+                                  (Control.DeepSeq.deepseq
+                                     (_Profile'commentStrindices x__)
+                                     (Control.DeepSeq.deepseq
+                                        (_Profile'defaultSampleTypeIndex x__)
+                                        (Control.DeepSeq.deepseq
+                                           (_Profile'profileId x__)
+                                           (Control.DeepSeq.deepseq
+                                              (_Profile'droppedAttributesCount x__)
+                                              (Control.DeepSeq.deepseq
+                                                 (_Profile'originalPayloadFormat x__)
+                                                 (Control.DeepSeq.deepseq
+                                                    (_Profile'originalPayload x__)
+                                                    (Control.DeepSeq.deepseq
+                                                       (_Profile'attributeIndices x__)
+                                                       ()))))))))))))))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.resourceProfiles' @:: Lens' ProfilesData [ResourceProfiles]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'resourceProfiles' @:: Lens' ProfilesData (Data.Vector.Vector ResourceProfiles)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.dictionary' @:: Lens' ProfilesData ProfilesDictionary@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.maybe'dictionary' @:: Lens' ProfilesData (Prelude.Maybe ProfilesDictionary)@ -}
+data ProfilesData
+  = ProfilesData'_constructor {_ProfilesData'resourceProfiles :: !(Data.Vector.Vector ResourceProfiles),
+                               _ProfilesData'dictionary :: !(Prelude.Maybe ProfilesDictionary),
+                               _ProfilesData'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ProfilesData where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ProfilesData "resourceProfiles" [ResourceProfiles] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesData'resourceProfiles
+           (\ x__ y__ -> x__ {_ProfilesData'resourceProfiles = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ProfilesData "vec'resourceProfiles" (Data.Vector.Vector ResourceProfiles) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesData'resourceProfiles
+           (\ x__ y__ -> x__ {_ProfilesData'resourceProfiles = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ProfilesData "dictionary" ProfilesDictionary where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesData'dictionary
+           (\ x__ y__ -> x__ {_ProfilesData'dictionary = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ProfilesData "maybe'dictionary" (Prelude.Maybe ProfilesDictionary) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesData'dictionary
+           (\ x__ y__ -> x__ {_ProfilesData'dictionary = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ProfilesData where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.ProfilesData"
+  packedMessageDescriptor _
+    = "\n\
+      \\fProfilesData\DC2i\n\
+      \\DC1resource_profiles\CAN\SOH \ETX(\v2<.opentelemetry.proto.profiles.v1development.ResourceProfilesR\DLEresourceProfiles\DC2^\n\
+      \\n\
+      \dictionary\CAN\STX \SOH(\v2>.opentelemetry.proto.profiles.v1development.ProfilesDictionaryR\n\
+      \dictionary"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        resourceProfiles__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "resource_profiles"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ResourceProfiles)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"resourceProfiles")) ::
+              Data.ProtoLens.FieldDescriptor ProfilesData
+        dictionary__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "dictionary"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ProfilesDictionary)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'dictionary")) ::
+              Data.ProtoLens.FieldDescriptor ProfilesData
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, resourceProfiles__field_descriptor),
+           (Data.ProtoLens.Tag 2, dictionary__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ProfilesData'_unknownFields
+        (\ x__ y__ -> x__ {_ProfilesData'_unknownFields = y__})
+  defMessage
+    = ProfilesData'_constructor
+        {_ProfilesData'resourceProfiles = Data.Vector.Generic.empty,
+         _ProfilesData'dictionary = Prelude.Nothing,
+         _ProfilesData'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ProfilesData
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ResourceProfiles
+             -> Data.ProtoLens.Encoding.Bytes.Parser ProfilesData
+        loop x mutable'resourceProfiles
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'resourceProfiles <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                      mutable'resourceProfiles)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'resourceProfiles")
+                              frozen'resourceProfiles x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "resource_profiles"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'resourceProfiles y)
+                                loop x v
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "dictionary"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"dictionary") y x)
+                                  mutable'resourceProfiles
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'resourceProfiles
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'resourceProfiles <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'resourceProfiles)
+          "ProfilesData"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'resourceProfiles") _x))
+             ((Data.Monoid.<>)
+                (case
+                     Lens.Family2.view
+                       (Data.ProtoLens.Field.field @"maybe'dictionary") _x
+                 of
+                   Prelude.Nothing -> Data.Monoid.mempty
+                   (Prelude.Just _v)
+                     -> (Data.Monoid.<>)
+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                          ((Prelude..)
+                             (\ bs
+                                -> (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                             Data.ProtoLens.encodeMessage _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData ProfilesData where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ProfilesData'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ProfilesData'resourceProfiles x__)
+                (Control.DeepSeq.deepseq (_ProfilesData'dictionary x__) ()))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.mappingTable' @:: Lens' ProfilesDictionary [Mapping]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'mappingTable' @:: Lens' ProfilesDictionary (Data.Vector.Vector Mapping)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.locationTable' @:: Lens' ProfilesDictionary [Location]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'locationTable' @:: Lens' ProfilesDictionary (Data.Vector.Vector Location)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.functionTable' @:: Lens' ProfilesDictionary [Function]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'functionTable' @:: Lens' ProfilesDictionary (Data.Vector.Vector Function)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.linkTable' @:: Lens' ProfilesDictionary [Link]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'linkTable' @:: Lens' ProfilesDictionary (Data.Vector.Vector Link)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.stringTable' @:: Lens' ProfilesDictionary [Data.Text.Text]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'stringTable' @:: Lens' ProfilesDictionary (Data.Vector.Vector Data.Text.Text)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.attributeTable' @:: Lens' ProfilesDictionary [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'attributeTable' @:: Lens' ProfilesDictionary (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.attributeUnits' @:: Lens' ProfilesDictionary [AttributeUnit]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'attributeUnits' @:: Lens' ProfilesDictionary (Data.Vector.Vector AttributeUnit)@ -}
+data ProfilesDictionary
+  = ProfilesDictionary'_constructor {_ProfilesDictionary'mappingTable :: !(Data.Vector.Vector Mapping),
+                                     _ProfilesDictionary'locationTable :: !(Data.Vector.Vector Location),
+                                     _ProfilesDictionary'functionTable :: !(Data.Vector.Vector Function),
+                                     _ProfilesDictionary'linkTable :: !(Data.Vector.Vector Link),
+                                     _ProfilesDictionary'stringTable :: !(Data.Vector.Vector Data.Text.Text),
+                                     _ProfilesDictionary'attributeTable :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
+                                     _ProfilesDictionary'attributeUnits :: !(Data.Vector.Vector AttributeUnit),
+                                     _ProfilesDictionary'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ProfilesDictionary where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "mappingTable" [Mapping] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'mappingTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'mappingTable = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "vec'mappingTable" (Data.Vector.Vector Mapping) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'mappingTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'mappingTable = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "locationTable" [Location] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'locationTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'locationTable = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "vec'locationTable" (Data.Vector.Vector Location) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'locationTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'locationTable = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "functionTable" [Function] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'functionTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'functionTable = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "vec'functionTable" (Data.Vector.Vector Function) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'functionTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'functionTable = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "linkTable" [Link] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'linkTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'linkTable = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "vec'linkTable" (Data.Vector.Vector Link) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'linkTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'linkTable = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "stringTable" [Data.Text.Text] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'stringTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'stringTable = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "vec'stringTable" (Data.Vector.Vector Data.Text.Text) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'stringTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'stringTable = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "attributeTable" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'attributeTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'attributeTable = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "vec'attributeTable" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'attributeTable
+           (\ x__ y__ -> x__ {_ProfilesDictionary'attributeTable = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "attributeUnits" [AttributeUnit] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'attributeUnits
+           (\ x__ y__ -> x__ {_ProfilesDictionary'attributeUnits = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ProfilesDictionary "vec'attributeUnits" (Data.Vector.Vector AttributeUnit) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ProfilesDictionary'attributeUnits
+           (\ x__ y__ -> x__ {_ProfilesDictionary'attributeUnits = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ProfilesDictionary where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.ProfilesDictionary"
+  packedMessageDescriptor _
+    = "\n\
+      \\DC2ProfilesDictionary\DC2X\n\
+      \\rmapping_table\CAN\SOH \ETX(\v23.opentelemetry.proto.profiles.v1development.MappingR\fmappingTable\DC2[\n\
+      \\SOlocation_table\CAN\STX \ETX(\v24.opentelemetry.proto.profiles.v1development.LocationR\rlocationTable\DC2[\n\
+      \\SOfunction_table\CAN\ETX \ETX(\v24.opentelemetry.proto.profiles.v1development.FunctionR\rfunctionTable\DC2O\n\
+      \\n\
+      \link_table\CAN\EOT \ETX(\v20.opentelemetry.proto.profiles.v1development.LinkR\tlinkTable\DC2!\n\
+      \\fstring_table\CAN\ENQ \ETX(\tR\vstringTable\DC2P\n\
+      \\SIattribute_table\CAN\ACK \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\SOattributeTable\DC2b\n\
+      \\SIattribute_units\CAN\a \ETX(\v29.opentelemetry.proto.profiles.v1development.AttributeUnitR\SOattributeUnits"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        mappingTable__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "mapping_table"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Mapping)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"mappingTable")) ::
+              Data.ProtoLens.FieldDescriptor ProfilesDictionary
+        locationTable__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "location_table"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Location)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"locationTable")) ::
+              Data.ProtoLens.FieldDescriptor ProfilesDictionary
+        functionTable__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "function_table"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Function)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"functionTable")) ::
+              Data.ProtoLens.FieldDescriptor ProfilesDictionary
+        linkTable__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "link_table"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Link)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"linkTable")) ::
+              Data.ProtoLens.FieldDescriptor ProfilesDictionary
+        stringTable__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "string_table"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"stringTable")) ::
+              Data.ProtoLens.FieldDescriptor ProfilesDictionary
+        attributeTable__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attribute_table"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"attributeTable")) ::
+              Data.ProtoLens.FieldDescriptor ProfilesDictionary
+        attributeUnits__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attribute_units"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor AttributeUnit)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"attributeUnits")) ::
+              Data.ProtoLens.FieldDescriptor ProfilesDictionary
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, mappingTable__field_descriptor),
+           (Data.ProtoLens.Tag 2, locationTable__field_descriptor),
+           (Data.ProtoLens.Tag 3, functionTable__field_descriptor),
+           (Data.ProtoLens.Tag 4, linkTable__field_descriptor),
+           (Data.ProtoLens.Tag 5, stringTable__field_descriptor),
+           (Data.ProtoLens.Tag 6, attributeTable__field_descriptor),
+           (Data.ProtoLens.Tag 7, attributeUnits__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ProfilesDictionary'_unknownFields
+        (\ x__ y__ -> x__ {_ProfilesDictionary'_unknownFields = y__})
+  defMessage
+    = ProfilesDictionary'_constructor
+        {_ProfilesDictionary'mappingTable = Data.Vector.Generic.empty,
+         _ProfilesDictionary'locationTable = Data.Vector.Generic.empty,
+         _ProfilesDictionary'functionTable = Data.Vector.Generic.empty,
+         _ProfilesDictionary'linkTable = Data.Vector.Generic.empty,
+         _ProfilesDictionary'stringTable = Data.Vector.Generic.empty,
+         _ProfilesDictionary'attributeTable = Data.Vector.Generic.empty,
+         _ProfilesDictionary'attributeUnits = Data.Vector.Generic.empty,
+         _ProfilesDictionary'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ProfilesDictionary
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld AttributeUnit
+                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Function
+                   -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Link
+                      -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Location
+                         -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Mapping
+                            -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text
+                               -> Data.ProtoLens.Encoding.Bytes.Parser ProfilesDictionary
+        loop
+          x
+          mutable'attributeTable
+          mutable'attributeUnits
+          mutable'functionTable
+          mutable'linkTable
+          mutable'locationTable
+          mutable'mappingTable
+          mutable'stringTable
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributeTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                    mutable'attributeTable)
+                      frozen'attributeUnits <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                    mutable'attributeUnits)
+                      frozen'functionTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                   mutable'functionTable)
+                      frozen'linkTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                               mutable'linkTable)
+                      frozen'locationTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                   mutable'locationTable)
+                      frozen'mappingTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                  mutable'mappingTable)
+                      frozen'stringTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                 mutable'stringTable)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributeTable")
+                              frozen'attributeTable
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'attributeUnits")
+                                 frozen'attributeUnits
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'functionTable")
+                                    frozen'functionTable
+                                    (Lens.Family2.set
+                                       (Data.ProtoLens.Field.field @"vec'linkTable")
+                                       frozen'linkTable
+                                       (Lens.Family2.set
+                                          (Data.ProtoLens.Field.field @"vec'locationTable")
+                                          frozen'locationTable
+                                          (Lens.Family2.set
+                                             (Data.ProtoLens.Field.field @"vec'mappingTable")
+                                             frozen'mappingTable
+                                             (Lens.Family2.set
+                                                (Data.ProtoLens.Field.field @"vec'stringTable")
+                                                frozen'stringTable x))))))))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "mapping_table"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'mappingTable y)
+                                loop
+                                  x mutable'attributeTable mutable'attributeUnits
+                                  mutable'functionTable mutable'linkTable mutable'locationTable v
+                                  mutable'stringTable
+                        18
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "location_table"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'locationTable y)
+                                loop
+                                  x mutable'attributeTable mutable'attributeUnits
+                                  mutable'functionTable mutable'linkTable v mutable'mappingTable
+                                  mutable'stringTable
+                        26
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "function_table"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'functionTable y)
+                                loop
+                                  x mutable'attributeTable mutable'attributeUnits v
+                                  mutable'linkTable mutable'locationTable mutable'mappingTable
+                                  mutable'stringTable
+                        34
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "link_table"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'linkTable y)
+                                loop
+                                  x mutable'attributeTable mutable'attributeUnits
+                                  mutable'functionTable v mutable'locationTable mutable'mappingTable
+                                  mutable'stringTable
+                        42
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.getText
+                                              (Prelude.fromIntegral len))
+                                        "string_table"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'stringTable y)
+                                loop
+                                  x mutable'attributeTable mutable'attributeUnits
+                                  mutable'functionTable mutable'linkTable mutable'locationTable
+                                  mutable'mappingTable v
+                        50
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "attribute_table"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'attributeTable y)
+                                loop
+                                  x v mutable'attributeUnits mutable'functionTable mutable'linkTable
+                                  mutable'locationTable mutable'mappingTable mutable'stringTable
+                        58
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "attribute_units"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'attributeUnits y)
+                                loop
+                                  x mutable'attributeTable v mutable'functionTable mutable'linkTable
+                                  mutable'locationTable mutable'mappingTable mutable'stringTable
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributeTable mutable'attributeUnits
+                                  mutable'functionTable mutable'linkTable mutable'locationTable
+                                  mutable'mappingTable mutable'stringTable
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributeTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                          Data.ProtoLens.Encoding.Growing.new
+              mutable'attributeUnits <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                          Data.ProtoLens.Encoding.Growing.new
+              mutable'functionTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         Data.ProtoLens.Encoding.Growing.new
+              mutable'linkTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                     Data.ProtoLens.Encoding.Growing.new
+              mutable'locationTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         Data.ProtoLens.Encoding.Growing.new
+              mutable'mappingTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        Data.ProtoLens.Encoding.Growing.new
+              mutable'stringTable <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'attributeTable
+                mutable'attributeUnits mutable'functionTable mutable'linkTable
+                mutable'locationTable mutable'mappingTable mutable'stringTable)
+          "ProfilesDictionary"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'mappingTable") _x))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"vec'locationTable") _x))
+                ((Data.Monoid.<>)
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v
+                         -> (Data.Monoid.<>)
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                              ((Prelude..)
+                                 (\ bs
+                                    -> (Data.Monoid.<>)
+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                 Data.ProtoLens.encodeMessage _v))
+                      (Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"vec'functionTable") _x))
+                   ((Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                         (\ _v
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                 ((Prelude..)
+                                    (\ bs
+                                       -> (Data.Monoid.<>)
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Data.ProtoLens.encodeMessage _v))
+                         (Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"vec'linkTable") _x))
+                      ((Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                            (\ _v
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+                                    ((Prelude..)
+                                       (\ bs
+                                          -> (Data.Monoid.<>)
+                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                  (Prelude.fromIntegral
+                                                     (Data.ByteString.length bs)))
+                                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                       Data.Text.Encoding.encodeUtf8 _v))
+                            (Lens.Family2.view
+                               (Data.ProtoLens.Field.field @"vec'stringTable") _x))
+                         ((Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                               (\ _v
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                                       ((Prelude..)
+                                          (\ bs
+                                             -> (Data.Monoid.<>)
+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                     (Prelude.fromIntegral
+                                                        (Data.ByteString.length bs)))
+                                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                          Data.ProtoLens.encodeMessage _v))
+                               (Lens.Family2.view
+                                  (Data.ProtoLens.Field.field @"vec'attributeTable") _x))
+                            ((Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                  (\ _v
+                                     -> (Data.Monoid.<>)
+                                          (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+                                          ((Prelude..)
+                                             (\ bs
+                                                -> (Data.Monoid.<>)
+                                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                        (Prelude.fromIntegral
+                                                           (Data.ByteString.length bs)))
+                                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                             Data.ProtoLens.encodeMessage _v))
+                                  (Lens.Family2.view
+                                     (Data.ProtoLens.Field.field @"vec'attributeUnits") _x))
+                               (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                  (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))
+instance Control.DeepSeq.NFData ProfilesDictionary where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ProfilesDictionary'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ProfilesDictionary'mappingTable x__)
+                (Control.DeepSeq.deepseq
+                   (_ProfilesDictionary'locationTable x__)
+                   (Control.DeepSeq.deepseq
+                      (_ProfilesDictionary'functionTable x__)
+                      (Control.DeepSeq.deepseq
+                         (_ProfilesDictionary'linkTable x__)
+                         (Control.DeepSeq.deepseq
+                            (_ProfilesDictionary'stringTable x__)
+                            (Control.DeepSeq.deepseq
+                               (_ProfilesDictionary'attributeTable x__)
+                               (Control.DeepSeq.deepseq
+                                  (_ProfilesDictionary'attributeUnits x__) ())))))))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.resource' @:: Lens' ResourceProfiles Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.maybe'resource' @:: Lens' ResourceProfiles (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.scopeProfiles' @:: Lens' ResourceProfiles [ScopeProfiles]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'scopeProfiles' @:: Lens' ResourceProfiles (Data.Vector.Vector ScopeProfiles)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.schemaUrl' @:: Lens' ResourceProfiles Data.Text.Text@ -}
+data ResourceProfiles
+  = ResourceProfiles'_constructor {_ResourceProfiles'resource :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource),
+                                   _ResourceProfiles'scopeProfiles :: !(Data.Vector.Vector ScopeProfiles),
+                                   _ResourceProfiles'schemaUrl :: !Data.Text.Text,
+                                   _ResourceProfiles'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ResourceProfiles where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ResourceProfiles "resource" Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceProfiles'resource
+           (\ x__ y__ -> x__ {_ResourceProfiles'resource = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ResourceProfiles "maybe'resource" (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceProfiles'resource
+           (\ x__ y__ -> x__ {_ResourceProfiles'resource = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ResourceProfiles "scopeProfiles" [ScopeProfiles] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceProfiles'scopeProfiles
+           (\ x__ y__ -> x__ {_ResourceProfiles'scopeProfiles = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ResourceProfiles "vec'scopeProfiles" (Data.Vector.Vector ScopeProfiles) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceProfiles'scopeProfiles
+           (\ x__ y__ -> x__ {_ResourceProfiles'scopeProfiles = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ResourceProfiles "schemaUrl" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceProfiles'schemaUrl
+           (\ x__ y__ -> x__ {_ResourceProfiles'schemaUrl = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ResourceProfiles where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.ResourceProfiles"
+  packedMessageDescriptor _
+    = "\n\
+      \\DLEResourceProfiles\DC2E\n\
+      \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2`\n\
+      \\SOscope_profiles\CAN\STX \ETX(\v29.opentelemetry.proto.profiles.v1development.ScopeProfilesR\rscopeProfiles\DC2\GS\n\
+      \\n\
+      \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        resource__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "resource"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'resource")) ::
+              Data.ProtoLens.FieldDescriptor ResourceProfiles
+        scopeProfiles__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "scope_profiles"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ScopeProfiles)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"scopeProfiles")) ::
+              Data.ProtoLens.FieldDescriptor ResourceProfiles
+        schemaUrl__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "schema_url"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
+              Data.ProtoLens.FieldDescriptor ResourceProfiles
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, resource__field_descriptor),
+           (Data.ProtoLens.Tag 2, scopeProfiles__field_descriptor),
+           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ResourceProfiles'_unknownFields
+        (\ x__ y__ -> x__ {_ResourceProfiles'_unknownFields = y__})
+  defMessage
+    = ResourceProfiles'_constructor
+        {_ResourceProfiles'resource = Prelude.Nothing,
+         _ResourceProfiles'scopeProfiles = Data.Vector.Generic.empty,
+         _ResourceProfiles'schemaUrl = Data.ProtoLens.fieldDefault,
+         _ResourceProfiles'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ResourceProfiles
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ScopeProfiles
+             -> Data.ProtoLens.Encoding.Bytes.Parser ResourceProfiles
+        loop x mutable'scopeProfiles
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'scopeProfiles <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                   mutable'scopeProfiles)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'scopeProfiles")
+                              frozen'scopeProfiles x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "resource"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"resource") y x)
+                                  mutable'scopeProfiles
+                        18
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "scope_profiles"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'scopeProfiles y)
+                                loop x v
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "schema_url"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
+                                  mutable'scopeProfiles
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'scopeProfiles
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'scopeProfiles <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'scopeProfiles)
+          "ResourceProfiles"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'resource") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"vec'scopeProfiles") _x))
+                ((Data.Monoid.<>)
+                   (let
+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((Prelude..)
+                               (\ bs
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               Data.Text.Encoding.encodeUtf8 _v))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData ResourceProfiles where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ResourceProfiles'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ResourceProfiles'resource x__)
+                (Control.DeepSeq.deepseq
+                   (_ResourceProfiles'scopeProfiles x__)
+                   (Control.DeepSeq.deepseq (_ResourceProfiles'schemaUrl x__) ())))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.locationsStartIndex' @:: Lens' Sample Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.locationsLength' @:: Lens' Sample Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.value' @:: Lens' Sample [Data.Int.Int64]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'value' @:: Lens' Sample (Data.Vector.Unboxed.Vector Data.Int.Int64)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.attributeIndices' @:: Lens' Sample [Data.Int.Int32]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'attributeIndices' @:: Lens' Sample (Data.Vector.Unboxed.Vector Data.Int.Int32)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.linkIndex' @:: Lens' Sample Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.maybe'linkIndex' @:: Lens' Sample (Prelude.Maybe Data.Int.Int32)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.timestampsUnixNano' @:: Lens' Sample [Data.Word.Word64]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'timestampsUnixNano' @:: Lens' Sample (Data.Vector.Unboxed.Vector Data.Word.Word64)@ -}
+data Sample
+  = Sample'_constructor {_Sample'locationsStartIndex :: !Data.Int.Int32,
+                         _Sample'locationsLength :: !Data.Int.Int32,
+                         _Sample'value :: !(Data.Vector.Unboxed.Vector Data.Int.Int64),
+                         _Sample'attributeIndices :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),
+                         _Sample'linkIndex :: !(Prelude.Maybe Data.Int.Int32),
+                         _Sample'timestampsUnixNano :: !(Data.Vector.Unboxed.Vector Data.Word.Word64),
+                         _Sample'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Sample where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Sample "locationsStartIndex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'locationsStartIndex
+           (\ x__ y__ -> x__ {_Sample'locationsStartIndex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Sample "locationsLength" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'locationsLength
+           (\ x__ y__ -> x__ {_Sample'locationsLength = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Sample "value" [Data.Int.Int64] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'value (\ x__ y__ -> x__ {_Sample'value = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Sample "vec'value" (Data.Vector.Unboxed.Vector Data.Int.Int64) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'value (\ x__ y__ -> x__ {_Sample'value = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Sample "attributeIndices" [Data.Int.Int32] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'attributeIndices
+           (\ x__ y__ -> x__ {_Sample'attributeIndices = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Sample "vec'attributeIndices" (Data.Vector.Unboxed.Vector Data.Int.Int32) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'attributeIndices
+           (\ x__ y__ -> x__ {_Sample'attributeIndices = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Sample "linkIndex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'linkIndex (\ x__ y__ -> x__ {_Sample'linkIndex = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField Sample "maybe'linkIndex" (Prelude.Maybe Data.Int.Int32) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'linkIndex (\ x__ y__ -> x__ {_Sample'linkIndex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Sample "timestampsUnixNano" [Data.Word.Word64] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'timestampsUnixNano
+           (\ x__ y__ -> x__ {_Sample'timestampsUnixNano = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Sample "vec'timestampsUnixNano" (Data.Vector.Unboxed.Vector Data.Word.Word64) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Sample'timestampsUnixNano
+           (\ x__ y__ -> x__ {_Sample'timestampsUnixNano = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Sample where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.Sample"
+  packedMessageDescriptor _
+    = "\n\
+      \\ACKSample\DC22\n\
+      \\NAKlocations_start_index\CAN\SOH \SOH(\ENQR\DC3locationsStartIndex\DC2)\n\
+      \\DLElocations_length\CAN\STX \SOH(\ENQR\SIlocationsLength\DC2\DC4\n\
+      \\ENQvalue\CAN\ETX \ETX(\ETXR\ENQvalue\DC2+\n\
+      \\DC1attribute_indices\CAN\EOT \ETX(\ENQR\DLEattributeIndices\DC2\"\n\
+      \\n\
+      \link_index\CAN\ENQ \SOH(\ENQH\NULR\tlinkIndex\136\SOH\SOH\DC20\n\
+      \\DC4timestamps_unix_nano\CAN\ACK \ETX(\EOTR\DC2timestampsUnixNanoB\r\n\
+      \\v_link_index"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        locationsStartIndex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "locations_start_index"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"locationsStartIndex")) ::
+              Data.ProtoLens.FieldDescriptor Sample
+        locationsLength__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "locations_length"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"locationsLength")) ::
+              Data.ProtoLens.FieldDescriptor Sample
+        value__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "value"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Packed (Data.ProtoLens.Field.field @"value")) ::
+              Data.ProtoLens.FieldDescriptor Sample
+        attributeIndices__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attribute_indices"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Packed
+                 (Data.ProtoLens.Field.field @"attributeIndices")) ::
+              Data.ProtoLens.FieldDescriptor Sample
+        linkIndex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "link_index"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'linkIndex")) ::
+              Data.ProtoLens.FieldDescriptor Sample
+        timestampsUnixNano__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "timestamps_unix_nano"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Packed
+                 (Data.ProtoLens.Field.field @"timestampsUnixNano")) ::
+              Data.ProtoLens.FieldDescriptor Sample
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, locationsStartIndex__field_descriptor),
+           (Data.ProtoLens.Tag 2, locationsLength__field_descriptor),
+           (Data.ProtoLens.Tag 3, value__field_descriptor),
+           (Data.ProtoLens.Tag 4, attributeIndices__field_descriptor),
+           (Data.ProtoLens.Tag 5, linkIndex__field_descriptor),
+           (Data.ProtoLens.Tag 6, timestampsUnixNano__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Sample'_unknownFields
+        (\ x__ y__ -> x__ {_Sample'_unknownFields = y__})
+  defMessage
+    = Sample'_constructor
+        {_Sample'locationsStartIndex = Data.ProtoLens.fieldDefault,
+         _Sample'locationsLength = Data.ProtoLens.fieldDefault,
+         _Sample'value = Data.Vector.Generic.empty,
+         _Sample'attributeIndices = Data.Vector.Generic.empty,
+         _Sample'linkIndex = Prelude.Nothing,
+         _Sample'timestampsUnixNano = Data.Vector.Generic.empty,
+         _Sample'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Sample
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Word.Word64
+                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int64
+                   -> Data.ProtoLens.Encoding.Bytes.Parser Sample
+        loop
+          x
+          mutable'attributeIndices
+          mutable'timestampsUnixNano
+          mutable'value
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributeIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                   (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                      mutable'attributeIndices)
+                      frozen'timestampsUnixNano <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                     (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                        mutable'timestampsUnixNano)
+                      frozen'value <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'value)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributeIndices")
+                              frozen'attributeIndices
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'timestampsUnixNano")
+                                 frozen'timestampsUnixNano
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'value") frozen'value x))))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "locations_start_index"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"locationsStartIndex") y x)
+                                  mutable'attributeIndices mutable'timestampsUnixNano mutable'value
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "locations_length"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"locationsLength") y x)
+                                  mutable'attributeIndices mutable'timestampsUnixNano mutable'value
+                        24
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (Prelude.fmap
+                                           Prelude.fromIntegral
+                                           Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                        "value"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'value y)
+                                loop x mutable'attributeIndices mutable'timestampsUnixNano v
+                        26
+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                        Data.ProtoLens.Encoding.Bytes.isolate
+                                          (Prelude.fromIntegral len)
+                                          ((let
+                                              ploop qs
+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                     if packedEnd then
+                                                         Prelude.return qs
+                                                     else
+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                                                    (Prelude.fmap
+                                                                       Prelude.fromIntegral
+                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                    "value"
+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                     (Data.ProtoLens.Encoding.Growing.append
+                                                                        qs q)
+                                                            ploop qs'
+                                            in ploop)
+                                             mutable'value)
+                                loop x mutable'attributeIndices mutable'timestampsUnixNano y
+                        32
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (Prelude.fmap
+                                           Prelude.fromIntegral
+                                           Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                        "attribute_indices"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'attributeIndices y)
+                                loop x v mutable'timestampsUnixNano mutable'value
+                        34
+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                        Data.ProtoLens.Encoding.Bytes.isolate
+                                          (Prelude.fromIntegral len)
+                                          ((let
+                                              ploop qs
+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                     if packedEnd then
+                                                         Prelude.return qs
+                                                     else
+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                                                    (Prelude.fmap
+                                                                       Prelude.fromIntegral
+                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                                                    "attribute_indices"
+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                     (Data.ProtoLens.Encoding.Growing.append
+                                                                        qs q)
+                                                            ploop qs'
+                                            in ploop)
+                                             mutable'attributeIndices)
+                                loop x y mutable'timestampsUnixNano mutable'value
+                        40
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "link_index"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"linkIndex") y x)
+                                  mutable'attributeIndices mutable'timestampsUnixNano mutable'value
+                        48
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        Data.ProtoLens.Encoding.Bytes.getVarInt
+                                        "timestamps_unix_nano"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'timestampsUnixNano y)
+                                loop x mutable'attributeIndices v mutable'value
+                        50
+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                        Data.ProtoLens.Encoding.Bytes.isolate
+                                          (Prelude.fromIntegral len)
+                                          ((let
+                                              ploop qs
+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
+                                                     if packedEnd then
+                                                         Prelude.return qs
+                                                     else
+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                                                    Data.ProtoLens.Encoding.Bytes.getVarInt
+                                                                    "timestamps_unix_nano"
+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                                     (Data.ProtoLens.Encoding.Growing.append
+                                                                        qs q)
+                                                            ploop qs'
+                                            in ploop)
+                                             mutable'timestampsUnixNano)
+                                loop x mutable'attributeIndices y mutable'value
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributeIndices mutable'timestampsUnixNano mutable'value
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributeIndices <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                            Data.ProtoLens.Encoding.Growing.new
+              mutable'timestampsUnixNano <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                              Data.ProtoLens.Encoding.Growing.new
+              mutable'value <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                 Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'attributeIndices
+                mutable'timestampsUnixNano mutable'value)
+          "Sample"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"locationsStartIndex") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      ((Prelude..)
+                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"locationsLength") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         ((Prelude..)
+                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                ((Data.Monoid.<>)
+                   (let
+                      p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'value") _x
+                    in
+                      if Data.Vector.Generic.null p then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((\ bs
+                                -> (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               (Data.ProtoLens.Encoding.Bytes.runBuilder
+                                  (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                     ((Prelude..)
+                                        Data.ProtoLens.Encoding.Bytes.putVarInt
+                                        Prelude.fromIntegral)
+                                     p))))
+                   ((Data.Monoid.<>)
+                      (let
+                         p = Lens.Family2.view
+                               (Data.ProtoLens.Field.field @"vec'attributeIndices") _x
+                       in
+                         if Data.Vector.Generic.null p then
+                             Data.Monoid.mempty
+                         else
+                             (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                               ((\ bs
+                                   -> (Data.Monoid.<>)
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                  (Data.ProtoLens.Encoding.Bytes.runBuilder
+                                     (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                        ((Prelude..)
+                                           Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           Prelude.fromIntegral)
+                                        p))))
+                      ((Data.Monoid.<>)
+                         (case
+                              Lens.Family2.view
+                                (Data.ProtoLens.Field.field @"maybe'linkIndex") _x
+                          of
+                            Prelude.Nothing -> Data.Monoid.mempty
+                            (Prelude.Just _v)
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                                   ((Prelude..)
+                                      Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral
+                                      _v))
+                         ((Data.Monoid.<>)
+                            (let
+                               p = Lens.Family2.view
+                                     (Data.ProtoLens.Field.field @"vec'timestampsUnixNano") _x
+                             in
+                               if Data.Vector.Generic.null p then
+                                   Data.Monoid.mempty
+                               else
+                                   (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+                                     ((\ bs
+                                         -> (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                        (Data.ProtoLens.Encoding.Bytes.runBuilder
+                                           (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                              Data.ProtoLens.Encoding.Bytes.putVarInt p))))
+                            (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                               (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
+instance Control.DeepSeq.NFData Sample where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Sample'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Sample'locationsStartIndex x__)
+                (Control.DeepSeq.deepseq
+                   (_Sample'locationsLength x__)
+                   (Control.DeepSeq.deepseq
+                      (_Sample'value x__)
+                      (Control.DeepSeq.deepseq
+                         (_Sample'attributeIndices x__)
+                         (Control.DeepSeq.deepseq
+                            (_Sample'linkIndex x__)
+                            (Control.DeepSeq.deepseq (_Sample'timestampsUnixNano x__) ()))))))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.scope' @:: Lens' ScopeProfiles Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.maybe'scope' @:: Lens' ScopeProfiles (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.profiles' @:: Lens' ScopeProfiles [Profile]@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.vec'profiles' @:: Lens' ScopeProfiles (Data.Vector.Vector Profile)@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.schemaUrl' @:: Lens' ScopeProfiles Data.Text.Text@ -}
+data ScopeProfiles
+  = ScopeProfiles'_constructor {_ScopeProfiles'scope :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope),
+                                _ScopeProfiles'profiles :: !(Data.Vector.Vector Profile),
+                                _ScopeProfiles'schemaUrl :: !Data.Text.Text,
+                                _ScopeProfiles'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ScopeProfiles where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ScopeProfiles "scope" Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeProfiles'scope
+           (\ x__ y__ -> x__ {_ScopeProfiles'scope = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ScopeProfiles "maybe'scope" (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeProfiles'scope
+           (\ x__ y__ -> x__ {_ScopeProfiles'scope = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ScopeProfiles "profiles" [Profile] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeProfiles'profiles
+           (\ x__ y__ -> x__ {_ScopeProfiles'profiles = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ScopeProfiles "vec'profiles" (Data.Vector.Vector Profile) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeProfiles'profiles
+           (\ x__ y__ -> x__ {_ScopeProfiles'profiles = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ScopeProfiles "schemaUrl" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeProfiles'schemaUrl
+           (\ x__ y__ -> x__ {_ScopeProfiles'schemaUrl = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ScopeProfiles where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.ScopeProfiles"
+  packedMessageDescriptor _
+    = "\n\
+      \\rScopeProfiles\DC2I\n\
+      \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC2O\n\
+      \\bprofiles\CAN\STX \ETX(\v23.opentelemetry.proto.profiles.v1development.ProfileR\bprofiles\DC2\GS\n\
+      \\n\
+      \schema_url\CAN\ETX \SOH(\tR\tschemaUrl"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        scope__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "scope"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'scope")) ::
+              Data.ProtoLens.FieldDescriptor ScopeProfiles
+        profiles__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "profiles"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Profile)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"profiles")) ::
+              Data.ProtoLens.FieldDescriptor ScopeProfiles
+        schemaUrl__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "schema_url"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
+              Data.ProtoLens.FieldDescriptor ScopeProfiles
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, scope__field_descriptor),
+           (Data.ProtoLens.Tag 2, profiles__field_descriptor),
+           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ScopeProfiles'_unknownFields
+        (\ x__ y__ -> x__ {_ScopeProfiles'_unknownFields = y__})
+  defMessage
+    = ScopeProfiles'_constructor
+        {_ScopeProfiles'scope = Prelude.Nothing,
+         _ScopeProfiles'profiles = Data.Vector.Generic.empty,
+         _ScopeProfiles'schemaUrl = Data.ProtoLens.fieldDefault,
+         _ScopeProfiles'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ScopeProfiles
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Profile
+             -> Data.ProtoLens.Encoding.Bytes.Parser ScopeProfiles
+        loop x mutable'profiles
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'profiles <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                           (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                              mutable'profiles)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'profiles") frozen'profiles x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "scope"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scope") y x)
+                                  mutable'profiles
+                        18
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "profiles"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'profiles y)
+                                loop x v
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "schema_url"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
+                                  mutable'profiles
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'profiles
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'profiles <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                    Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'profiles)
+          "ScopeProfiles"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'scope") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"vec'profiles") _x))
+                ((Data.Monoid.<>)
+                   (let
+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((Prelude..)
+                               (\ bs
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               Data.Text.Encoding.encodeUtf8 _v))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData ScopeProfiles where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ScopeProfiles'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ScopeProfiles'scope x__)
+                (Control.DeepSeq.deepseq
+                   (_ScopeProfiles'profiles x__)
+                   (Control.DeepSeq.deepseq (_ScopeProfiles'schemaUrl x__) ())))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.typeStrindex' @:: Lens' ValueType Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.unitStrindex' @:: Lens' ValueType Data.Int.Int32@
+         * 'Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields.aggregationTemporality' @:: Lens' ValueType AggregationTemporality@ -}
+data ValueType
+  = ValueType'_constructor {_ValueType'typeStrindex :: !Data.Int.Int32,
+                            _ValueType'unitStrindex :: !Data.Int.Int32,
+                            _ValueType'aggregationTemporality :: !AggregationTemporality,
+                            _ValueType'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ValueType where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ValueType "typeStrindex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ValueType'typeStrindex
+           (\ x__ y__ -> x__ {_ValueType'typeStrindex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ValueType "unitStrindex" Data.Int.Int32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ValueType'unitStrindex
+           (\ x__ y__ -> x__ {_ValueType'unitStrindex = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ValueType "aggregationTemporality" AggregationTemporality where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ValueType'aggregationTemporality
+           (\ x__ y__ -> x__ {_ValueType'aggregationTemporality = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ValueType where
+  messageName _
+    = Data.Text.pack
+        "opentelemetry.proto.profiles.v1development.ValueType"
+  packedMessageDescriptor _
+    = "\n\
+      \\tValueType\DC2#\n\
+      \\rtype_strindex\CAN\SOH \SOH(\ENQR\ftypeStrindex\DC2#\n\
+      \\runit_strindex\CAN\STX \SOH(\ENQR\funitStrindex\DC2{\n\
+      \\ETBaggregation_temporality\CAN\ETX \SOH(\SO2B.opentelemetry.proto.profiles.v1development.AggregationTemporalityR\SYNaggregationTemporality"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        typeStrindex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "type_strindex"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"typeStrindex")) ::
+              Data.ProtoLens.FieldDescriptor ValueType
+        unitStrindex__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "unit_strindex"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"unitStrindex")) ::
+              Data.ProtoLens.FieldDescriptor ValueType
+        aggregationTemporality__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "aggregation_temporality"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                 Data.ProtoLens.FieldTypeDescriptor AggregationTemporality)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"aggregationTemporality")) ::
+              Data.ProtoLens.FieldDescriptor ValueType
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, typeStrindex__field_descriptor),
+           (Data.ProtoLens.Tag 2, unitStrindex__field_descriptor),
+           (Data.ProtoLens.Tag 3, aggregationTemporality__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ValueType'_unknownFields
+        (\ x__ y__ -> x__ {_ValueType'_unknownFields = y__})
+  defMessage
+    = ValueType'_constructor
+        {_ValueType'typeStrindex = Data.ProtoLens.fieldDefault,
+         _ValueType'unitStrindex = Data.ProtoLens.fieldDefault,
+         _ValueType'aggregationTemporality = Data.ProtoLens.fieldDefault,
+         _ValueType'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: ValueType -> Data.ProtoLens.Encoding.Bytes.Parser ValueType
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "type_strindex"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"typeStrindex") y x)
+                        16
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "unit_strindex"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"unitStrindex") y x)
+                        24
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.toEnum
+                                          (Prelude.fmap
+                                             Prelude.fromIntegral
+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                       "aggregation_temporality"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"aggregationTemporality") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "ValueType"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view (Data.ProtoLens.Field.field @"typeStrindex") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+                      ((Prelude..)
+                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v
+                     = Lens.Family2.view (Data.ProtoLens.Field.field @"unitStrindex") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+                         ((Prelude..)
+                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                ((Data.Monoid.<>)
+                   (let
+                      _v
+                        = Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"aggregationTemporality") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                            ((Prelude..)
+                               ((Prelude..)
+                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
+                               Prelude.fromEnum _v))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData ValueType where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ValueType'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ValueType'typeStrindex x__)
+                (Control.DeepSeq.deepseq
+                   (_ValueType'unitStrindex x__)
+                   (Control.DeepSeq.deepseq
+                      (_ValueType'aggregationTemporality x__) ())))
+packedFileDescriptor :: Data.ByteString.ByteString
+packedFileDescriptor
+  = "\n\
+    \9opentelemetry/proto/profiles/v1development/profiles.proto\DC2*opentelemetry.proto.profiles.v1development\SUB*opentelemetry/proto/common/v1/common.proto\SUB.opentelemetry/proto/resource/v1/resource.proto\"\210\EOT\n\
+    \\DC2ProfilesDictionary\DC2X\n\
+    \\rmapping_table\CAN\SOH \ETX(\v23.opentelemetry.proto.profiles.v1development.MappingR\fmappingTable\DC2[\n\
+    \\SOlocation_table\CAN\STX \ETX(\v24.opentelemetry.proto.profiles.v1development.LocationR\rlocationTable\DC2[\n\
+    \\SOfunction_table\CAN\ETX \ETX(\v24.opentelemetry.proto.profiles.v1development.FunctionR\rfunctionTable\DC2O\n\
+    \\n\
+    \link_table\CAN\EOT \ETX(\v20.opentelemetry.proto.profiles.v1development.LinkR\tlinkTable\DC2!\n\
+    \\fstring_table\CAN\ENQ \ETX(\tR\vstringTable\DC2P\n\
+    \\SIattribute_table\CAN\ACK \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\SOattributeTable\DC2b\n\
+    \\SIattribute_units\CAN\a \ETX(\v29.opentelemetry.proto.profiles.v1development.AttributeUnitR\SOattributeUnits\"\217\SOH\n\
+    \\fProfilesData\DC2i\n\
+    \\DC1resource_profiles\CAN\SOH \ETX(\v2<.opentelemetry.proto.profiles.v1development.ResourceProfilesR\DLEresourceProfiles\DC2^\n\
+    \\n\
+    \dictionary\CAN\STX \SOH(\v2>.opentelemetry.proto.profiles.v1development.ProfilesDictionaryR\n\
+    \dictionary\"\226\SOH\n\
+    \\DLEResourceProfiles\DC2E\n\
+    \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2`\n\
+    \\SOscope_profiles\CAN\STX \ETX(\v29.opentelemetry.proto.profiles.v1development.ScopeProfilesR\rscopeProfiles\DC2\GS\n\
+    \\n\
+    \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a\"\202\SOH\n\
+    \\rScopeProfiles\DC2I\n\
+    \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC2O\n\
+    \\bprofiles\CAN\STX \ETX(\v23.opentelemetry.proto.profiles.v1development.ProfileR\bprofiles\DC2\GS\n\
+    \\n\
+    \schema_url\CAN\ETX \SOH(\tR\tschemaUrl\"\225\ENQ\n\
+    \\aProfile\DC2V\n\
+    \\vsample_type\CAN\SOH \ETX(\v25.opentelemetry.proto.profiles.v1development.ValueTypeR\n\
+    \sampleType\DC2J\n\
+    \\ACKsample\CAN\STX \ETX(\v22.opentelemetry.proto.profiles.v1development.SampleR\ACKsample\DC2)\n\
+    \\DLElocation_indices\CAN\ETX \ETX(\ENQR\SIlocationIndices\DC2\GS\n\
+    \\n\
+    \time_nanos\CAN\EOT \SOH(\ETXR\ttimeNanos\DC2%\n\
+    \\SOduration_nanos\CAN\ENQ \SOH(\ETXR\rdurationNanos\DC2V\n\
+    \\vperiod_type\CAN\ACK \SOH(\v25.opentelemetry.proto.profiles.v1development.ValueTypeR\n\
+    \periodType\DC2\SYN\n\
+    \\ACKperiod\CAN\a \SOH(\ETXR\ACKperiod\DC2-\n\
+    \\DC2comment_strindices\CAN\b \ETX(\ENQR\DC1commentStrindices\DC29\n\
+    \\EMdefault_sample_type_index\CAN\t \SOH(\ENQR\SYNdefaultSampleTypeIndex\DC2\GS\n\
+    \\n\
+    \profile_id\CAN\n\
+    \ \SOH(\fR\tprofileId\DC28\n\
+    \\CANdropped_attributes_count\CAN\v \SOH(\rR\SYNdroppedAttributesCount\DC26\n\
+    \\ETBoriginal_payload_format\CAN\f \SOH(\tR\NAKoriginalPayloadFormat\DC2)\n\
+    \\DLEoriginal_payload\CAN\r \SOH(\fR\SIoriginalPayload\DC2+\n\
+    \\DC1attribute_indices\CAN\SO \ETX(\ENQR\DLEattributeIndices\"j\n\
+    \\rAttributeUnit\DC24\n\
+    \\SYNattribute_key_strindex\CAN\SOH \SOH(\ENQR\DC4attributeKeyStrindex\DC2#\n\
+    \\runit_strindex\CAN\STX \SOH(\ENQR\funitStrindex\":\n\
+    \\EOTLink\DC2\EM\n\
+    \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
+    \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\"\210\SOH\n\
+    \\tValueType\DC2#\n\
+    \\rtype_strindex\CAN\SOH \SOH(\ENQR\ftypeStrindex\DC2#\n\
+    \\runit_strindex\CAN\STX \SOH(\ENQR\funitStrindex\DC2{\n\
+    \\ETBaggregation_temporality\CAN\ETX \SOH(\SO2B.opentelemetry.proto.profiles.v1development.AggregationTemporalityR\SYNaggregationTemporality\"\143\STX\n\
+    \\ACKSample\DC22\n\
+    \\NAKlocations_start_index\CAN\SOH \SOH(\ENQR\DC3locationsStartIndex\DC2)\n\
+    \\DLElocations_length\CAN\STX \SOH(\ENQR\SIlocationsLength\DC2\DC4\n\
+    \\ENQvalue\CAN\ETX \ETX(\ETXR\ENQvalue\DC2+\n\
+    \\DC1attribute_indices\CAN\EOT \ETX(\ENQR\DLEattributeIndices\DC2\"\n\
+    \\n\
+    \link_index\CAN\ENQ \SOH(\ENQH\NULR\tlinkIndex\136\SOH\SOH\DC20\n\
+    \\DC4timestamps_unix_nano\CAN\ACK \ETX(\EOTR\DC2timestampsUnixNanoB\r\n\
+    \\v_link_index\"\234\STX\n\
+    \\aMapping\DC2!\n\
+    \\fmemory_start\CAN\SOH \SOH(\EOTR\vmemoryStart\DC2!\n\
+    \\fmemory_limit\CAN\STX \SOH(\EOTR\vmemoryLimit\DC2\US\n\
+    \\vfile_offset\CAN\ETX \SOH(\EOTR\n\
+    \fileOffset\DC2+\n\
+    \\DC1filename_strindex\CAN\EOT \SOH(\ENQR\DLEfilenameStrindex\DC2+\n\
+    \\DC1attribute_indices\CAN\ENQ \ETX(\ENQR\DLEattributeIndices\DC2#\n\
+    \\rhas_functions\CAN\ACK \SOH(\bR\fhasFunctions\DC2#\n\
+    \\rhas_filenames\CAN\a \SOH(\bR\fhasFilenames\DC2(\n\
+    \\DLEhas_line_numbers\CAN\b \SOH(\bR\SOhasLineNumbers\DC2*\n\
+    \\DC1has_inline_frames\CAN\t \SOH(\bR\SIhasInlineFrames\"\240\SOH\n\
+    \\bLocation\DC2(\n\
+    \\rmapping_index\CAN\SOH \SOH(\ENQH\NULR\fmappingIndex\136\SOH\SOH\DC2\CAN\n\
+    \\aaddress\CAN\STX \SOH(\EOTR\aaddress\DC2D\n\
+    \\EOTline\CAN\ETX \ETX(\v20.opentelemetry.proto.profiles.v1development.LineR\EOTline\DC2\ESC\n\
+    \\tis_folded\CAN\EOT \SOH(\bR\bisFolded\DC2+\n\
+    \\DC1attribute_indices\CAN\ENQ \ETX(\ENQR\DLEattributeIndicesB\DLE\n\
+    \\SO_mapping_index\"Y\n\
+    \\EOTLine\DC2%\n\
+    \\SOfunction_index\CAN\SOH \SOH(\ENQR\rfunctionIndex\DC2\DC2\n\
+    \\EOTline\CAN\STX \SOH(\ETXR\EOTline\DC2\SYN\n\
+    \\ACKcolumn\CAN\ETX \SOH(\ETXR\ACKcolumn\"\173\SOH\n\
+    \\bFunction\DC2#\n\
+    \\rname_strindex\CAN\SOH \SOH(\ENQR\fnameStrindex\DC20\n\
+    \\DC4system_name_strindex\CAN\STX \SOH(\ENQR\DC2systemNameStrindex\DC2+\n\
+    \\DC1filename_strindex\CAN\ETX \SOH(\ENQR\DLEfilenameStrindex\DC2\GS\n\
+    \\n\
+    \start_line\CAN\EOT \SOH(\ETXR\tstartLine*\140\SOH\n\
+    \\SYNAggregationTemporality\DC2'\n\
+    \#AGGREGATION_TEMPORALITY_UNSPECIFIED\DLE\NUL\DC2!\n\
+    \\GSAGGREGATION_TEMPORALITY_DELTA\DLE\SOH\DC2&\n\
+    \\"AGGREGATION_TEMPORALITY_CUMULATIVE\DLE\STXB\164\SOH\n\
+    \-io.opentelemetry.proto.profiles.v1developmentB\rProfilesProtoP\SOHZ5go.opentelemetry.io/proto/otlp/profiles/v1development\170\STX*OpenTelemetry.Proto.Profiles.V1DevelopmentJ\131\184\SOH\n\
+    \\a\DC2\ENQ\RS\NUL\230\ETX\SOH\n\
+    \\229\t\n\
+    \\SOH\f\DC2\ETX\RS\NUL\DC22\218\t Copyright 2023, OpenTelemetry Authors\n\
+    \\n\
+    \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
+    \ you may not use this file except in compliance with the License.\n\
+    \ You may obtain a copy of the License at\n\
+    \\n\
+    \     http://www.apache.org/licenses/LICENSE-2.0\n\
+    \\n\
+    \ Unless required by applicable law or agreed to in writing, software\n\
+    \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
+    \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
+    \ See the License for the specific language governing permissions and\n\
+    \ limitations under the License.\n\
+    \\n\
+    \ This file includes work covered by the following copyright and permission notices:\n\
+    \\n\
+    \ Copyright 2016 Google Inc. All Rights Reserved.\n\
+    \\n\
+    \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
+    \ you may not use this file except in compliance with the License.\n\
+    \ You may obtain a copy of the License at\n\
+    \\n\
+    \     http://www.apache.org/licenses/LICENSE-2.0\n\
+    \\n\
+    \ Unless required by applicable law or agreed to in writing, software\n\
+    \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
+    \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
+    \ See the License for the specific language governing permissions and\n\
+    \ limitations under the License.\n\
+    \\n\
+    \\b\n\
+    \\SOH\STX\DC2\ETX \NUL3\n\
+    \\t\n\
+    \\STX\ETX\NUL\DC2\ETX\"\NUL4\n\
+    \\t\n\
+    \\STX\ETX\SOH\DC2\ETX#\NUL8\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX%\NULG\n\
+    \\t\n\
+    \\STX\b%\DC2\ETX%\NULG\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX&\NUL\"\n\
+    \\t\n\
+    \\STX\b\n\
+    \\DC2\ETX&\NUL\"\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX'\NULF\n\
+    \\t\n\
+    \\STX\b\SOH\DC2\ETX'\NULF\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX(\NUL.\n\
+    \\t\n\
+    \\STX\b\b\DC2\ETX(\NUL.\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX)\NULL\n\
+    \\t\n\
+    \\STX\b\v\DC2\ETX)\NULL\n\
+    \\156\NAK\n\
+    \\STX\EOT\NUL\DC2\EOT^\NULu\SOH\SUB_ ProfilesDictionary represents the profiles data shared across the\n\
+    \ entire message being sent.\n\
+    \2\174\DC4                Relationships Diagram\n\
+    \\n\
+    \ \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144                      LEGEND\n\
+    \ \226\148\130   ProfilesData   \226\148\130 \226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144\n\
+    \ \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152      \226\148\130           \226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\150\182 embedded\n\
+    \   \226\148\130                       \226\148\130\n\
+    \   \226\148\130 1-n                   \226\148\130           \226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\150\183 referenced by index\n\
+    \   \226\150\188                       \226\150\188\n\
+    \ \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144   \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144\n\
+    \ \226\148\130 ResourceProfiles \226\148\130   \226\148\130 ProfilesDictionary \226\148\130\n\
+    \ \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152   \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152\n\
+    \   \226\148\130\n\
+    \   \226\148\130 1-n\n\
+    \   \226\150\188\n\
+    \ \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144\n\
+    \ \226\148\130  ScopeProfiles   \226\148\130\n\
+    \ \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152\n\
+    \   \226\148\130\n\
+    \   \226\148\130 1-1\n\
+    \   \226\150\188\n\
+    \ \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144\n\
+    \ \226\148\130      Profile     \226\148\130\n\
+    \ \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152\n\
+    \   \226\148\130                                n-1\n\
+    \   \226\148\130 1-n         \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144\n\
+    \   \226\150\188             \226\148\130                                       \226\150\189\n\
+    \ \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144   1-n   \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144      \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144\n\
+    \ \226\148\130      Sample      \226\148\130 \226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\150\183 \226\148\130   KeyValue   \226\148\130      \226\148\130   Link   \226\148\130\n\
+    \ \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152         \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152      \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152\n\
+    \   \226\148\130                    1-n       \226\150\179      \226\150\179\n\
+    \   \226\148\130 1-n        \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152      \226\148\130 1-n\n\
+    \   \226\150\189            \226\148\130                        \226\148\130\n\
+    \ \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144   n-1   \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144\n\
+    \ \226\148\130     Location     \226\148\130 \226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\150\183 \226\148\130   Mapping    \226\148\130\n\
+    \ \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152         \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152\n\
+    \   \226\148\130\n\
+    \   \226\148\130 1-n\n\
+    \   \226\150\188\n\
+    \ \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144\n\
+    \ \226\148\130       Line       \226\148\130\n\
+    \ \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152\n\
+    \   \226\148\130\n\
+    \   \226\148\130 1-1\n\
+    \   \226\150\189\n\
+    \ \226\148\140\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\144\n\
+    \ \226\148\130     Function     \226\148\130\n\
+    \ \226\148\148\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\128\226\148\152\n\
+    \\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX^\b\SUB\n\
+    \\156\SOH\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\ETXa\STX%\SUB\142\SOH Mappings from address ranges to the image/binary/library mapped\n\
+    \ into that address range referenced by locations via Location.mapping_index.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETXa\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETXa\v\DC2\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETXa\DC3 \n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETXa#$\n\
+    \L\n\
+    \\EOT\EOT\NUL\STX\SOH\DC2\ETXd\STX'\SUB? Locations referenced by samples via Profile.location_indices.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\EOT\DC2\ETXd\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\ACK\DC2\ETXd\v\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETXd\DC4\"\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETXd%&\n\
+    \I\n\
+    \\EOT\EOT\NUL\STX\STX\DC2\ETXg\STX'\SUB< Functions referenced by locations via Line.function_index.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\EOT\DC2\ETXg\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\ACK\DC2\ETXg\v\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\SOH\DC2\ETXg\DC4\"\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETXg%&\n\
+    \A\n\
+    \\EOT\EOT\NUL\STX\ETX\DC2\ETXj\STX\US\SUB4 Links referenced by samples via Sample.link_index.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ETX\EOT\DC2\ETXj\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ETX\ACK\DC2\ETXj\v\SI\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ETX\SOH\DC2\ETXj\DLE\SUB\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ETX\ETX\DC2\ETXj\GS\RS\n\
+    \m\n\
+    \\EOT\EOT\NUL\STX\EOT\DC2\ETXn\STX#\SUB` A common table for strings referenced by various messages.\n\
+    \ string_table[0] must always be \"\".\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\EOT\EOT\DC2\ETXn\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\EOT\ENQ\DC2\ETXn\v\DC1\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\EOT\SOH\DC2\ETXn\DC2\RS\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\EOT\ETX\DC2\ETXn!\"\n\
+    \L\n\
+    \\EOT\EOT\NUL\STX\ENQ\DC2\ETXq\STXF\SUB? A common table for attributes referenced by various messages.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ENQ\EOT\DC2\ETXq\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ENQ\ACK\DC2\ETXq\v1\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ENQ\SOH\DC2\ETXq2A\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ENQ\ETX\DC2\ETXqDE\n\
+    \E\n\
+    \\EOT\EOT\NUL\STX\ACK\DC2\ETXt\STX-\SUB8 Represents a mapping between Attribute Keys and Units.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ACK\EOT\DC2\ETXt\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ACK\ACK\DC2\ETXt\v\CAN\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ACK\SOH\DC2\ETXt\EM(\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\ACK\ETX\DC2\ETXt+,\n\
+    \\212\ETX\n\
+    \\STX\EOT\SOH\DC2\ACK\129\SOH\NUL\141\SOH\SOH\SUB\197\ETX ProfilesData represents the profiles data that can be stored in persistent storage,\n\
+    \ OR can be embedded by other protocols that transfer OTLP profiles data but do not\n\
+    \ implement the OTLP protocol.\n\
+    \\n\
+    \ The main difference between this message and collector protocol is that\n\
+    \ in this message there will not be any \"control\" or \"metadata\" specific to\n\
+    \ OTLP protocol.\n\
+    \\n\
+    \ When new fields are added into this message, the OTLP request MUST be updated\n\
+    \ as well.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\SOH\SOH\DC2\EOT\129\SOH\b\DC4\n\
+    \\164\ETX\n\
+    \\EOT\EOT\SOH\STX\NUL\DC2\EOT\137\SOH\STX2\SUB\149\ETX An array of ResourceProfiles.\n\
+    \ For data coming from an SDK profiler, this array will typically contain one\n\
+    \ element. Host-level profilers will usually create one ResourceProfile per\n\
+    \ container, as well as one additional ResourceProfile grouping all samples\n\
+    \ from non-containerized processes.\n\
+    \ Other resource groupings are possible as well and clarified via\n\
+    \ Resource.attributes and semantic conventions.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\NUL\EOT\DC2\EOT\137\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\EOT\137\SOH\v\ESC\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\EOT\137\SOH\FS-\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\EOT\137\SOH01\n\
+    \2\n\
+    \\EOT\EOT\SOH\STX\SOH\DC2\EOT\140\SOH\STX$\SUB$ One instance of ProfilesDictionary\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\EOT\140\SOH\STX\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\EOT\140\SOH\NAK\US\n\
+    \\r\n\
+    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\EOT\140\SOH\"#\n\
+    \>\n\
+    \\STX\EOT\STX\DC2\ACK\145\SOH\NUL\162\SOH\SOH\SUB0 A collection of ScopeProfiles from a Resource.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\STX\SOH\DC2\EOT\145\SOH\b\CAN\n\
+    \\v\n\
+    \\ETX\EOT\STX\t\DC2\EOT\146\SOH\STX\DLE\n\
+    \\f\n\
+    \\EOT\EOT\STX\t\NUL\DC2\EOT\146\SOH\v\SI\n\
+    \\r\n\
+    \\ENQ\EOT\STX\t\NUL\SOH\DC2\EOT\146\SOH\v\SI\n\
+    \\r\n\
+    \\ENQ\EOT\STX\t\NUL\STX\DC2\EOT\146\SOH\v\SI\n\
+    \x\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\EOT\150\SOH\STX8\SUBj The resource for the profiles in this message.\n\
+    \ If this field is not set then no resource info is known.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\NUL\ACK\DC2\EOT\150\SOH\STX*\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\EOT\150\SOH+3\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\EOT\150\SOH67\n\
+    \G\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\EOT\153\SOH\STX,\SUB9 A list of ScopeProfiles that originate from a resource.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\SOH\EOT\DC2\EOT\153\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\SOH\ACK\DC2\EOT\153\SOH\v\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\EOT\153\SOH\EM'\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\EOT\153\SOH*+\n\
+    \\239\ETX\n\
+    \\EOT\EOT\STX\STX\STX\DC2\EOT\161\SOH\STX\CAN\SUB\224\ETX The Schema URL, if known. This is the identifier of the Schema that the resource data\n\
+    \ is recorded in. Notably, the last part of the URL path is the version number of the\n\
+    \ schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see\n\
+    \ https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n\
+    \ This schema_url applies to the data in the \"resource\" field. It does not apply\n\
+    \ to the data in the \"scope_profiles\" field which have their own schema_url field.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\STX\ENQ\DC2\EOT\161\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\STX\SOH\DC2\EOT\161\SOH\t\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\STX\STX\STX\ETX\DC2\EOT\161\SOH\SYN\ETB\n\
+    \M\n\
+    \\STX\EOT\ETX\DC2\ACK\165\SOH\NUL\180\SOH\SOH\SUB? A collection of Profiles produced by an InstrumentationScope.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\ETX\SOH\DC2\EOT\165\SOH\b\NAK\n\
+    \\209\SOH\n\
+    \\EOT\EOT\ETX\STX\NUL\DC2\EOT\169\SOH\STX?\SUB\194\SOH The instrumentation scope information for the profiles in this message.\n\
+    \ Semantically when InstrumentationScope isn't set, it is equivalent with\n\
+    \ an empty instrumentation scope name (unknown).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\NUL\ACK\DC2\EOT\169\SOH\STX4\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\EOT\169\SOH5:\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\EOT\169\SOH=>\n\
+    \P\n\
+    \\EOT\EOT\ETX\STX\SOH\DC2\EOT\172\SOH\STX \SUBB A list of Profiles that originate from an instrumentation scope.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SOH\EOT\DC2\EOT\172\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SOH\ACK\DC2\EOT\172\SOH\v\DC2\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\EOT\172\SOH\DC3\ESC\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\EOT\172\SOH\RS\US\n\
+    \\142\ETX\n\
+    \\EOT\EOT\ETX\STX\STX\DC2\EOT\179\SOH\STX\CAN\SUB\255\STX The Schema URL, if known. This is the identifier of the Schema that the profile data\n\
+    \ is recorded in. Notably, the last part of the URL path is the version number of the\n\
+    \ schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see\n\
+    \ https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n\
+    \ This schema_url applies to all profiles in the \"profiles\" field.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\STX\ENQ\DC2\EOT\179\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\EOT\179\SOH\t\DC3\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\EOT\179\SOH\SYN\ETB\n\
+    \\172\v\n\
+    \\STX\EOT\EOT\DC2\ACK\213\SOH\NUL\158\STX\SOH\SUB\203\ETX Represents a complete profile, including sample types, samples,\n\
+    \ mappings to binaries, locations, functions, string table, and additional metadata.\n\
+    \ It modifies and annotates pprof Profile with OpenTelemetry specific fields.\n\
+    \\n\
+    \ Note that whilst fields in this message retain the name and field id from pprof in most cases\n\
+    \ for ease of understanding data migration, it is not intended that pprof:Profile and\n\
+    \ OpenTelemetry:Profile encoding be wire compatible.\n\
+    \2\207\a Profile is a common stacktrace profile format.\n\
+    \\n\
+    \ Measurements represented with this format should follow the\n\
+    \ following conventions:\n\
+    \\n\
+    \ - Consumers should treat unset optional fields as if they had been\n\
+    \   set with their default value.\n\
+    \\n\
+    \ - When possible, measurements should be stored in \"unsampled\" form\n\
+    \   that is most useful to humans.  There should be enough\n\
+    \   information present to determine the original sampled values.\n\
+    \\n\
+    \ - On-disk, the serialized proto must be gzip-compressed.\n\
+    \\n\
+    \ - The profile is represented as a set of samples, where each sample\n\
+    \   references a sequence of locations, and where each location belongs\n\
+    \   to a mapping.\n\
+    \ - There is a N->1 relationship from sample.location_id entries to\n\
+    \   locations. For every sample.location_id entry there must be a\n\
+    \   unique Location with that index.\n\
+    \ - There is an optional N->1 relationship from locations to\n\
+    \   mappings. For every nonzero Location.mapping_id there must be a\n\
+    \   unique Mapping with that index.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\EOT\SOH\DC2\EOT\213\SOH\b\SI\n\
+    \\177\ETX\n\
+    \\EOT\EOT\EOT\STX\NUL\DC2\EOT\222\SOH\STX%\SUB\162\ETX A description of the samples associated with each Sample.value.\n\
+    \ For a cpu profile this might be:\n\
+    \   [[\"cpu\",\"nanoseconds\"]] or [[\"wall\",\"seconds\"]] or [[\"syscall\",\"count\"]]\n\
+    \ For a heap profile, this might be:\n\
+    \   [[\"allocations\",\"count\"], [\"space\",\"bytes\"]],\n\
+    \ If one of the values represents the number of events represented\n\
+    \ by the sample, by convention it should be at index 0 and use\n\
+    \ sample_type.unit == \"count\".\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\EOT\DC2\EOT\222\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\ACK\DC2\EOT\222\SOH\v\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\222\SOH\NAK \n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\222\SOH#$\n\
+    \<\n\
+    \\EOT\EOT\EOT\STX\SOH\DC2\EOT\224\SOH\STX\GS\SUB. The set of samples recorded in this profile.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\SOH\EOT\DC2\EOT\224\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\224\SOH\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\224\SOH\DC2\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\224\SOH\ESC\FS\n\
+    \M\n\
+    \\EOT\EOT\EOT\STX\STX\DC2\EOT\227\SOH\STX&\SUB? References to locations in ProfilesDictionary.location_table.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\STX\EOT\DC2\EOT\227\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\STX\ENQ\DC2\EOT\227\SOH\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\STX\SOH\DC2\EOT\227\SOH\DC1!\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\STX\ETX\DC2\EOT\227\SOH$%\n\
+    \\173\SOH\n\
+    \\EOT\EOT\EOT\STX\ETX\DC2\EOT\233\SOH\STX\ETB\SUBE Time of collection (UTC) represented as nanoseconds past the epoch.\n\
+    \2X The following fields 4-14 are informational, do not affect\n\
+    \ interpretation of results.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\ETX\ENQ\DC2\EOT\233\SOH\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\ETX\SOH\DC2\EOT\233\SOH\b\DC2\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\ETX\ETX\DC2\EOT\233\SOH\NAK\SYN\n\
+    \C\n\
+    \\EOT\EOT\EOT\STX\EOT\DC2\EOT\235\SOH\STX\ESC\SUB5 Duration of the profile, if a duration makes sense.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\EOT\ENQ\DC2\EOT\235\SOH\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\EOT\SOH\DC2\EOT\235\SOH\b\SYN\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\EOT\ETX\DC2\EOT\235\SOH\EM\SUB\n\
+    \m\n\
+    \\EOT\EOT\EOT\STX\ENQ\DC2\EOT\238\SOH\STX\FS\SUB_ The kind of events between sampled occurrences.\n\
+    \ e.g [ \"cpu\",\"cycles\" ] or [ \"heap\",\"bytes\" ]\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\ENQ\ACK\DC2\EOT\238\SOH\STX\v\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\ENQ\SOH\DC2\EOT\238\SOH\f\ETB\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\ENQ\ETX\DC2\EOT\238\SOH\SUB\ESC\n\
+    \A\n\
+    \\EOT\EOT\EOT\STX\ACK\DC2\EOT\240\SOH\STX\DC3\SUB3 The number of events between sampled occurrences.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\ACK\ENQ\DC2\EOT\240\SOH\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\ACK\SOH\DC2\EOT\240\SOH\b\SO\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\ACK\ETX\DC2\EOT\240\SOH\DC1\DC2\n\
+    \\245\STX\n\
+    \\EOT\EOT\EOT\STX\a\DC2\EOT\246\SOH\STX(\SUB\181\STX Free-form text associated with the profile. The text is displayed as is\n\
+    \ to the user by the tools that read profiles (e.g. by pprof). This field\n\
+    \ should not be used to store any machine-readable information, it is only\n\
+    \ for human-friendly content. The profile must stay functional if this field\n\
+    \ is cleaned.\n\
+    \\"/ Indices into ProfilesDictionary.string_table.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\a\EOT\DC2\EOT\246\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\a\ENQ\DC2\EOT\246\SOH\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\a\SOH\DC2\EOT\246\SOH\DC1#\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\a\ETX\DC2\EOT\246\SOH&'\n\
+    \L\n\
+    \\EOT\EOT\EOT\STX\b\DC2\EOT\248\SOH\STX&\SUB> Index into the sample_type array to the default sample type.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\b\ENQ\DC2\EOT\248\SOH\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\b\SOH\DC2\EOT\248\SOH\b!\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\b\ETX\DC2\EOT\248\SOH$%\n\
+    \\159\SOH\n\
+    \\EOT\EOT\EOT\STX\t\DC2\EOT\254\SOH\STX\CAN\SUB\144\SOH A globally unique identifier for a profile. The ID is a 16-byte array. An ID with\n\
+    \ all zeroes is considered invalid.\n\
+    \\n\
+    \ This field is required.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\t\ENQ\DC2\EOT\254\SOH\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\t\SOH\DC2\EOT\254\SOH\b\DC2\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\t\ETX\DC2\EOT\254\SOH\NAK\ETB\n\
+    \\247\SOH\n\
+    \\EOT\EOT\EOT\STX\n\
+    \\DC2\EOT\131\STX\STX'\SUB\232\SOH dropped_attributes_count is the number of attributes that were discarded. Attributes\n\
+    \ can be discarded because their keys are too long or because there are too many\n\
+    \ attributes. If this value is 0, then no attributes were dropped.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\n\
+    \\ENQ\DC2\EOT\131\STX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\n\
+    \\SOH\DC2\EOT\131\STX\t!\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\n\
+    \\ETX\DC2\EOT\131\STX$&\n\
+    \\151\SOH\n\
+    \\EOT\EOT\EOT\STX\v\DC2\EOT\134\STX\STX&\SUB\136\SOH Specifies format of the original payload. Common values are defined in semantic conventions. [required if original_payload is present]\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\v\ENQ\DC2\EOT\134\STX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\v\SOH\DC2\EOT\134\STX\t \n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\v\ETX\DC2\EOT\134\STX#%\n\
+    \\232\EOT\n\
+    \\EOT\EOT\EOT\STX\f\DC2\EOT\142\STX\STX\RS\SUB\217\EOT Original payload can be stored in this field. This can be useful for users who want to get the original payload.\n\
+    \ Formats such as JFR are highly extensible and can contain more information than what is defined in this spec.\n\
+    \ Inclusion of original payload should be configurable by the user. Default behavior should be to not include the original payload.\n\
+    \ If the original payload is in pprof format, it SHOULD not be included in this field.\n\
+    \ The field is optional, however if it is present then equivalent converted data should be populated in other fields\n\
+    \ of this message as far as is practicable.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\f\ENQ\DC2\EOT\142\STX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\f\SOH\DC2\EOT\142\STX\b\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\f\ETX\DC2\EOT\142\STX\ESC\GS\n\
+    \\243\ENQ\n\
+    \\EOT\EOT\EOT\STX\r\DC2\EOT\157\STX\STX(\SUB\228\ENQ References to attributes in attribute_table. [optional]\n\
+    \ It is a collection of key/value pairs. Note, global attributes\n\
+    \ like server name can be set using the resource API. Examples of attributes:\n\
+    \\n\
+    \     \"/http/user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36\"\n\
+    \     \"/http/server_latency\": 300\n\
+    \     \"abc.com/myattribute\": true\n\
+    \     \"abc.com/score\": 10.239\n\
+    \\n\
+    \ The OpenTelemetry API specification further restricts the allowed value types:\n\
+    \ https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute\n\
+    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
+    \ attribute with the same key).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\r\EOT\DC2\EOT\157\STX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\r\ENQ\DC2\EOT\157\STX\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\r\SOH\DC2\EOT\157\STX\DC1\"\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\r\ETX\DC2\EOT\157\STX%'\n\
+    \F\n\
+    \\STX\EOT\ENQ\DC2\ACK\161\STX\NUL\166\STX\SOH\SUB8 Represents a mapping between Attribute Keys and Units.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\ENQ\SOH\DC2\EOT\161\STX\b\NAK\n\
+    \(\n\
+    \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\163\STX\STX#\SUB\SUB Index into string table.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\EOT\163\STX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\163\STX\b\RS\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\163\STX!\"\n\
+    \(\n\
+    \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\165\STX\STX\SUB\SUB\SUB Index into string table.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\SOH\ENQ\DC2\EOT\165\STX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\165\STX\b\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\165\STX\CAN\EM\n\
+    \\150\SOH\n\
+    \\STX\EOT\ACK\DC2\ACK\170\STX\NUL\177\STX\SOH\SUB\135\SOH A pointer from a profile Sample to a trace Span.\n\
+    \ Connects a profile sample to a trace span, identified by unique trace and span IDs.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\ACK\SOH\DC2\EOT\170\STX\b\f\n\
+    \l\n\
+    \\EOT\EOT\ACK\STX\NUL\DC2\EOT\173\STX\STX\NAK\SUB^ A unique identifier of a trace that this linked span is part of. The ID is a\n\
+    \ 16-byte array.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\EOT\173\STX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\173\STX\b\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\173\STX\DC3\DC4\n\
+    \S\n\
+    \\EOT\EOT\ACK\STX\SOH\DC2\EOT\176\STX\STX\DC4\SUBE A unique identifier for the linked span. The ID is an 8-byte array.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\EOT\176\STX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\176\STX\b\SI\n\
+    \\r\n\
+    \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\176\STX\DC2\DC3\n\
+    \\156\SOH\n\
+    \\STX\ENQ\NUL\DC2\ACK\181\STX\NUL\245\STX\SOH\SUB\141\SOH Specifies the method of aggregating metric values, either DELTA (change since last report)\n\
+    \ or CUMULATIVE (total since a fixed start time).\n\
+    \\n\
+    \\v\n\
+    \\ETX\ENQ\NUL\SOH\DC2\EOT\181\STX\ENQ\ESC\n\
+    \W\n\
+    \\EOT\ENQ\NUL\STX\NUL\DC2\EOT\183\STX\STX*\SUBI UNSPECIFIED is the default AggregationTemporality, it MUST not be used. \n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\EOT\183\STX\STX%\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\EOT\183\STX()\n\
+    \\172\t\n\
+    \\EOT\ENQ\NUL\STX\SOH\DC2\EOT\209\STX\STX$\SUB\157\t* DELTA is an AggregationTemporality for a profiler which reports\n\
+    \changes since last report time. Successive metrics contain aggregation of\n\
+    \values from continuous and non-overlapping intervals.\n\
+    \\n\
+    \The values for a DELTA metric are based only on the time interval\n\
+    \associated with one measurement cycle. There is no dependency on\n\
+    \previous measurements like is the case for CUMULATIVE metrics.\n\
+    \\n\
+    \For example, consider a system measuring the number of requests that\n\
+    \it receives and reports the sum of these requests every second as a\n\
+    \DELTA metric:\n\
+    \\n\
+    \1. The system starts receiving at time=t_0.\n\
+    \2. A request is received, the system measures 1 request.\n\
+    \3. A request is received, the system measures 1 request.\n\
+    \4. A request is received, the system measures 1 request.\n\
+    \5. The 1 second collection cycle ends. A metric is exported for the\n\
+    \number of requests received over the interval of time t_0 to\n\
+    \t_0+1 with a value of 3.\n\
+    \6. A request is received, the system measures 1 request.\n\
+    \7. A request is received, the system measures 1 request.\n\
+    \8. The 1 second collection cycle ends. A metric is exported for the\n\
+    \number of requests received over the interval of time t_0+1 to\n\
+    \t_0+2 with a value of 2. \n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\SOH\SOH\DC2\EOT\209\STX\STX\US\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\SOH\STX\DC2\EOT\209\STX\"#\n\
+    \\178\r\n\
+    \\EOT\ENQ\NUL\STX\STX\DC2\EOT\244\STX\STX)\SUB\163\r* CUMULATIVE is an AggregationTemporality for a profiler which\n\
+    \reports changes since a fixed start time. This means that current values\n\
+    \of a CUMULATIVE metric depend on all previous measurements since the\n\
+    \start time. Because of this, the sender is required to retain this state\n\
+    \in some form. If this state is lost or invalidated, the CUMULATIVE metric\n\
+    \values MUST be reset and a new fixed start time following the last\n\
+    \reported measurement time sent MUST be used.\n\
+    \\n\
+    \For example, consider a system measuring the number of requests that\n\
+    \it receives and reports the sum of these requests every second as a\n\
+    \CUMULATIVE metric:\n\
+    \\n\
+    \1. The system starts receiving at time=t_0.\n\
+    \2. A request is received, the system measures 1 request.\n\
+    \3. A request is received, the system measures 1 request.\n\
+    \4. A request is received, the system measures 1 request.\n\
+    \5. The 1 second collection cycle ends. A metric is exported for the\n\
+    \number of requests received over the interval of time t_0 to\n\
+    \t_0+1 with a value of 3.\n\
+    \6. A request is received, the system measures 1 request.\n\
+    \7. A request is received, the system measures 1 request.\n\
+    \8. The 1 second collection cycle ends. A metric is exported for the\n\
+    \number of requests received over the interval of time t_0 to\n\
+    \t_0+2 with a value of 5.\n\
+    \9. The system experiences a fault and loses state.\n\
+    \10. The system recovers and resumes receiving at time=t_1.\n\
+    \11. A request is received, the system measures 1 request.\n\
+    \12. The 1 second collection cycle ends. A metric is exported for the\n\
+    \number of requests received over the interval of time t_1 to\n\
+    \t_1+1 with a value of 1.\n\
+    \\n\
+    \Note: Even though, when reporting changes since last report time, using\n\
+    \CUMULATIVE is valid, it is not recommended. \n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\STX\SOH\DC2\EOT\244\STX\STX$\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\STX\STX\DC2\EOT\244\STX'(\n\
+    \l\n\
+    \\STX\EOT\a\DC2\ACK\248\STX\NUL\253\STX\SOH\SUB^ ValueType describes the type and units of a value, with an optional aggregation temporality.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\a\SOH\DC2\EOT\248\STX\b\DC1\n\
+    \;\n\
+    \\EOT\EOT\a\STX\NUL\DC2\EOT\249\STX\STX\SUB\"- Index into ProfilesDictionary.string_table.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\NUL\ENQ\DC2\EOT\249\STX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\249\STX\b\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\249\STX\CAN\EM\n\
+    \;\n\
+    \\EOT\EOT\a\STX\SOH\DC2\EOT\250\STX\STX\SUB\"- Index into ProfilesDictionary.string_table.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\SOH\ENQ\DC2\EOT\250\STX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\250\STX\b\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\250\STX\CAN\EM\n\
+    \\f\n\
+    \\EOT\EOT\a\STX\STX\DC2\EOT\252\STX\STX5\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\STX\ACK\DC2\EOT\252\STX\STX\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\252\STX\EM0\n\
+    \\r\n\
+    \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\252\STX34\n\
+    \\128\STX\n\
+    \\STX\EOT\b\DC2\ACK\131\ETX\NUL\153\ETX\SOH\SUB\241\SOH Each Sample records values encountered in some program\n\
+    \ context. The program context is typically a stack trace, perhaps\n\
+    \ augmented with auxiliary information like the thread-id, some\n\
+    \ indicator of a higher level request being handled etc.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\b\SOH\DC2\EOT\131\ETX\b\SO\n\
+    \\128\SOH\n\
+    \\EOT\EOT\b\STX\NUL\DC2\EOT\133\ETX\STX\"\SUBr locations_start_index along with locations_length refers to to a slice of locations in Profile.location_indices.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\133\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\133\ETX\b\GS\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\133\ETX !\n\
+    \\154\SOH\n\
+    \\EOT\EOT\b\STX\SOH\DC2\EOT\136\ETX\STX\GS\SUB\139\SOH locations_length along with locations_start_index refers to a slice of locations in Profile.location_indices.\n\
+    \ Supersedes location_index.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\136\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\136\ETX\b\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\136\ETX\ESC\FS\n\
+    \\231\STX\n\
+    \\EOT\EOT\b\STX\STX\DC2\EOT\143\ETX\STX\ESC\SUB\216\STX The type and unit of each value is defined by the corresponding\n\
+    \ entry in Profile.sample_type. All samples must have the same\n\
+    \ number of values, the same as the length of Profile.sample_type.\n\
+    \ When aggregating multiple samples into a single sample, the\n\
+    \ result has a list of values that is the element-wise sum of the\n\
+    \ lists of the originals.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\STX\EOT\DC2\EOT\143\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\STX\ENQ\DC2\EOT\143\ETX\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\143\ETX\DC1\SYN\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\143\ETX\EM\SUB\n\
+    \Z\n\
+    \\EOT\EOT\b\STX\ETX\DC2\EOT\145\ETX\STX'\SUBL References to attributes in ProfilesDictionary.attribute_table. [optional]\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\ETX\EOT\DC2\EOT\145\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\ETX\ENQ\DC2\EOT\145\ETX\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\145\ETX\DC1\"\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\145\ETX%&\n\
+    \N\n\
+    \\EOT\EOT\b\STX\EOT\DC2\EOT\148\ETX\STX \SUB@ Reference to link in ProfilesDictionary.link_table. [optional]\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\EOT\EOT\DC2\EOT\148\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\148\ETX\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\148\ETX\DC1\ESC\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\148\ETX\RS\US\n\
+    \\161\SOH\n\
+    \\EOT\EOT\b\STX\ENQ\DC2\EOT\152\ETX\STX+\SUB\146\SOH Timestamps associated with Sample represented in nanoseconds. These timestamps are expected\n\
+    \ to fall within the Profile's time range. [optional]\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\ENQ\EOT\DC2\EOT\152\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\ENQ\ENQ\DC2\EOT\152\ETX\v\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\ENQ\SOH\DC2\EOT\152\ETX\DC2&\n\
+    \\r\n\
+    \\ENQ\EOT\b\STX\ENQ\ETX\DC2\EOT\152\ETX)*\n\
+    \\130\SOH\n\
+    \\STX\EOT\t\DC2\ACK\157\ETX\NUL\175\ETX\SOH\SUBt Describes the mapping of a binary in memory, including its address range,\n\
+    \ file offset, and metadata like build ID\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\t\SOH\DC2\EOT\157\ETX\b\SI\n\
+    \K\n\
+    \\EOT\EOT\t\STX\NUL\DC2\EOT\159\ETX\STX\SUB\SUB= Address at which the binary (or DLL) is loaded into memory.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\159\ETX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\159\ETX\t\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\159\ETX\CAN\EM\n\
+    \H\n\
+    \\EOT\EOT\t\STX\SOH\DC2\EOT\161\ETX\STX\SUB\SUB: The limit of the address range occupied by this mapping.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\161\ETX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\161\ETX\t\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\161\ETX\CAN\EM\n\
+    \R\n\
+    \\EOT\EOT\t\STX\STX\DC2\EOT\163\ETX\STX\EM\SUBD Offset in the binary that corresponds to the first mapped address.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\163\ETX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\163\ETX\t\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\163\ETX\ETB\CAN\n\
+    \\216\SOH\n\
+    \\EOT\EOT\t\STX\ETX\DC2\EOT\167\ETX\STX\RS\SUB\154\SOH The object this entry is loaded from.  This can be a filename on\n\
+    \ disk for the main binary and shared libraries, or virtual\n\
+    \ abstractions like \"[vdso]\".\n\
+    \\"- Index into ProfilesDictionary.string_table.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\167\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\167\ETX\b\EM\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\167\ETX\FS\GS\n\
+    \Z\n\
+    \\EOT\EOT\t\STX\EOT\DC2\EOT\169\ETX\STX'\SUBL References to attributes in ProfilesDictionary.attribute_table. [optional]\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\EOT\EOT\DC2\EOT\169\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\EOT\ENQ\DC2\EOT\169\ETX\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\169\ETX\DC1\"\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\169\ETX%&\n\
+    \N\n\
+    \\EOT\EOT\t\STX\ENQ\DC2\EOT\171\ETX\STX\EM\SUB@ The following fields indicate the resolution of symbolic info.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ENQ\ENQ\DC2\EOT\171\ETX\STX\ACK\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ENQ\SOH\DC2\EOT\171\ETX\a\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ENQ\ETX\DC2\EOT\171\ETX\ETB\CAN\n\
+    \\f\n\
+    \\EOT\EOT\t\STX\ACK\DC2\EOT\172\ETX\STX\EM\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ACK\ENQ\DC2\EOT\172\ETX\STX\ACK\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ACK\SOH\DC2\EOT\172\ETX\a\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\ACK\ETX\DC2\EOT\172\ETX\ETB\CAN\n\
+    \\f\n\
+    \\EOT\EOT\t\STX\a\DC2\EOT\173\ETX\STX\FS\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\a\ENQ\DC2\EOT\173\ETX\STX\ACK\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\a\SOH\DC2\EOT\173\ETX\a\ETB\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\a\ETX\DC2\EOT\173\ETX\SUB\ESC\n\
+    \\f\n\
+    \\EOT\EOT\t\STX\b\DC2\EOT\174\ETX\STX\GS\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\b\ENQ\DC2\EOT\174\ETX\STX\ACK\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\b\SOH\DC2\EOT\174\ETX\a\CAN\n\
+    \\r\n\
+    \\ENQ\EOT\t\STX\b\ETX\DC2\EOT\174\ETX\ESC\FS\n\
+    \D\n\
+    \\STX\EOT\n\
+    \\DC2\ACK\178\ETX\NUL\206\ETX\SOH\SUB6 Describes function and line table debug information.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\n\
+    \\SOH\DC2\EOT\178\ETX\b\DLE\n\
+    \\159\SOH\n\
+    \\EOT\EOT\n\
+    \\STX\NUL\DC2\EOT\182\ETX\STX#\SUB\144\SOH Reference to mapping in ProfilesDictionary.mapping_table.\n\
+    \ It can be unset if the mapping is unknown or not applicable for\n\
+    \ this profile type.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\EOT\DC2\EOT\182\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\ENQ\DC2\EOT\182\ETX\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\SOH\DC2\EOT\182\ETX\DC1\RS\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\NUL\ETX\DC2\EOT\182\ETX!\"\n\
+    \\191\STX\n\
+    \\EOT\EOT\n\
+    \\STX\SOH\DC2\EOT\188\ETX\STX\NAK\SUB\176\STX The instruction address for this location, if available.  It\n\
+    \ should be within [Mapping.memory_start...Mapping.memory_limit]\n\
+    \ for the corresponding mapping. A non-leaf address may be in the\n\
+    \ middle of a call instruction. It is up to display tools to find\n\
+    \ the beginning of the instruction if necessary.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\SOH\ENQ\DC2\EOT\188\ETX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\SOH\SOH\DC2\EOT\188\ETX\t\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\SOH\ETX\DC2\EOT\188\ETX\DC3\DC4\n\
+    \\161\STX\n\
+    \\EOT\EOT\n\
+    \\STX\STX\DC2\EOT\196\ETX\STX\EM\SUB\146\STX Multiple line indicates this location has inlined functions,\n\
+    \ where the last entry represents the caller into which the\n\
+    \ preceding entries were inlined.\n\
+    \\n\
+    \ E.g., if memcpy() is inlined into printf:\n\
+    \    line[0].function_name == \"memcpy\"\n\
+    \    line[1].function_name == \"printf\"\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\STX\EOT\DC2\EOT\196\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\STX\ACK\DC2\EOT\196\ETX\v\SI\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\STX\SOH\DC2\EOT\196\ETX\DLE\DC4\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\STX\ETX\DC2\EOT\196\ETX\ETB\CAN\n\
+    \\189\STX\n\
+    \\EOT\EOT\n\
+    \\STX\ETX\DC2\EOT\202\ETX\STX\NAK\SUB\174\STX Provides an indication that multiple symbols map to this location's\n\
+    \ address, for example due to identical code folding by the linker. In that\n\
+    \ case the line information above represents one of the multiple\n\
+    \ symbols. This field must be recomputed when the symbolization state of the\n\
+    \ profile changes.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ETX\ENQ\DC2\EOT\202\ETX\STX\ACK\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ETX\SOH\DC2\EOT\202\ETX\a\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\ETX\ETX\DC2\EOT\202\ETX\DC3\DC4\n\
+    \Z\n\
+    \\EOT\EOT\n\
+    \\STX\EOT\DC2\EOT\205\ETX\STX'\SUBL References to attributes in ProfilesDictionary.attribute_table. [optional]\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\EOT\EOT\DC2\EOT\205\ETX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\EOT\ENQ\DC2\EOT\205\ETX\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\EOT\SOH\DC2\EOT\205\ETX\DC1\"\n\
+    \\r\n\
+    \\ENQ\EOT\n\
+    \\STX\EOT\ETX\DC2\EOT\205\ETX%&\n\
+    \O\n\
+    \\STX\EOT\v\DC2\ACK\209\ETX\NUL\216\ETX\SOH\SUBA Details a specific line in a source code, linked to a function.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\v\SOH\DC2\EOT\209\ETX\b\f\n\
+    \K\n\
+    \\EOT\EOT\v\STX\NUL\DC2\EOT\211\ETX\STX\ESC\SUB= Reference to function in ProfilesDictionary.function_table.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\NUL\ENQ\DC2\EOT\211\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\NUL\SOH\DC2\EOT\211\ETX\b\SYN\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\NUL\ETX\DC2\EOT\211\ETX\EM\SUB\n\
+    \:\n\
+    \\EOT\EOT\v\STX\SOH\DC2\EOT\213\ETX\STX\DC1\SUB, Line number in source code. 0 means unset.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\SOH\ENQ\DC2\EOT\213\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\SOH\SOH\DC2\EOT\213\ETX\b\f\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\SOH\ETX\DC2\EOT\213\ETX\SI\DLE\n\
+    \<\n\
+    \\EOT\EOT\v\STX\STX\DC2\EOT\215\ETX\STX\DC3\SUB. Column number in source code. 0 means unset.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\STX\ENQ\DC2\EOT\215\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\STX\SOH\DC2\EOT\215\ETX\b\SO\n\
+    \\r\n\
+    \\ENQ\EOT\v\STX\STX\ETX\DC2\EOT\215\ETX\DC1\DC2\n\
+    \\139\SOH\n\
+    \\STX\EOT\f\DC2\ACK\220\ETX\NUL\230\ETX\SOH\SUB} Describes a function, including its human-readable name, system name,\n\
+    \ source file, and starting line number in the source.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\f\SOH\DC2\EOT\220\ETX\b\DLE\n\
+    \=\n\
+    \\EOT\EOT\f\STX\NUL\DC2\EOT\222\ETX\STX\SUB\SUB/ Function name. Empty string if not available.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\NUL\ENQ\DC2\EOT\222\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\NUL\SOH\DC2\EOT\222\ETX\b\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\NUL\ETX\DC2\EOT\222\ETX\CAN\EM\n\
+    \\135\SOH\n\
+    \\EOT\EOT\f\STX\SOH\DC2\EOT\225\ETX\STX!\SUBy Function name, as identified by the system. For instance,\n\
+    \ it can be a C++ mangled name. Empty string if not available.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\SOH\ENQ\DC2\EOT\225\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\SOH\SOH\DC2\EOT\225\ETX\b\FS\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\SOH\ETX\DC2\EOT\225\ETX\US \n\
+    \S\n\
+    \\EOT\EOT\f\STX\STX\DC2\EOT\227\ETX\STX\RS\SUBE Source file containing the function. Empty string if not available.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\STX\ENQ\DC2\EOT\227\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\STX\SOH\DC2\EOT\227\ETX\b\EM\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\STX\ETX\DC2\EOT\227\ETX\FS\GS\n\
+    \:\n\
+    \\EOT\EOT\f\STX\ETX\DC2\EOT\229\ETX\STX\ETB\SUB, Line number in source file. 0 means unset.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ETX\ENQ\DC2\EOT\229\ETX\STX\a\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ETX\SOH\DC2\EOT\229\ETX\b\DC2\n\
+    \\r\n\
+    \\ENQ\EOT\f\STX\ETX\ETX\DC2\EOT\229\ETX\NAK\SYNb\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Profiles/V1development/Profiles_Fields.hs b/src/Proto/Opentelemetry/Proto/Profiles/V1development/Profiles_Fields.hs
new file mode 100644
--- /dev/null
+++ b/src/Proto/Opentelemetry/Proto/Profiles/V1development/Profiles_Fields.hs
@@ -0,0 +1,519 @@
+{- HLINT ignore -}
+{- This file was auto-generated from opentelemetry/proto/profiles/v1development/profiles.proto by the proto-lens-protoc program. -}
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.Opentelemetry.Proto.Profiles.V1development.Profiles_Fields where
+import qualified Data.ProtoLens.Runtime.Prelude as Prelude
+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
+import qualified Proto.Opentelemetry.Proto.Common.V1.Common
+import qualified Proto.Opentelemetry.Proto.Resource.V1.Resource
+address ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "address" a) =>
+  Lens.Family2.LensLike' f s a
+address = Data.ProtoLens.Field.field @"address"
+aggregationTemporality ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "aggregationTemporality" a) =>
+  Lens.Family2.LensLike' f s a
+aggregationTemporality
+  = Data.ProtoLens.Field.field @"aggregationTemporality"
+attributeIndices ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "attributeIndices" a) =>
+  Lens.Family2.LensLike' f s a
+attributeIndices = Data.ProtoLens.Field.field @"attributeIndices"
+attributeKeyStrindex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "attributeKeyStrindex" a) =>
+  Lens.Family2.LensLike' f s a
+attributeKeyStrindex
+  = Data.ProtoLens.Field.field @"attributeKeyStrindex"
+attributeTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "attributeTable" a) =>
+  Lens.Family2.LensLike' f s a
+attributeTable = Data.ProtoLens.Field.field @"attributeTable"
+attributeUnits ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "attributeUnits" a) =>
+  Lens.Family2.LensLike' f s a
+attributeUnits = Data.ProtoLens.Field.field @"attributeUnits"
+column ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "column" a) =>
+  Lens.Family2.LensLike' f s a
+column = Data.ProtoLens.Field.field @"column"
+commentStrindices ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "commentStrindices" a) =>
+  Lens.Family2.LensLike' f s a
+commentStrindices = Data.ProtoLens.Field.field @"commentStrindices"
+defaultSampleTypeIndex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "defaultSampleTypeIndex" a) =>
+  Lens.Family2.LensLike' f s a
+defaultSampleTypeIndex
+  = Data.ProtoLens.Field.field @"defaultSampleTypeIndex"
+dictionary ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "dictionary" a) =>
+  Lens.Family2.LensLike' f s a
+dictionary = Data.ProtoLens.Field.field @"dictionary"
+droppedAttributesCount ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "droppedAttributesCount" a) =>
+  Lens.Family2.LensLike' f s a
+droppedAttributesCount
+  = Data.ProtoLens.Field.field @"droppedAttributesCount"
+durationNanos ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "durationNanos" a) =>
+  Lens.Family2.LensLike' f s a
+durationNanos = Data.ProtoLens.Field.field @"durationNanos"
+fileOffset ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "fileOffset" a) =>
+  Lens.Family2.LensLike' f s a
+fileOffset = Data.ProtoLens.Field.field @"fileOffset"
+filenameStrindex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "filenameStrindex" a) =>
+  Lens.Family2.LensLike' f s a
+filenameStrindex = Data.ProtoLens.Field.field @"filenameStrindex"
+functionIndex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "functionIndex" a) =>
+  Lens.Family2.LensLike' f s a
+functionIndex = Data.ProtoLens.Field.field @"functionIndex"
+functionTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "functionTable" a) =>
+  Lens.Family2.LensLike' f s a
+functionTable = Data.ProtoLens.Field.field @"functionTable"
+hasFilenames ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "hasFilenames" a) =>
+  Lens.Family2.LensLike' f s a
+hasFilenames = Data.ProtoLens.Field.field @"hasFilenames"
+hasFunctions ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "hasFunctions" a) =>
+  Lens.Family2.LensLike' f s a
+hasFunctions = Data.ProtoLens.Field.field @"hasFunctions"
+hasInlineFrames ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "hasInlineFrames" a) =>
+  Lens.Family2.LensLike' f s a
+hasInlineFrames = Data.ProtoLens.Field.field @"hasInlineFrames"
+hasLineNumbers ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "hasLineNumbers" a) =>
+  Lens.Family2.LensLike' f s a
+hasLineNumbers = Data.ProtoLens.Field.field @"hasLineNumbers"
+isFolded ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "isFolded" a) =>
+  Lens.Family2.LensLike' f s a
+isFolded = Data.ProtoLens.Field.field @"isFolded"
+line ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "line" a) =>
+  Lens.Family2.LensLike' f s a
+line = Data.ProtoLens.Field.field @"line"
+linkIndex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "linkIndex" a) =>
+  Lens.Family2.LensLike' f s a
+linkIndex = Data.ProtoLens.Field.field @"linkIndex"
+linkTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "linkTable" a) =>
+  Lens.Family2.LensLike' f s a
+linkTable = Data.ProtoLens.Field.field @"linkTable"
+locationIndices ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "locationIndices" a) =>
+  Lens.Family2.LensLike' f s a
+locationIndices = Data.ProtoLens.Field.field @"locationIndices"
+locationTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "locationTable" a) =>
+  Lens.Family2.LensLike' f s a
+locationTable = Data.ProtoLens.Field.field @"locationTable"
+locationsLength ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "locationsLength" a) =>
+  Lens.Family2.LensLike' f s a
+locationsLength = Data.ProtoLens.Field.field @"locationsLength"
+locationsStartIndex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "locationsStartIndex" a) =>
+  Lens.Family2.LensLike' f s a
+locationsStartIndex
+  = Data.ProtoLens.Field.field @"locationsStartIndex"
+mappingIndex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "mappingIndex" a) =>
+  Lens.Family2.LensLike' f s a
+mappingIndex = Data.ProtoLens.Field.field @"mappingIndex"
+mappingTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "mappingTable" a) =>
+  Lens.Family2.LensLike' f s a
+mappingTable = Data.ProtoLens.Field.field @"mappingTable"
+maybe'dictionary ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'dictionary" a) =>
+  Lens.Family2.LensLike' f s a
+maybe'dictionary = Data.ProtoLens.Field.field @"maybe'dictionary"
+maybe'linkIndex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'linkIndex" a) =>
+  Lens.Family2.LensLike' f s a
+maybe'linkIndex = Data.ProtoLens.Field.field @"maybe'linkIndex"
+maybe'mappingIndex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'mappingIndex" a) =>
+  Lens.Family2.LensLike' f s a
+maybe'mappingIndex
+  = Data.ProtoLens.Field.field @"maybe'mappingIndex"
+maybe'periodType ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'periodType" a) =>
+  Lens.Family2.LensLike' f s a
+maybe'periodType = Data.ProtoLens.Field.field @"maybe'periodType"
+maybe'resource ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'resource" a) =>
+  Lens.Family2.LensLike' f s a
+maybe'resource = Data.ProtoLens.Field.field @"maybe'resource"
+maybe'scope ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "maybe'scope" a) =>
+  Lens.Family2.LensLike' f s a
+maybe'scope = Data.ProtoLens.Field.field @"maybe'scope"
+memoryLimit ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "memoryLimit" a) =>
+  Lens.Family2.LensLike' f s a
+memoryLimit = Data.ProtoLens.Field.field @"memoryLimit"
+memoryStart ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "memoryStart" a) =>
+  Lens.Family2.LensLike' f s a
+memoryStart = Data.ProtoLens.Field.field @"memoryStart"
+nameStrindex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "nameStrindex" a) =>
+  Lens.Family2.LensLike' f s a
+nameStrindex = Data.ProtoLens.Field.field @"nameStrindex"
+originalPayload ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "originalPayload" a) =>
+  Lens.Family2.LensLike' f s a
+originalPayload = Data.ProtoLens.Field.field @"originalPayload"
+originalPayloadFormat ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "originalPayloadFormat" a) =>
+  Lens.Family2.LensLike' f s a
+originalPayloadFormat
+  = Data.ProtoLens.Field.field @"originalPayloadFormat"
+period ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "period" a) =>
+  Lens.Family2.LensLike' f s a
+period = Data.ProtoLens.Field.field @"period"
+periodType ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "periodType" a) =>
+  Lens.Family2.LensLike' f s a
+periodType = Data.ProtoLens.Field.field @"periodType"
+profileId ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "profileId" a) =>
+  Lens.Family2.LensLike' f s a
+profileId = Data.ProtoLens.Field.field @"profileId"
+profiles ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "profiles" a) =>
+  Lens.Family2.LensLike' f s a
+profiles = Data.ProtoLens.Field.field @"profiles"
+resource ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "resource" a) =>
+  Lens.Family2.LensLike' f s a
+resource = Data.ProtoLens.Field.field @"resource"
+resourceProfiles ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "resourceProfiles" a) =>
+  Lens.Family2.LensLike' f s a
+resourceProfiles = Data.ProtoLens.Field.field @"resourceProfiles"
+sample ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "sample" a) =>
+  Lens.Family2.LensLike' f s a
+sample = Data.ProtoLens.Field.field @"sample"
+sampleType ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "sampleType" a) =>
+  Lens.Family2.LensLike' f s a
+sampleType = Data.ProtoLens.Field.field @"sampleType"
+schemaUrl ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "schemaUrl" a) =>
+  Lens.Family2.LensLike' f s a
+schemaUrl = Data.ProtoLens.Field.field @"schemaUrl"
+scope ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "scope" a) =>
+  Lens.Family2.LensLike' f s a
+scope = Data.ProtoLens.Field.field @"scope"
+scopeProfiles ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "scopeProfiles" a) =>
+  Lens.Family2.LensLike' f s a
+scopeProfiles = Data.ProtoLens.Field.field @"scopeProfiles"
+spanId ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "spanId" a) =>
+  Lens.Family2.LensLike' f s a
+spanId = Data.ProtoLens.Field.field @"spanId"
+startLine ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "startLine" a) =>
+  Lens.Family2.LensLike' f s a
+startLine = Data.ProtoLens.Field.field @"startLine"
+stringTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "stringTable" a) =>
+  Lens.Family2.LensLike' f s a
+stringTable = Data.ProtoLens.Field.field @"stringTable"
+systemNameStrindex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "systemNameStrindex" a) =>
+  Lens.Family2.LensLike' f s a
+systemNameStrindex
+  = Data.ProtoLens.Field.field @"systemNameStrindex"
+timeNanos ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "timeNanos" a) =>
+  Lens.Family2.LensLike' f s a
+timeNanos = Data.ProtoLens.Field.field @"timeNanos"
+timestampsUnixNano ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "timestampsUnixNano" a) =>
+  Lens.Family2.LensLike' f s a
+timestampsUnixNano
+  = Data.ProtoLens.Field.field @"timestampsUnixNano"
+traceId ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "traceId" a) =>
+  Lens.Family2.LensLike' f s a
+traceId = Data.ProtoLens.Field.field @"traceId"
+typeStrindex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "typeStrindex" a) =>
+  Lens.Family2.LensLike' f s a
+typeStrindex = Data.ProtoLens.Field.field @"typeStrindex"
+unitStrindex ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "unitStrindex" a) =>
+  Lens.Family2.LensLike' f s a
+unitStrindex = Data.ProtoLens.Field.field @"unitStrindex"
+value ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "value" a) =>
+  Lens.Family2.LensLike' f s a
+value = Data.ProtoLens.Field.field @"value"
+vec'attributeIndices ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'attributeIndices" a) =>
+  Lens.Family2.LensLike' f s a
+vec'attributeIndices
+  = Data.ProtoLens.Field.field @"vec'attributeIndices"
+vec'attributeTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'attributeTable" a) =>
+  Lens.Family2.LensLike' f s a
+vec'attributeTable
+  = Data.ProtoLens.Field.field @"vec'attributeTable"
+vec'attributeUnits ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'attributeUnits" a) =>
+  Lens.Family2.LensLike' f s a
+vec'attributeUnits
+  = Data.ProtoLens.Field.field @"vec'attributeUnits"
+vec'commentStrindices ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'commentStrindices" a) =>
+  Lens.Family2.LensLike' f s a
+vec'commentStrindices
+  = Data.ProtoLens.Field.field @"vec'commentStrindices"
+vec'functionTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'functionTable" a) =>
+  Lens.Family2.LensLike' f s a
+vec'functionTable = Data.ProtoLens.Field.field @"vec'functionTable"
+vec'line ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'line" a) =>
+  Lens.Family2.LensLike' f s a
+vec'line = Data.ProtoLens.Field.field @"vec'line"
+vec'linkTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'linkTable" a) =>
+  Lens.Family2.LensLike' f s a
+vec'linkTable = Data.ProtoLens.Field.field @"vec'linkTable"
+vec'locationIndices ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'locationIndices" a) =>
+  Lens.Family2.LensLike' f s a
+vec'locationIndices
+  = Data.ProtoLens.Field.field @"vec'locationIndices"
+vec'locationTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'locationTable" a) =>
+  Lens.Family2.LensLike' f s a
+vec'locationTable = Data.ProtoLens.Field.field @"vec'locationTable"
+vec'mappingTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'mappingTable" a) =>
+  Lens.Family2.LensLike' f s a
+vec'mappingTable = Data.ProtoLens.Field.field @"vec'mappingTable"
+vec'profiles ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'profiles" a) =>
+  Lens.Family2.LensLike' f s a
+vec'profiles = Data.ProtoLens.Field.field @"vec'profiles"
+vec'resourceProfiles ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'resourceProfiles" a) =>
+  Lens.Family2.LensLike' f s a
+vec'resourceProfiles
+  = Data.ProtoLens.Field.field @"vec'resourceProfiles"
+vec'sample ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'sample" a) =>
+  Lens.Family2.LensLike' f s a
+vec'sample = Data.ProtoLens.Field.field @"vec'sample"
+vec'sampleType ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'sampleType" a) =>
+  Lens.Family2.LensLike' f s a
+vec'sampleType = Data.ProtoLens.Field.field @"vec'sampleType"
+vec'scopeProfiles ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'scopeProfiles" a) =>
+  Lens.Family2.LensLike' f s a
+vec'scopeProfiles = Data.ProtoLens.Field.field @"vec'scopeProfiles"
+vec'stringTable ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'stringTable" a) =>
+  Lens.Family2.LensLike' f s a
+vec'stringTable = Data.ProtoLens.Field.field @"vec'stringTable"
+vec'timestampsUnixNano ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'timestampsUnixNano" a) =>
+  Lens.Family2.LensLike' f s a
+vec'timestampsUnixNano
+  = Data.ProtoLens.Field.field @"vec'timestampsUnixNano"
+vec'value ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'value" a) =>
+  Lens.Family2.LensLike' f s a
+vec'value = Data.ProtoLens.Field.field @"vec'value"
diff --git a/src/Proto/Opentelemetry/Proto/Resource/V1/Resource.hs b/src/Proto/Opentelemetry/Proto/Resource/V1/Resource.hs
--- a/src/Proto/Opentelemetry/Proto/Resource/V1/Resource.hs
+++ b/src/Proto/Opentelemetry/Proto/Resource/V1/Resource.hs
@@ -37,10 +37,13 @@
      
          * 'Proto.Opentelemetry.Proto.Resource.V1.Resource_Fields.attributes' @:: Lens' Resource [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
          * 'Proto.Opentelemetry.Proto.Resource.V1.Resource_Fields.vec'attributes' @:: Lens' Resource (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
-         * 'Proto.Opentelemetry.Proto.Resource.V1.Resource_Fields.droppedAttributesCount' @:: Lens' Resource Data.Word.Word32@ -}
+         * 'Proto.Opentelemetry.Proto.Resource.V1.Resource_Fields.droppedAttributesCount' @:: Lens' Resource Data.Word.Word32@
+         * 'Proto.Opentelemetry.Proto.Resource.V1.Resource_Fields.entityRefs' @:: Lens' Resource [Proto.Opentelemetry.Proto.Common.V1.Common.EntityRef]@
+         * 'Proto.Opentelemetry.Proto.Resource.V1.Resource_Fields.vec'entityRefs' @:: Lens' Resource (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.EntityRef)@ -}
 data Resource
   = Resource'_constructor {_Resource'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
                            _Resource'droppedAttributesCount :: !Data.Word.Word32,
+                           _Resource'entityRefs :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.EntityRef),
                            _Resource'_unknownFields :: !Data.ProtoLens.FieldSet}
   deriving stock (Prelude.Eq, Prelude.Ord)
 instance Prelude.Show Resource where
@@ -72,6 +75,22 @@
            _Resource'droppedAttributesCount
            (\ x__ y__ -> x__ {_Resource'droppedAttributesCount = y__}))
         Prelude.id
+instance Data.ProtoLens.Field.HasField Resource "entityRefs" [Proto.Opentelemetry.Proto.Common.V1.Common.EntityRef] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Resource'entityRefs
+           (\ x__ y__ -> x__ {_Resource'entityRefs = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Resource "vec'entityRefs" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.EntityRef) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Resource'entityRefs
+           (\ x__ y__ -> x__ {_Resource'entityRefs = y__}))
+        Prelude.id
 instance Data.ProtoLens.Message Resource where
   messageName _
     = Data.Text.pack "opentelemetry.proto.resource.v1.Resource"
@@ -81,7 +100,9 @@
       \\n\
       \attributes\CAN\SOH \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
       \attributes\DC28\n\
-      \\CANdropped_attributes_count\CAN\STX \SOH(\rR\SYNdroppedAttributesCount"
+      \\CANdropped_attributes_count\CAN\STX \SOH(\rR\SYNdroppedAttributesCount\DC2I\n\
+      \\ventity_refs\CAN\ETX \ETX(\v2(.opentelemetry.proto.common.v1.EntityRefR\n\
+      \entityRefs"
   packedFileDescriptor _ = packedFileDescriptor
   fieldsByTag
     = let
@@ -103,10 +124,20 @@
                  Data.ProtoLens.Optional
                  (Data.ProtoLens.Field.field @"droppedAttributesCount")) ::
               Data.ProtoLens.FieldDescriptor Resource
+        entityRefs__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "entity_refs"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.EntityRef)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"entityRefs")) ::
+              Data.ProtoLens.FieldDescriptor Resource
       in
         Data.Map.fromList
           [(Data.ProtoLens.Tag 1, attributes__field_descriptor),
-           (Data.ProtoLens.Tag 2, droppedAttributesCount__field_descriptor)]
+           (Data.ProtoLens.Tag 2, droppedAttributesCount__field_descriptor),
+           (Data.ProtoLens.Tag 3, entityRefs__field_descriptor)]
   unknownFields
     = Lens.Family2.Unchecked.lens
         _Resource'_unknownFields
@@ -115,19 +146,24 @@
     = Resource'_constructor
         {_Resource'attributes = Data.Vector.Generic.empty,
          _Resource'droppedAttributesCount = Data.ProtoLens.fieldDefault,
+         _Resource'entityRefs = Data.Vector.Generic.empty,
          _Resource'_unknownFields = []}
   parseMessage
     = let
         loop ::
           Resource
           -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
-             -> Data.ProtoLens.Encoding.Bytes.Parser Resource
-        loop x mutable'attributes
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.EntityRef
+                -> Data.ProtoLens.Encoding.Bytes.Parser Resource
+        loop x mutable'attributes mutable'entityRefs
           = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
                if end then
                    do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                 mutable'attributes)
+                      frozen'entityRefs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'entityRefs)
                       (let missing = []
                        in
                          if Prelude.null missing then
@@ -142,7 +178,9 @@
                            Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                            (Lens.Family2.set
                               (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
-                              x))
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'entityRefs") frozen'entityRefs
+                                 x)))
                else
                    do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                       case tag of
@@ -155,7 +193,7 @@
                                         "attributes"
                                 v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
-                                loop x v
+                                loop x v mutable'entityRefs
                         16
                           -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (Prelude.fmap
@@ -165,19 +203,32 @@
                                 loop
                                   (Lens.Family2.set
                                      (Data.ProtoLens.Field.field @"droppedAttributesCount") y x)
-                                  mutable'attributes
+                                  mutable'attributes mutable'entityRefs
+                        26
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "entity_refs"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'entityRefs y)
+                                loop x mutable'attributes v
                         wire
                           -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                         wire
                                 loop
                                   (Lens.Family2.over
                                      Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'attributes
+                                  mutable'attributes mutable'entityRefs
       in
         (Data.ProtoLens.Encoding.Bytes.<?>)
           (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'attributes)
+              mutable'entityRefs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'attributes mutable'entityRefs)
           "Resource"
   buildMessage
     = \ _x
@@ -208,8 +259,22 @@
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                          ((Prelude..)
                             Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
-                (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+                ((Data.Monoid.<>)
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v
+                         -> (Data.Monoid.<>)
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                              ((Prelude..)
+                                 (\ bs
+                                    -> (Data.Monoid.<>)
+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                 Data.ProtoLens.encodeMessage _v))
+                      (Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"vec'entityRefs") _x))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
 instance Control.DeepSeq.NFData Resource where
   rnf
     = \ x__
@@ -218,18 +283,22 @@
              (Control.DeepSeq.deepseq
                 (_Resource'attributes x__)
                 (Control.DeepSeq.deepseq
-                   (_Resource'droppedAttributesCount x__) ()))
+                   (_Resource'droppedAttributesCount x__)
+                   (Control.DeepSeq.deepseq (_Resource'entityRefs x__) ())))
 packedFileDescriptor :: Data.ByteString.ByteString
 packedFileDescriptor
   = "\n\
-    \.opentelemetry/proto/resource/v1/resource.proto\DC2\USopentelemetry.proto.resource.v1\SUB*opentelemetry/proto/common/v1/common.proto\"\141\SOH\n\
+    \.opentelemetry/proto/resource/v1/resource.proto\DC2\USopentelemetry.proto.resource.v1\SUB*opentelemetry/proto/common/v1/common.proto\"\216\SOH\n\
     \\bResource\DC2G\n\
     \\n\
     \attributes\CAN\SOH \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
     \attributes\DC28\n\
-    \\CANdropped_attributes_count\CAN\STX \SOH(\rR\SYNdroppedAttributesCountB\131\SOH\n\
-    \\"io.opentelemetry.proto.resource.v1B\rResourceProtoP\SOHZ*go.opentelemetry.io/proto/otlp/resource/v1\170\STX\USOpenTelemetry.Proto.Resource.V1J\143\t\n\
-    \\ACK\DC2\EOT\SO\NUL$\SOH\n\
+    \\CANdropped_attributes_count\CAN\STX \SOH(\rR\SYNdroppedAttributesCount\DC2I\n\
+    \\ventity_refs\CAN\ETX \ETX(\v2(.opentelemetry.proto.common.v1.EntityRefR\n\
+    \entityRefsB\131\SOH\n\
+    \\"io.opentelemetry.proto.resource.v1B\rResourceProtoP\SOHZ*go.opentelemetry.io/proto/otlp/resource/v1\170\STX\USOpenTelemetry.Proto.Resource.V1J\237\n\
+    \\n\
+    \\ACK\DC2\EOT\SO\NUL+\SOH\n\
     \\200\EOT\n\
     \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2019, OpenTelemetry Authors\n\
     \\n\
@@ -271,7 +340,7 @@
     \\t\n\
     \\STX\b\v\DC2\ETX\CAN\NULA\n\
     \#\n\
-    \\STX\EOT\NUL\DC2\EOT\ESC\NUL$\SOH\SUB\ETB Resource information.\n\
+    \\STX\EOT\NUL\DC2\EOT\ESC\NUL+\SOH\SUB\ETB Resource information.\n\
     \\n\
     \\n\
     \\n\
@@ -299,4 +368,20 @@
     \\f\n\
     \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX#\t!\n\
     \\f\n\
-    \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX#$%b\ACKproto3"
+    \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX#$%\n\
+    \\163\SOH\n\
+    \\EOT\EOT\NUL\STX\STX\DC2\ETX*\STXC\SUB\149\SOH Set of entities that participate in this Resource.\n\
+    \\n\
+    \ Note: keys in the references MUST exist in attributes of this message.\n\
+    \\n\
+    \ Status: [Development]\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\EOT\DC2\ETX*\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\ACK\DC2\ETX*\v2\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\SOH\DC2\ETX*3>\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETX*ABb\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Resource/V1/Resource_Fields.hs b/src/Proto/Opentelemetry/Proto/Resource/V1/Resource_Fields.hs
--- a/src/Proto/Opentelemetry/Proto/Resource/V1/Resource_Fields.hs
+++ b/src/Proto/Opentelemetry/Proto/Resource/V1/Resource_Fields.hs
@@ -42,9 +42,21 @@
   Lens.Family2.LensLike' f s a
 droppedAttributesCount
   = Data.ProtoLens.Field.field @"droppedAttributesCount"
+entityRefs ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "entityRefs" a) =>
+  Lens.Family2.LensLike' f s a
+entityRefs = Data.ProtoLens.Field.field @"entityRefs"
 vec'attributes ::
   forall f s a.
   (Prelude.Functor f,
    Data.ProtoLens.Field.HasField s "vec'attributes" a) =>
   Lens.Family2.LensLike' f s a
 vec'attributes = Data.ProtoLens.Field.field @"vec'attributes"
+vec'entityRefs ::
+  forall f s a.
+  (Prelude.Functor f,
+   Data.ProtoLens.Field.HasField s "vec'entityRefs" a) =>
+  Lens.Family2.LensLike' f s a
+vec'entityRefs = Data.ProtoLens.Field.field @"vec'entityRefs"
diff --git a/src/Proto/Opentelemetry/Proto/Trace/V1/Trace.hs b/src/Proto/Opentelemetry/Proto/Trace/V1/Trace.hs
--- a/src/Proto/Opentelemetry/Proto/Trace/V1/Trace.hs
+++ b/src/Proto/Opentelemetry/Proto/Trace/V1/Trace.hs
@@ -7,3112 +7,3393 @@
 module Proto.Opentelemetry.Proto.Trace.V1.Trace (
         ResourceSpans(), ScopeSpans(), Span(), Span'Event(), Span'Link(),
         Span'SpanKind(..), Span'SpanKind(),
-        Span'SpanKind'UnrecognizedValue, Status(), Status'StatusCode(..),
-        Status'StatusCode(), Status'StatusCode'UnrecognizedValue,
-        TracesData()
-    ) where
-import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
-import qualified Data.ProtoLens.Runtime.Prelude as Prelude
-import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
-import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
-import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
-import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
-import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
-import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
-import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
-import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
-import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
-import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
-import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
-import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
-import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
-import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
-import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
-import qualified Proto.Opentelemetry.Proto.Common.V1.Common
-import qualified Proto.Opentelemetry.Proto.Resource.V1.Resource
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.resource' @:: Lens' ResourceSpans Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.maybe'resource' @:: Lens' ResourceSpans (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.scopeSpans' @:: Lens' ResourceSpans [ScopeSpans]@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'scopeSpans' @:: Lens' ResourceSpans (Data.Vector.Vector ScopeSpans)@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.schemaUrl' @:: Lens' ResourceSpans Data.Text.Text@ -}
-data ResourceSpans
-  = ResourceSpans'_constructor {_ResourceSpans'resource :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource),
-                                _ResourceSpans'scopeSpans :: !(Data.Vector.Vector ScopeSpans),
-                                _ResourceSpans'schemaUrl :: !Data.Text.Text,
-                                _ResourceSpans'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show ResourceSpans where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField ResourceSpans "resource" Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceSpans'resource
-           (\ x__ y__ -> x__ {_ResourceSpans'resource = y__}))
-        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Data.ProtoLens.Field.HasField ResourceSpans "maybe'resource" (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceSpans'resource
-           (\ x__ y__ -> x__ {_ResourceSpans'resource = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField ResourceSpans "scopeSpans" [ScopeSpans] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceSpans'scopeSpans
-           (\ x__ y__ -> x__ {_ResourceSpans'scopeSpans = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField ResourceSpans "vec'scopeSpans" (Data.Vector.Vector ScopeSpans) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceSpans'scopeSpans
-           (\ x__ y__ -> x__ {_ResourceSpans'scopeSpans = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField ResourceSpans "schemaUrl" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ResourceSpans'schemaUrl
-           (\ x__ y__ -> x__ {_ResourceSpans'schemaUrl = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message ResourceSpans where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.trace.v1.ResourceSpans"
-  packedMessageDescriptor _
-    = "\n\
-      \\rResourceSpans\DC2E\n\
-      \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2I\n\
-      \\vscope_spans\CAN\STX \ETX(\v2(.opentelemetry.proto.trace.v1.ScopeSpansR\n\
-      \scopeSpans\DC2\GS\n\
-      \\n\
-      \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        resource__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "resource"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'resource")) ::
-              Data.ProtoLens.FieldDescriptor ResourceSpans
-        scopeSpans__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "scope_spans"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor ScopeSpans)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"scopeSpans")) ::
-              Data.ProtoLens.FieldDescriptor ResourceSpans
-        schemaUrl__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "schema_url"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
-              Data.ProtoLens.FieldDescriptor ResourceSpans
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, resource__field_descriptor),
-           (Data.ProtoLens.Tag 2, scopeSpans__field_descriptor),
-           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _ResourceSpans'_unknownFields
-        (\ x__ y__ -> x__ {_ResourceSpans'_unknownFields = y__})
-  defMessage
-    = ResourceSpans'_constructor
-        {_ResourceSpans'resource = Prelude.Nothing,
-         _ResourceSpans'scopeSpans = Data.Vector.Generic.empty,
-         _ResourceSpans'schemaUrl = Data.ProtoLens.fieldDefault,
-         _ResourceSpans'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          ResourceSpans
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ScopeSpans
-             -> Data.ProtoLens.Encoding.Bytes.Parser ResourceSpans
-        loop x mutable'scopeSpans
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'scopeSpans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'scopeSpans)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'scopeSpans") frozen'scopeSpans
-                              x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "resource"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"resource") y x)
-                                  mutable'scopeSpans
-                        18
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "scope_spans"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'scopeSpans y)
-                                loop x v
-                        26
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "schema_url"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
-                                  mutable'scopeSpans
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'scopeSpans
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'scopeSpans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'scopeSpans)
-          "ResourceSpans"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (case
-                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'resource") _x
-              of
-                Prelude.Nothing -> Data.Monoid.mempty
-                (Prelude.Just _v)
-                  -> (Data.Monoid.<>)
-                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                       ((Prelude..)
-                          (\ bs
-                             -> (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                          Data.ProtoLens.encodeMessage _v))
-             ((Data.Monoid.<>)
-                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                   (\ _v
-                      -> (Data.Monoid.<>)
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                           ((Prelude..)
-                              (\ bs
-                                 -> (Data.Monoid.<>)
-                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                              Data.ProtoLens.encodeMessage _v))
-                   (Lens.Family2.view
-                      (Data.ProtoLens.Field.field @"vec'scopeSpans") _x))
-                ((Data.Monoid.<>)
-                   (let
-                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                            ((Prelude..)
-                               (\ bs
-                                  -> (Data.Monoid.<>)
-                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                               Data.Text.Encoding.encodeUtf8 _v))
-                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
-instance Control.DeepSeq.NFData ResourceSpans where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_ResourceSpans'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_ResourceSpans'resource x__)
-                (Control.DeepSeq.deepseq
-                   (_ResourceSpans'scopeSpans x__)
-                   (Control.DeepSeq.deepseq (_ResourceSpans'schemaUrl x__) ())))
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.scope' @:: Lens' ScopeSpans Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.maybe'scope' @:: Lens' ScopeSpans (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.spans' @:: Lens' ScopeSpans [Span]@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'spans' @:: Lens' ScopeSpans (Data.Vector.Vector Span)@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.schemaUrl' @:: Lens' ScopeSpans Data.Text.Text@ -}
-data ScopeSpans
-  = ScopeSpans'_constructor {_ScopeSpans'scope :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope),
-                             _ScopeSpans'spans :: !(Data.Vector.Vector Span),
-                             _ScopeSpans'schemaUrl :: !Data.Text.Text,
-                             _ScopeSpans'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show ScopeSpans where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField ScopeSpans "scope" Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeSpans'scope (\ x__ y__ -> x__ {_ScopeSpans'scope = y__}))
-        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Data.ProtoLens.Field.HasField ScopeSpans "maybe'scope" (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeSpans'scope (\ x__ y__ -> x__ {_ScopeSpans'scope = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField ScopeSpans "spans" [Span] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeSpans'spans (\ x__ y__ -> x__ {_ScopeSpans'spans = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField ScopeSpans "vec'spans" (Data.Vector.Vector Span) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeSpans'spans (\ x__ y__ -> x__ {_ScopeSpans'spans = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField ScopeSpans "schemaUrl" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _ScopeSpans'schemaUrl
-           (\ x__ y__ -> x__ {_ScopeSpans'schemaUrl = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message ScopeSpans where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.trace.v1.ScopeSpans"
-  packedMessageDescriptor _
-    = "\n\
-      \\n\
-      \ScopeSpans\DC2I\n\
-      \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC28\n\
-      \\ENQspans\CAN\STX \ETX(\v2\".opentelemetry.proto.trace.v1.SpanR\ENQspans\DC2\GS\n\
-      \\n\
-      \schema_url\CAN\ETX \SOH(\tR\tschemaUrl"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        scope__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "scope"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'scope")) ::
-              Data.ProtoLens.FieldDescriptor ScopeSpans
-        spans__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "spans"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Span)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"spans")) ::
-              Data.ProtoLens.FieldDescriptor ScopeSpans
-        schemaUrl__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "schema_url"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
-              Data.ProtoLens.FieldDescriptor ScopeSpans
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, scope__field_descriptor),
-           (Data.ProtoLens.Tag 2, spans__field_descriptor),
-           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _ScopeSpans'_unknownFields
-        (\ x__ y__ -> x__ {_ScopeSpans'_unknownFields = y__})
-  defMessage
-    = ScopeSpans'_constructor
-        {_ScopeSpans'scope = Prelude.Nothing,
-         _ScopeSpans'spans = Data.Vector.Generic.empty,
-         _ScopeSpans'schemaUrl = Data.ProtoLens.fieldDefault,
-         _ScopeSpans'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          ScopeSpans
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Span
-             -> Data.ProtoLens.Encoding.Bytes.Parser ScopeSpans
-        loop x mutable'spans
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'spans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'spans)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'spans") frozen'spans x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "scope"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scope") y x)
-                                  mutable'spans
-                        18
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "spans"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'spans y)
-                                loop x v
-                        26
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "schema_url"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
-                                  mutable'spans
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'spans
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'spans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                 Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'spans)
-          "ScopeSpans"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (case
-                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'scope") _x
-              of
-                Prelude.Nothing -> Data.Monoid.mempty
-                (Prelude.Just _v)
-                  -> (Data.Monoid.<>)
-                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                       ((Prelude..)
-                          (\ bs
-                             -> (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                          Data.ProtoLens.encodeMessage _v))
-             ((Data.Monoid.<>)
-                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                   (\ _v
-                      -> (Data.Monoid.<>)
-                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                           ((Prelude..)
-                              (\ bs
-                                 -> (Data.Monoid.<>)
-                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                              Data.ProtoLens.encodeMessage _v))
-                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'spans") _x))
-                ((Data.Monoid.<>)
-                   (let
-                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                            ((Prelude..)
-                               (\ bs
-                                  -> (Data.Monoid.<>)
-                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                               Data.Text.Encoding.encodeUtf8 _v))
-                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
-instance Control.DeepSeq.NFData ScopeSpans where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_ScopeSpans'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_ScopeSpans'scope x__)
-                (Control.DeepSeq.deepseq
-                   (_ScopeSpans'spans x__)
-                   (Control.DeepSeq.deepseq (_ScopeSpans'schemaUrl x__) ())))
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.traceId' @:: Lens' Span Data.ByteString.ByteString@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.spanId' @:: Lens' Span Data.ByteString.ByteString@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.traceState' @:: Lens' Span Data.Text.Text@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.parentSpanId' @:: Lens' Span Data.ByteString.ByteString@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.name' @:: Lens' Span Data.Text.Text@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.kind' @:: Lens' Span Span'SpanKind@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.startTimeUnixNano' @:: Lens' Span Data.Word.Word64@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.endTimeUnixNano' @:: Lens' Span Data.Word.Word64@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.attributes' @:: Lens' Span [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'attributes' @:: Lens' Span (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedAttributesCount' @:: Lens' Span Data.Word.Word32@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.events' @:: Lens' Span [Span'Event]@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'events' @:: Lens' Span (Data.Vector.Vector Span'Event)@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedEventsCount' @:: Lens' Span Data.Word.Word32@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.links' @:: Lens' Span [Span'Link]@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'links' @:: Lens' Span (Data.Vector.Vector Span'Link)@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedLinksCount' @:: Lens' Span Data.Word.Word32@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.status' @:: Lens' Span Status@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.maybe'status' @:: Lens' Span (Prelude.Maybe Status)@ -}
-data Span
-  = Span'_constructor {_Span'traceId :: !Data.ByteString.ByteString,
-                       _Span'spanId :: !Data.ByteString.ByteString,
-                       _Span'traceState :: !Data.Text.Text,
-                       _Span'parentSpanId :: !Data.ByteString.ByteString,
-                       _Span'name :: !Data.Text.Text,
-                       _Span'kind :: !Span'SpanKind,
-                       _Span'startTimeUnixNano :: !Data.Word.Word64,
-                       _Span'endTimeUnixNano :: !Data.Word.Word64,
-                       _Span'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
-                       _Span'droppedAttributesCount :: !Data.Word.Word32,
-                       _Span'events :: !(Data.Vector.Vector Span'Event),
-                       _Span'droppedEventsCount :: !Data.Word.Word32,
-                       _Span'links :: !(Data.Vector.Vector Span'Link),
-                       _Span'droppedLinksCount :: !Data.Word.Word32,
-                       _Span'status :: !(Prelude.Maybe Status),
-                       _Span'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Span where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Span "traceId" Data.ByteString.ByteString where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'traceId (\ x__ y__ -> x__ {_Span'traceId = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "spanId" Data.ByteString.ByteString where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'spanId (\ x__ y__ -> x__ {_Span'spanId = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "traceState" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'traceState (\ x__ y__ -> x__ {_Span'traceState = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "parentSpanId" Data.ByteString.ByteString where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'parentSpanId (\ x__ y__ -> x__ {_Span'parentSpanId = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "name" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'name (\ x__ y__ -> x__ {_Span'name = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "kind" Span'SpanKind where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'kind (\ x__ y__ -> x__ {_Span'kind = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "startTimeUnixNano" Data.Word.Word64 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'startTimeUnixNano
-           (\ x__ y__ -> x__ {_Span'startTimeUnixNano = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "endTimeUnixNano" Data.Word.Word64 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'endTimeUnixNano
-           (\ x__ y__ -> x__ {_Span'endTimeUnixNano = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'attributes (\ x__ y__ -> x__ {_Span'attributes = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField Span "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'attributes (\ x__ y__ -> x__ {_Span'attributes = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "droppedAttributesCount" Data.Word.Word32 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'droppedAttributesCount
-           (\ x__ y__ -> x__ {_Span'droppedAttributesCount = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "events" [Span'Event] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'events (\ x__ y__ -> x__ {_Span'events = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField Span "vec'events" (Data.Vector.Vector Span'Event) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'events (\ x__ y__ -> x__ {_Span'events = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "droppedEventsCount" Data.Word.Word32 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'droppedEventsCount
-           (\ x__ y__ -> x__ {_Span'droppedEventsCount = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "links" [Span'Link] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'links (\ x__ y__ -> x__ {_Span'links = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField Span "vec'links" (Data.Vector.Vector Span'Link) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'links (\ x__ y__ -> x__ {_Span'links = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "droppedLinksCount" Data.Word.Word32 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'droppedLinksCount
-           (\ x__ y__ -> x__ {_Span'droppedLinksCount = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span "status" Status where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'status (\ x__ y__ -> x__ {_Span'status = y__}))
-        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
-instance Data.ProtoLens.Field.HasField Span "maybe'status" (Prelude.Maybe Status) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'status (\ x__ y__ -> x__ {_Span'status = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message Span where
-  messageName _ = Data.Text.pack "opentelemetry.proto.trace.v1.Span"
-  packedMessageDescriptor _
-    = "\n\
-      \\EOTSpan\DC2\EM\n\
-      \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
-      \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
-      \\vtrace_state\CAN\ETX \SOH(\tR\n\
-      \traceState\DC2$\n\
-      \\SOparent_span_id\CAN\EOT \SOH(\fR\fparentSpanId\DC2\DC2\n\
-      \\EOTname\CAN\ENQ \SOH(\tR\EOTname\DC2?\n\
-      \\EOTkind\CAN\ACK \SOH(\SO2+.opentelemetry.proto.trace.v1.Span.SpanKindR\EOTkind\DC2/\n\
-      \\DC4start_time_unix_nano\CAN\a \SOH(\ACKR\DC1startTimeUnixNano\DC2+\n\
-      \\DC2end_time_unix_nano\CAN\b \SOH(\ACKR\SIendTimeUnixNano\DC2G\n\
-      \\n\
-      \attributes\CAN\t \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-      \attributes\DC28\n\
-      \\CANdropped_attributes_count\CAN\n\
-      \ \SOH(\rR\SYNdroppedAttributesCount\DC2@\n\
-      \\ACKevents\CAN\v \ETX(\v2(.opentelemetry.proto.trace.v1.Span.EventR\ACKevents\DC20\n\
-      \\DC4dropped_events_count\CAN\f \SOH(\rR\DC2droppedEventsCount\DC2=\n\
-      \\ENQlinks\CAN\r \ETX(\v2'.opentelemetry.proto.trace.v1.Span.LinkR\ENQlinks\DC2.\n\
-      \\DC3dropped_links_count\CAN\SO \SOH(\rR\DC1droppedLinksCount\DC2<\n\
-      \\ACKstatus\CAN\SI \SOH(\v2$.opentelemetry.proto.trace.v1.StatusR\ACKstatus\SUB\196\SOH\n\
-      \\ENQEvent\DC2$\n\
-      \\SOtime_unix_nano\CAN\SOH \SOH(\ACKR\ftimeUnixNano\DC2\DC2\n\
-      \\EOTname\CAN\STX \SOH(\tR\EOTname\DC2G\n\
-      \\n\
-      \attributes\CAN\ETX \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-      \attributes\DC28\n\
-      \\CANdropped_attributes_count\CAN\EOT \SOH(\rR\SYNdroppedAttributesCount\SUB\222\SOH\n\
-      \\EOTLink\DC2\EM\n\
-      \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
-      \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
-      \\vtrace_state\CAN\ETX \SOH(\tR\n\
-      \traceState\DC2G\n\
-      \\n\
-      \attributes\CAN\EOT \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-      \attributes\DC28\n\
-      \\CANdropped_attributes_count\CAN\ENQ \SOH(\rR\SYNdroppedAttributesCount\"\153\SOH\n\
-      \\bSpanKind\DC2\EM\n\
-      \\NAKSPAN_KIND_UNSPECIFIED\DLE\NUL\DC2\SYN\n\
-      \\DC2SPAN_KIND_INTERNAL\DLE\SOH\DC2\DC4\n\
-      \\DLESPAN_KIND_SERVER\DLE\STX\DC2\DC4\n\
-      \\DLESPAN_KIND_CLIENT\DLE\ETX\DC2\SYN\n\
-      \\DC2SPAN_KIND_PRODUCER\DLE\EOT\DC2\SYN\n\
-      \\DC2SPAN_KIND_CONSUMER\DLE\ENQ"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        traceId__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "trace_id"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"traceId")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        spanId__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "span_id"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"spanId")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        traceState__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "trace_state"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"traceState")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        parentSpanId__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "parent_span_id"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"parentSpanId")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        name__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "name"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        kind__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "kind"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                 Data.ProtoLens.FieldTypeDescriptor Span'SpanKind)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"kind")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        startTimeUnixNano__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "start_time_unix_nano"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"startTimeUnixNano")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        endTimeUnixNano__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "end_time_unix_nano"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"endTimeUnixNano")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        attributes__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "attributes"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"attributes")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        droppedAttributesCount__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "dropped_attributes_count"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"droppedAttributesCount")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        events__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "events"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Span'Event)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"events")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        droppedEventsCount__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "dropped_events_count"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"droppedEventsCount")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        links__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "links"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Span'Link)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"links")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        droppedLinksCount__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "dropped_links_count"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"droppedLinksCount")) ::
-              Data.ProtoLens.FieldDescriptor Span
-        status__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "status"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Status)
-              (Data.ProtoLens.OptionalField
-                 (Data.ProtoLens.Field.field @"maybe'status")) ::
-              Data.ProtoLens.FieldDescriptor Span
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, traceId__field_descriptor),
-           (Data.ProtoLens.Tag 2, spanId__field_descriptor),
-           (Data.ProtoLens.Tag 3, traceState__field_descriptor),
-           (Data.ProtoLens.Tag 4, parentSpanId__field_descriptor),
-           (Data.ProtoLens.Tag 5, name__field_descriptor),
-           (Data.ProtoLens.Tag 6, kind__field_descriptor),
-           (Data.ProtoLens.Tag 7, startTimeUnixNano__field_descriptor),
-           (Data.ProtoLens.Tag 8, endTimeUnixNano__field_descriptor),
-           (Data.ProtoLens.Tag 9, attributes__field_descriptor),
-           (Data.ProtoLens.Tag 10, droppedAttributesCount__field_descriptor),
-           (Data.ProtoLens.Tag 11, events__field_descriptor),
-           (Data.ProtoLens.Tag 12, droppedEventsCount__field_descriptor),
-           (Data.ProtoLens.Tag 13, links__field_descriptor),
-           (Data.ProtoLens.Tag 14, droppedLinksCount__field_descriptor),
-           (Data.ProtoLens.Tag 15, status__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _Span'_unknownFields
-        (\ x__ y__ -> x__ {_Span'_unknownFields = y__})
-  defMessage
-    = Span'_constructor
-        {_Span'traceId = Data.ProtoLens.fieldDefault,
-         _Span'spanId = Data.ProtoLens.fieldDefault,
-         _Span'traceState = Data.ProtoLens.fieldDefault,
-         _Span'parentSpanId = Data.ProtoLens.fieldDefault,
-         _Span'name = Data.ProtoLens.fieldDefault,
-         _Span'kind = Data.ProtoLens.fieldDefault,
-         _Span'startTimeUnixNano = Data.ProtoLens.fieldDefault,
-         _Span'endTimeUnixNano = Data.ProtoLens.fieldDefault,
-         _Span'attributes = Data.Vector.Generic.empty,
-         _Span'droppedAttributesCount = Data.ProtoLens.fieldDefault,
-         _Span'events = Data.Vector.Generic.empty,
-         _Span'droppedEventsCount = Data.ProtoLens.fieldDefault,
-         _Span'links = Data.Vector.Generic.empty,
-         _Span'droppedLinksCount = Data.ProtoLens.fieldDefault,
-         _Span'status = Prelude.Nothing, _Span'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          Span
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
-             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Span'Event
-                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Span'Link
-                   -> Data.ProtoLens.Encoding.Bytes.Parser Span
-        loop x mutable'attributes mutable'events mutable'links
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'attributes)
-                      frozen'events <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                            mutable'events)
-                      frozen'links <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'links)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
-                              (Lens.Family2.set
-                                 (Data.ProtoLens.Field.field @"vec'events") frozen'events
-                                 (Lens.Family2.set
-                                    (Data.ProtoLens.Field.field @"vec'links") frozen'links x))))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getBytes
-                                             (Prelude.fromIntegral len))
-                                       "trace_id"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"traceId") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        18
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getBytes
-                                             (Prelude.fromIntegral len))
-                                       "span_id"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"spanId") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        26
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "trace_state"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"traceState") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        34
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getBytes
-                                             (Prelude.fromIntegral len))
-                                       "parent_span_id"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"parentSpanId") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        42
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "name"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        48
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.toEnum
-                                          (Prelude.fmap
-                                             Prelude.fromIntegral
-                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
-                                       "kind"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"kind") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        57
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       Data.ProtoLens.Encoding.Bytes.getFixed64
-                                       "start_time_unix_nano"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"startTimeUnixNano") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        65
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "end_time_unix_nano"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"endTimeUnixNano") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        74
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "attributes"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
-                                loop x v mutable'events mutable'links
-                        80
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.fromIntegral
-                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                       "dropped_attributes_count"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"droppedAttributesCount") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        90
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "events"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'events y)
-                                loop x mutable'attributes v mutable'links
-                        96
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.fromIntegral
-                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                       "dropped_events_count"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"droppedEventsCount") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        106
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "links"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'links y)
-                                loop x mutable'attributes mutable'events v
-                        112
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.fromIntegral
-                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                       "dropped_links_count"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"droppedLinksCount") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        122
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.isolate
-                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
-                                       "status"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"status") y x)
-                                  mutable'attributes mutable'events mutable'links
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'attributes mutable'events mutable'links
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-              mutable'events <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                  Data.ProtoLens.Encoding.Growing.new
-              mutable'links <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                 Data.ProtoLens.Encoding.Growing.new
-              loop
-                Data.ProtoLens.defMessage mutable'attributes mutable'events
-                mutable'links)
-          "Span"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (let
-                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"traceId") _x
-              in
-                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty
-                else
-                    (Data.Monoid.<>)
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                      ((\ bs
-                          -> (Data.Monoid.<>)
-                               (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
-                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         _v))
-             ((Data.Monoid.<>)
-                (let
-                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"spanId") _x
-                 in
-                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                       Data.Monoid.mempty
-                   else
-                       (Data.Monoid.<>)
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                         ((\ bs
-                             -> (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                            _v))
-                ((Data.Monoid.<>)
-                   (let
-                      _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"traceState") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                            ((Prelude..)
-                               (\ bs
-                                  -> (Data.Monoid.<>)
-                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                               Data.Text.Encoding.encodeUtf8 _v))
-                   ((Data.Monoid.<>)
-                      (let
-                         _v
-                           = Lens.Family2.view (Data.ProtoLens.Field.field @"parentSpanId") _x
-                       in
-                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                             Data.Monoid.mempty
-                         else
-                             (Data.Monoid.<>)
-                               (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
-                               ((\ bs
-                                   -> (Data.Monoid.<>)
-                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                  _v))
-                      ((Data.Monoid.<>)
-                         (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
-                          in
-                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                Data.Monoid.mempty
-                            else
-                                (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
-                                  ((Prelude..)
-                                     (\ bs
-                                        -> (Data.Monoid.<>)
-                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                             (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                     Data.Text.Encoding.encodeUtf8 _v))
-                         ((Data.Monoid.<>)
-                            (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"kind") _x
-                             in
-                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                   Data.Monoid.mempty
-                               else
-                                   (Data.Monoid.<>)
-                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
-                                     ((Prelude..)
-                                        ((Prelude..)
-                                           Data.ProtoLens.Encoding.Bytes.putVarInt
-                                           Prelude.fromIntegral)
-                                        Prelude.fromEnum _v))
-                            ((Data.Monoid.<>)
-                               (let
-                                  _v
-                                    = Lens.Family2.view
-                                        (Data.ProtoLens.Field.field @"startTimeUnixNano") _x
-                                in
-                                  if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                      Data.Monoid.mempty
-                                  else
-                                      (Data.Monoid.<>)
-                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 57)
-                                        (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
-                               ((Data.Monoid.<>)
-                                  (let
-                                     _v
-                                       = Lens.Family2.view
-                                           (Data.ProtoLens.Field.field @"endTimeUnixNano") _x
-                                   in
-                                     if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                         Data.Monoid.mempty
-                                     else
-                                         (Data.Monoid.<>)
-                                           (Data.ProtoLens.Encoding.Bytes.putVarInt 65)
-                                           (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
-                                  ((Data.Monoid.<>)
-                                     (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                                        (\ _v
-                                           -> (Data.Monoid.<>)
-                                                (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
-                                                ((Prelude..)
-                                                   (\ bs
-                                                      -> (Data.Monoid.<>)
-                                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                              (Prelude.fromIntegral
-                                                                 (Data.ByteString.length bs)))
-                                                           (Data.ProtoLens.Encoding.Bytes.putBytes
-                                                              bs))
-                                                   Data.ProtoLens.encodeMessage _v))
-                                        (Lens.Family2.view
-                                           (Data.ProtoLens.Field.field @"vec'attributes") _x))
-                                     ((Data.Monoid.<>)
-                                        (let
-                                           _v
-                                             = Lens.Family2.view
-                                                 (Data.ProtoLens.Field.field
-                                                    @"droppedAttributesCount")
-                                                 _x
-                                         in
-                                           if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                               Data.Monoid.mempty
-                                           else
-                                               (Data.Monoid.<>)
-                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 80)
-                                                 ((Prelude..)
-                                                    Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                    Prelude.fromIntegral _v))
-                                        ((Data.Monoid.<>)
-                                           (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                                              (\ _v
-                                                 -> (Data.Monoid.<>)
-                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
-                                                      ((Prelude..)
-                                                         (\ bs
-                                                            -> (Data.Monoid.<>)
-                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                                    (Prelude.fromIntegral
-                                                                       (Data.ByteString.length bs)))
-                                                                 (Data.ProtoLens.Encoding.Bytes.putBytes
-                                                                    bs))
-                                                         Data.ProtoLens.encodeMessage _v))
-                                              (Lens.Family2.view
-                                                 (Data.ProtoLens.Field.field @"vec'events") _x))
-                                           ((Data.Monoid.<>)
-                                              (let
-                                                 _v
-                                                   = Lens.Family2.view
-                                                       (Data.ProtoLens.Field.field
-                                                          @"droppedEventsCount")
-                                                       _x
-                                               in
-                                                 if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                                     Data.Monoid.mempty
-                                                 else
-                                                     (Data.Monoid.<>)
-                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 96)
-                                                       ((Prelude..)
-                                                          Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                          Prelude.fromIntegral _v))
-                                              ((Data.Monoid.<>)
-                                                 (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                                                    (\ _v
-                                                       -> (Data.Monoid.<>)
-                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                               106)
-                                                            ((Prelude..)
-                                                               (\ bs
-                                                                  -> (Data.Monoid.<>)
-                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                                          (Prelude.fromIntegral
-                                                                             (Data.ByteString.length
-                                                                                bs)))
-                                                                       (Data.ProtoLens.Encoding.Bytes.putBytes
-                                                                          bs))
-                                                               Data.ProtoLens.encodeMessage _v))
-                                                    (Lens.Family2.view
-                                                       (Data.ProtoLens.Field.field @"vec'links")
-                                                       _x))
-                                                 ((Data.Monoid.<>)
-                                                    (let
-                                                       _v
-                                                         = Lens.Family2.view
-                                                             (Data.ProtoLens.Field.field
-                                                                @"droppedLinksCount")
-                                                             _x
-                                                     in
-                                                       if (Prelude.==)
-                                                            _v Data.ProtoLens.fieldDefault then
-                                                           Data.Monoid.mempty
-                                                       else
-                                                           (Data.Monoid.<>)
-                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                                112)
-                                                             ((Prelude..)
-                                                                Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                                Prelude.fromIntegral _v))
-                                                    ((Data.Monoid.<>)
-                                                       (case
-                                                            Lens.Family2.view
-                                                              (Data.ProtoLens.Field.field
-                                                                 @"maybe'status")
-                                                              _x
-                                                        of
-                                                          Prelude.Nothing -> Data.Monoid.mempty
-                                                          (Prelude.Just _v)
-                                                            -> (Data.Monoid.<>)
-                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                                    122)
-                                                                 ((Prelude..)
-                                                                    (\ bs
-                                                                       -> (Data.Monoid.<>)
-                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                                                               (Prelude.fromIntegral
-                                                                                  (Data.ByteString.length
-                                                                                     bs)))
-                                                                            (Data.ProtoLens.Encoding.Bytes.putBytes
-                                                                               bs))
-                                                                    Data.ProtoLens.encodeMessage
-                                                                    _v))
-                                                       (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                                                          (Lens.Family2.view
-                                                             Data.ProtoLens.unknownFields
-                                                             _x))))))))))))))))
-instance Control.DeepSeq.NFData Span where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_Span'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_Span'traceId x__)
-                (Control.DeepSeq.deepseq
-                   (_Span'spanId x__)
-                   (Control.DeepSeq.deepseq
-                      (_Span'traceState x__)
-                      (Control.DeepSeq.deepseq
-                         (_Span'parentSpanId x__)
-                         (Control.DeepSeq.deepseq
-                            (_Span'name x__)
-                            (Control.DeepSeq.deepseq
-                               (_Span'kind x__)
-                               (Control.DeepSeq.deepseq
-                                  (_Span'startTimeUnixNano x__)
-                                  (Control.DeepSeq.deepseq
-                                     (_Span'endTimeUnixNano x__)
-                                     (Control.DeepSeq.deepseq
-                                        (_Span'attributes x__)
-                                        (Control.DeepSeq.deepseq
-                                           (_Span'droppedAttributesCount x__)
-                                           (Control.DeepSeq.deepseq
-                                              (_Span'events x__)
-                                              (Control.DeepSeq.deepseq
-                                                 (_Span'droppedEventsCount x__)
-                                                 (Control.DeepSeq.deepseq
-                                                    (_Span'links x__)
-                                                    (Control.DeepSeq.deepseq
-                                                       (_Span'droppedLinksCount x__)
-                                                       (Control.DeepSeq.deepseq
-                                                          (_Span'status x__) ())))))))))))))))
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.timeUnixNano' @:: Lens' Span'Event Data.Word.Word64@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.name' @:: Lens' Span'Event Data.Text.Text@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.attributes' @:: Lens' Span'Event [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'attributes' @:: Lens' Span'Event (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedAttributesCount' @:: Lens' Span'Event Data.Word.Word32@ -}
-data Span'Event
-  = Span'Event'_constructor {_Span'Event'timeUnixNano :: !Data.Word.Word64,
-                             _Span'Event'name :: !Data.Text.Text,
-                             _Span'Event'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
-                             _Span'Event'droppedAttributesCount :: !Data.Word.Word32,
-                             _Span'Event'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Span'Event where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Span'Event "timeUnixNano" Data.Word.Word64 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Event'timeUnixNano
-           (\ x__ y__ -> x__ {_Span'Event'timeUnixNano = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span'Event "name" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Event'name (\ x__ y__ -> x__ {_Span'Event'name = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span'Event "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Event'attributes
-           (\ x__ y__ -> x__ {_Span'Event'attributes = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField Span'Event "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Event'attributes
-           (\ x__ y__ -> x__ {_Span'Event'attributes = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span'Event "droppedAttributesCount" Data.Word.Word32 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Event'droppedAttributesCount
-           (\ x__ y__ -> x__ {_Span'Event'droppedAttributesCount = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message Span'Event where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.trace.v1.Span.Event"
-  packedMessageDescriptor _
-    = "\n\
-      \\ENQEvent\DC2$\n\
-      \\SOtime_unix_nano\CAN\SOH \SOH(\ACKR\ftimeUnixNano\DC2\DC2\n\
-      \\EOTname\CAN\STX \SOH(\tR\EOTname\DC2G\n\
-      \\n\
-      \attributes\CAN\ETX \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-      \attributes\DC28\n\
-      \\CANdropped_attributes_count\CAN\EOT \SOH(\rR\SYNdroppedAttributesCount"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        timeUnixNano__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "time_unix_nano"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"timeUnixNano")) ::
-              Data.ProtoLens.FieldDescriptor Span'Event
-        name__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "name"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
-              Data.ProtoLens.FieldDescriptor Span'Event
-        attributes__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "attributes"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"attributes")) ::
-              Data.ProtoLens.FieldDescriptor Span'Event
-        droppedAttributesCount__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "dropped_attributes_count"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"droppedAttributesCount")) ::
-              Data.ProtoLens.FieldDescriptor Span'Event
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, timeUnixNano__field_descriptor),
-           (Data.ProtoLens.Tag 2, name__field_descriptor),
-           (Data.ProtoLens.Tag 3, attributes__field_descriptor),
-           (Data.ProtoLens.Tag 4, droppedAttributesCount__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _Span'Event'_unknownFields
-        (\ x__ y__ -> x__ {_Span'Event'_unknownFields = y__})
-  defMessage
-    = Span'Event'_constructor
-        {_Span'Event'timeUnixNano = Data.ProtoLens.fieldDefault,
-         _Span'Event'name = Data.ProtoLens.fieldDefault,
-         _Span'Event'attributes = Data.Vector.Generic.empty,
-         _Span'Event'droppedAttributesCount = Data.ProtoLens.fieldDefault,
-         _Span'Event'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          Span'Event
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
-             -> Data.ProtoLens.Encoding.Bytes.Parser Span'Event
-        loop x mutable'attributes
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'attributes)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
-                              x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        9 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "time_unix_nano"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"timeUnixNano") y x)
-                                  mutable'attributes
-                        18
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "name"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
-                                  mutable'attributes
-                        26
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "attributes"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
-                                loop x v
-                        32
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.fromIntegral
-                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                       "dropped_attributes_count"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"droppedAttributesCount") y x)
-                                  mutable'attributes
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'attributes
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'attributes)
-          "Event"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (let
-                _v
-                  = Lens.Family2.view (Data.ProtoLens.Field.field @"timeUnixNano") _x
-              in
-                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty
-                else
-                    (Data.Monoid.<>)
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 9)
-                      (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
-             ((Data.Monoid.<>)
-                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
-                 in
-                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                       Data.Monoid.mempty
-                   else
-                       (Data.Monoid.<>)
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                         ((Prelude..)
-                            (\ bs
-                               -> (Data.Monoid.<>)
-                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                            Data.Text.Encoding.encodeUtf8 _v))
-                ((Data.Monoid.<>)
-                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                      (\ _v
-                         -> (Data.Monoid.<>)
-                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                              ((Prelude..)
-                                 (\ bs
-                                    -> (Data.Monoid.<>)
-                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                 Data.ProtoLens.encodeMessage _v))
-                      (Lens.Family2.view
-                         (Data.ProtoLens.Field.field @"vec'attributes") _x))
-                   ((Data.Monoid.<>)
-                      (let
-                         _v
-                           = Lens.Family2.view
-                               (Data.ProtoLens.Field.field @"droppedAttributesCount") _x
-                       in
-                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                             Data.Monoid.mempty
-                         else
-                             (Data.Monoid.<>)
-                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
-                               ((Prelude..)
-                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
-                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
-instance Control.DeepSeq.NFData Span'Event where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_Span'Event'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_Span'Event'timeUnixNano x__)
-                (Control.DeepSeq.deepseq
-                   (_Span'Event'name x__)
-                   (Control.DeepSeq.deepseq
-                      (_Span'Event'attributes x__)
-                      (Control.DeepSeq.deepseq
-                         (_Span'Event'droppedAttributesCount x__) ()))))
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.traceId' @:: Lens' Span'Link Data.ByteString.ByteString@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.spanId' @:: Lens' Span'Link Data.ByteString.ByteString@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.traceState' @:: Lens' Span'Link Data.Text.Text@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.attributes' @:: Lens' Span'Link [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'attributes' @:: Lens' Span'Link (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedAttributesCount' @:: Lens' Span'Link Data.Word.Word32@ -}
-data Span'Link
-  = Span'Link'_constructor {_Span'Link'traceId :: !Data.ByteString.ByteString,
-                            _Span'Link'spanId :: !Data.ByteString.ByteString,
-                            _Span'Link'traceState :: !Data.Text.Text,
-                            _Span'Link'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
-                            _Span'Link'droppedAttributesCount :: !Data.Word.Word32,
-                            _Span'Link'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Span'Link where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Span'Link "traceId" Data.ByteString.ByteString where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Link'traceId (\ x__ y__ -> x__ {_Span'Link'traceId = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span'Link "spanId" Data.ByteString.ByteString where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Link'spanId (\ x__ y__ -> x__ {_Span'Link'spanId = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span'Link "traceState" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Link'traceState
-           (\ x__ y__ -> x__ {_Span'Link'traceState = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span'Link "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Link'attributes
-           (\ x__ y__ -> x__ {_Span'Link'attributes = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField Span'Link "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Link'attributes
-           (\ x__ y__ -> x__ {_Span'Link'attributes = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Span'Link "droppedAttributesCount" Data.Word.Word32 where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Span'Link'droppedAttributesCount
-           (\ x__ y__ -> x__ {_Span'Link'droppedAttributesCount = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message Span'Link where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.trace.v1.Span.Link"
-  packedMessageDescriptor _
-    = "\n\
-      \\EOTLink\DC2\EM\n\
-      \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
-      \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
-      \\vtrace_state\CAN\ETX \SOH(\tR\n\
-      \traceState\DC2G\n\
-      \\n\
-      \attributes\CAN\EOT \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-      \attributes\DC28\n\
-      \\CANdropped_attributes_count\CAN\ENQ \SOH(\rR\SYNdroppedAttributesCount"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        traceId__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "trace_id"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"traceId")) ::
-              Data.ProtoLens.FieldDescriptor Span'Link
-        spanId__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "span_id"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"spanId")) ::
-              Data.ProtoLens.FieldDescriptor Span'Link
-        traceState__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "trace_state"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"traceState")) ::
-              Data.ProtoLens.FieldDescriptor Span'Link
-        attributes__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "attributes"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"attributes")) ::
-              Data.ProtoLens.FieldDescriptor Span'Link
-        droppedAttributesCount__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "dropped_attributes_count"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional
-                 (Data.ProtoLens.Field.field @"droppedAttributesCount")) ::
-              Data.ProtoLens.FieldDescriptor Span'Link
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, traceId__field_descriptor),
-           (Data.ProtoLens.Tag 2, spanId__field_descriptor),
-           (Data.ProtoLens.Tag 3, traceState__field_descriptor),
-           (Data.ProtoLens.Tag 4, attributes__field_descriptor),
-           (Data.ProtoLens.Tag 5, droppedAttributesCount__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _Span'Link'_unknownFields
-        (\ x__ y__ -> x__ {_Span'Link'_unknownFields = y__})
-  defMessage
-    = Span'Link'_constructor
-        {_Span'Link'traceId = Data.ProtoLens.fieldDefault,
-         _Span'Link'spanId = Data.ProtoLens.fieldDefault,
-         _Span'Link'traceState = Data.ProtoLens.fieldDefault,
-         _Span'Link'attributes = Data.Vector.Generic.empty,
-         _Span'Link'droppedAttributesCount = Data.ProtoLens.fieldDefault,
-         _Span'Link'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          Span'Link
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
-             -> Data.ProtoLens.Encoding.Bytes.Parser Span'Link
-        loop x mutable'attributes
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                mutable'attributes)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
-                              x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getBytes
-                                             (Prelude.fromIntegral len))
-                                       "trace_id"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"traceId") y x)
-                                  mutable'attributes
-                        18
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getBytes
-                                             (Prelude.fromIntegral len))
-                                       "span_id"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"spanId") y x)
-                                  mutable'attributes
-                        26
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "trace_state"
-                                loop
-                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"traceState") y x)
-                                  mutable'attributes
-                        34
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "attributes"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
-                                loop x v
-                        40
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.fromIntegral
-                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
-                                       "dropped_attributes_count"
-                                loop
-                                  (Lens.Family2.set
-                                     (Data.ProtoLens.Field.field @"droppedAttributesCount") y x)
-                                  mutable'attributes
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'attributes
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                      Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'attributes)
-          "Link"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (let
-                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"traceId") _x
-              in
-                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty
-                else
-                    (Data.Monoid.<>)
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                      ((\ bs
-                          -> (Data.Monoid.<>)
-                               (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
-                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         _v))
-             ((Data.Monoid.<>)
-                (let
-                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"spanId") _x
-                 in
-                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                       Data.Monoid.mempty
-                   else
-                       (Data.Monoid.<>)
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                         ((\ bs
-                             -> (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                            _v))
-                ((Data.Monoid.<>)
-                   (let
-                      _v
-                        = Lens.Family2.view (Data.ProtoLens.Field.field @"traceState") _x
-                    in
-                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                          Data.Monoid.mempty
-                      else
-                          (Data.Monoid.<>)
-                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
-                            ((Prelude..)
-                               (\ bs
-                                  -> (Data.Monoid.<>)
-                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                               Data.Text.Encoding.encodeUtf8 _v))
-                   ((Data.Monoid.<>)
-                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                         (\ _v
-                            -> (Data.Monoid.<>)
-                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
-                                 ((Prelude..)
-                                    (\ bs
-                                       -> (Data.Monoid.<>)
-                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                                    Data.ProtoLens.encodeMessage _v))
-                         (Lens.Family2.view
-                            (Data.ProtoLens.Field.field @"vec'attributes") _x))
-                      ((Data.Monoid.<>)
-                         (let
-                            _v
-                              = Lens.Family2.view
-                                  (Data.ProtoLens.Field.field @"droppedAttributesCount") _x
-                          in
-                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                                Data.Monoid.mempty
-                            else
-                                (Data.Monoid.<>)
-                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
-                                  ((Prelude..)
-                                     Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral
-                                     _v))
-                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
-instance Control.DeepSeq.NFData Span'Link where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_Span'Link'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_Span'Link'traceId x__)
-                (Control.DeepSeq.deepseq
-                   (_Span'Link'spanId x__)
-                   (Control.DeepSeq.deepseq
-                      (_Span'Link'traceState x__)
-                      (Control.DeepSeq.deepseq
-                         (_Span'Link'attributes x__)
-                         (Control.DeepSeq.deepseq
-                            (_Span'Link'droppedAttributesCount x__) ())))))
-newtype Span'SpanKind'UnrecognizedValue
-  = Span'SpanKind'UnrecognizedValue Data.Int.Int32
-  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
-data Span'SpanKind
-  = Span'SPAN_KIND_UNSPECIFIED |
-    Span'SPAN_KIND_INTERNAL |
-    Span'SPAN_KIND_SERVER |
-    Span'SPAN_KIND_CLIENT |
-    Span'SPAN_KIND_PRODUCER |
-    Span'SPAN_KIND_CONSUMER |
-    Span'SpanKind'Unrecognized !Span'SpanKind'UnrecognizedValue
-  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.MessageEnum Span'SpanKind where
-  maybeToEnum 0 = Prelude.Just Span'SPAN_KIND_UNSPECIFIED
-  maybeToEnum 1 = Prelude.Just Span'SPAN_KIND_INTERNAL
-  maybeToEnum 2 = Prelude.Just Span'SPAN_KIND_SERVER
-  maybeToEnum 3 = Prelude.Just Span'SPAN_KIND_CLIENT
-  maybeToEnum 4 = Prelude.Just Span'SPAN_KIND_PRODUCER
-  maybeToEnum 5 = Prelude.Just Span'SPAN_KIND_CONSUMER
-  maybeToEnum k
-    = Prelude.Just
-        (Span'SpanKind'Unrecognized
-           (Span'SpanKind'UnrecognizedValue (Prelude.fromIntegral k)))
-  showEnum Span'SPAN_KIND_UNSPECIFIED = "SPAN_KIND_UNSPECIFIED"
-  showEnum Span'SPAN_KIND_INTERNAL = "SPAN_KIND_INTERNAL"
-  showEnum Span'SPAN_KIND_SERVER = "SPAN_KIND_SERVER"
-  showEnum Span'SPAN_KIND_CLIENT = "SPAN_KIND_CLIENT"
-  showEnum Span'SPAN_KIND_PRODUCER = "SPAN_KIND_PRODUCER"
-  showEnum Span'SPAN_KIND_CONSUMER = "SPAN_KIND_CONSUMER"
-  showEnum
-    (Span'SpanKind'Unrecognized (Span'SpanKind'UnrecognizedValue k))
-    = Prelude.show k
-  readEnum k
-    | (Prelude.==) k "SPAN_KIND_UNSPECIFIED"
-    = Prelude.Just Span'SPAN_KIND_UNSPECIFIED
-    | (Prelude.==) k "SPAN_KIND_INTERNAL"
-    = Prelude.Just Span'SPAN_KIND_INTERNAL
-    | (Prelude.==) k "SPAN_KIND_SERVER"
-    = Prelude.Just Span'SPAN_KIND_SERVER
-    | (Prelude.==) k "SPAN_KIND_CLIENT"
-    = Prelude.Just Span'SPAN_KIND_CLIENT
-    | (Prelude.==) k "SPAN_KIND_PRODUCER"
-    = Prelude.Just Span'SPAN_KIND_PRODUCER
-    | (Prelude.==) k "SPAN_KIND_CONSUMER"
-    = Prelude.Just Span'SPAN_KIND_CONSUMER
-    | Prelude.otherwise
-    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
-instance Prelude.Bounded Span'SpanKind where
-  minBound = Span'SPAN_KIND_UNSPECIFIED
-  maxBound = Span'SPAN_KIND_CONSUMER
-instance Prelude.Enum Span'SpanKind where
-  toEnum k__
-    = Prelude.maybe
-        (Prelude.error
-           ((Prelude.++)
-              "toEnum: unknown value for enum SpanKind: " (Prelude.show k__)))
-        Prelude.id (Data.ProtoLens.maybeToEnum k__)
-  fromEnum Span'SPAN_KIND_UNSPECIFIED = 0
-  fromEnum Span'SPAN_KIND_INTERNAL = 1
-  fromEnum Span'SPAN_KIND_SERVER = 2
-  fromEnum Span'SPAN_KIND_CLIENT = 3
-  fromEnum Span'SPAN_KIND_PRODUCER = 4
-  fromEnum Span'SPAN_KIND_CONSUMER = 5
-  fromEnum
-    (Span'SpanKind'Unrecognized (Span'SpanKind'UnrecognizedValue k))
-    = Prelude.fromIntegral k
-  succ Span'SPAN_KIND_CONSUMER
-    = Prelude.error
-        "Span'SpanKind.succ: bad argument Span'SPAN_KIND_CONSUMER. This value would be out of bounds."
-  succ Span'SPAN_KIND_UNSPECIFIED = Span'SPAN_KIND_INTERNAL
-  succ Span'SPAN_KIND_INTERNAL = Span'SPAN_KIND_SERVER
-  succ Span'SPAN_KIND_SERVER = Span'SPAN_KIND_CLIENT
-  succ Span'SPAN_KIND_CLIENT = Span'SPAN_KIND_PRODUCER
-  succ Span'SPAN_KIND_PRODUCER = Span'SPAN_KIND_CONSUMER
-  succ (Span'SpanKind'Unrecognized _)
-    = Prelude.error
-        "Span'SpanKind.succ: bad argument: unrecognized value"
-  pred Span'SPAN_KIND_UNSPECIFIED
-    = Prelude.error
-        "Span'SpanKind.pred: bad argument Span'SPAN_KIND_UNSPECIFIED. This value would be out of bounds."
-  pred Span'SPAN_KIND_INTERNAL = Span'SPAN_KIND_UNSPECIFIED
-  pred Span'SPAN_KIND_SERVER = Span'SPAN_KIND_INTERNAL
-  pred Span'SPAN_KIND_CLIENT = Span'SPAN_KIND_SERVER
-  pred Span'SPAN_KIND_PRODUCER = Span'SPAN_KIND_CLIENT
-  pred Span'SPAN_KIND_CONSUMER = Span'SPAN_KIND_PRODUCER
-  pred (Span'SpanKind'Unrecognized _)
-    = Prelude.error
-        "Span'SpanKind.pred: bad argument: unrecognized value"
-  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
-  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
-  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
-  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
-instance Data.ProtoLens.FieldDefault Span'SpanKind where
-  fieldDefault = Span'SPAN_KIND_UNSPECIFIED
-instance Control.DeepSeq.NFData Span'SpanKind where
-  rnf x__ = Prelude.seq x__ ()
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.message' @:: Lens' Status Data.Text.Text@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.code' @:: Lens' Status Status'StatusCode@ -}
-data Status
-  = Status'_constructor {_Status'message :: !Data.Text.Text,
-                         _Status'code :: !Status'StatusCode,
-                         _Status'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show Status where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField Status "message" Data.Text.Text where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Status'message (\ x__ y__ -> x__ {_Status'message = y__}))
-        Prelude.id
-instance Data.ProtoLens.Field.HasField Status "code" Status'StatusCode where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _Status'code (\ x__ y__ -> x__ {_Status'code = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message Status where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.trace.v1.Status"
-  packedMessageDescriptor _
-    = "\n\
-      \\ACKStatus\DC2\CAN\n\
-      \\amessage\CAN\STX \SOH(\tR\amessage\DC2C\n\
-      \\EOTcode\CAN\ETX \SOH(\SO2/.opentelemetry.proto.trace.v1.Status.StatusCodeR\EOTcode\"N\n\
-      \\n\
-      \StatusCode\DC2\NAK\n\
-      \\DC1STATUS_CODE_UNSET\DLE\NUL\DC2\DC2\n\
-      \\SOSTATUS_CODE_OK\DLE\SOH\DC2\NAK\n\
-      \\DC1STATUS_CODE_ERROR\DLE\STXJ\EOT\b\SOH\DLE\STX"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        message__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "message"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"message")) ::
-              Data.ProtoLens.FieldDescriptor Status
-        code__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "code"
-              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                 Data.ProtoLens.FieldTypeDescriptor Status'StatusCode)
-              (Data.ProtoLens.PlainField
-                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"code")) ::
-              Data.ProtoLens.FieldDescriptor Status
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 2, message__field_descriptor),
-           (Data.ProtoLens.Tag 3, code__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _Status'_unknownFields
-        (\ x__ y__ -> x__ {_Status'_unknownFields = y__})
-  defMessage
-    = Status'_constructor
-        {_Status'message = Data.ProtoLens.fieldDefault,
-         _Status'code = Data.ProtoLens.fieldDefault,
-         _Status'_unknownFields = []}
-  parseMessage
-    = let
-        loop :: Status -> Data.ProtoLens.Encoding.Bytes.Parser Status
-        loop x
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        18
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                           Data.ProtoLens.Encoding.Bytes.getText
-                                             (Prelude.fromIntegral len))
-                                       "message"
-                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"message") y x)
-                        24
-                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                       (Prelude.fmap
-                                          Prelude.toEnum
-                                          (Prelude.fmap
-                                             Prelude.fromIntegral
-                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
-                                       "code"
-                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"code") y x)
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do loop Data.ProtoLens.defMessage) "Status"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (let
-                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"message") _x
-              in
-                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                    Data.Monoid.mempty
-                else
-                    (Data.Monoid.<>)
-                      (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
-                      ((Prelude..)
-                         (\ bs
-                            -> (Data.Monoid.<>)
-                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                         Data.Text.Encoding.encodeUtf8 _v))
-             ((Data.Monoid.<>)
-                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"code") _x
-                 in
-                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
-                       Data.Monoid.mempty
-                   else
-                       (Data.Monoid.<>)
-                         (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
-                         ((Prelude..)
-                            ((Prelude..)
-                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
-                            Prelude.fromEnum _v))
-                (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
-instance Control.DeepSeq.NFData Status where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_Status'_unknownFields x__)
-             (Control.DeepSeq.deepseq
-                (_Status'message x__)
-                (Control.DeepSeq.deepseq (_Status'code x__) ()))
-newtype Status'StatusCode'UnrecognizedValue
-  = Status'StatusCode'UnrecognizedValue Data.Int.Int32
-  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
-data Status'StatusCode
-  = Status'STATUS_CODE_UNSET |
-    Status'STATUS_CODE_OK |
-    Status'STATUS_CODE_ERROR |
-    Status'StatusCode'Unrecognized !Status'StatusCode'UnrecognizedValue
-  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.ProtoLens.MessageEnum Status'StatusCode where
-  maybeToEnum 0 = Prelude.Just Status'STATUS_CODE_UNSET
-  maybeToEnum 1 = Prelude.Just Status'STATUS_CODE_OK
-  maybeToEnum 2 = Prelude.Just Status'STATUS_CODE_ERROR
-  maybeToEnum k
-    = Prelude.Just
-        (Status'StatusCode'Unrecognized
-           (Status'StatusCode'UnrecognizedValue (Prelude.fromIntegral k)))
-  showEnum Status'STATUS_CODE_UNSET = "STATUS_CODE_UNSET"
-  showEnum Status'STATUS_CODE_OK = "STATUS_CODE_OK"
-  showEnum Status'STATUS_CODE_ERROR = "STATUS_CODE_ERROR"
-  showEnum
-    (Status'StatusCode'Unrecognized (Status'StatusCode'UnrecognizedValue k))
-    = Prelude.show k
-  readEnum k
-    | (Prelude.==) k "STATUS_CODE_UNSET"
-    = Prelude.Just Status'STATUS_CODE_UNSET
-    | (Prelude.==) k "STATUS_CODE_OK"
-    = Prelude.Just Status'STATUS_CODE_OK
-    | (Prelude.==) k "STATUS_CODE_ERROR"
-    = Prelude.Just Status'STATUS_CODE_ERROR
-    | Prelude.otherwise
-    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
-instance Prelude.Bounded Status'StatusCode where
-  minBound = Status'STATUS_CODE_UNSET
-  maxBound = Status'STATUS_CODE_ERROR
-instance Prelude.Enum Status'StatusCode where
-  toEnum k__
-    = Prelude.maybe
-        (Prelude.error
-           ((Prelude.++)
-              "toEnum: unknown value for enum StatusCode: " (Prelude.show k__)))
-        Prelude.id (Data.ProtoLens.maybeToEnum k__)
-  fromEnum Status'STATUS_CODE_UNSET = 0
-  fromEnum Status'STATUS_CODE_OK = 1
-  fromEnum Status'STATUS_CODE_ERROR = 2
-  fromEnum
-    (Status'StatusCode'Unrecognized (Status'StatusCode'UnrecognizedValue k))
-    = Prelude.fromIntegral k
-  succ Status'STATUS_CODE_ERROR
-    = Prelude.error
-        "Status'StatusCode.succ: bad argument Status'STATUS_CODE_ERROR. This value would be out of bounds."
-  succ Status'STATUS_CODE_UNSET = Status'STATUS_CODE_OK
-  succ Status'STATUS_CODE_OK = Status'STATUS_CODE_ERROR
-  succ (Status'StatusCode'Unrecognized _)
-    = Prelude.error
-        "Status'StatusCode.succ: bad argument: unrecognized value"
-  pred Status'STATUS_CODE_UNSET
-    = Prelude.error
-        "Status'StatusCode.pred: bad argument Status'STATUS_CODE_UNSET. This value would be out of bounds."
-  pred Status'STATUS_CODE_OK = Status'STATUS_CODE_UNSET
-  pred Status'STATUS_CODE_ERROR = Status'STATUS_CODE_OK
-  pred (Status'StatusCode'Unrecognized _)
-    = Prelude.error
-        "Status'StatusCode.pred: bad argument: unrecognized value"
-  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
-  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
-  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
-  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
-instance Data.ProtoLens.FieldDefault Status'StatusCode where
-  fieldDefault = Status'STATUS_CODE_UNSET
-instance Control.DeepSeq.NFData Status'StatusCode where
-  rnf x__ = Prelude.seq x__ ()
-{- | Fields :
-     
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.resourceSpans' @:: Lens' TracesData [ResourceSpans]@
-         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'resourceSpans' @:: Lens' TracesData (Data.Vector.Vector ResourceSpans)@ -}
-data TracesData
-  = TracesData'_constructor {_TracesData'resourceSpans :: !(Data.Vector.Vector ResourceSpans),
-                             _TracesData'_unknownFields :: !Data.ProtoLens.FieldSet}
-  deriving stock (Prelude.Eq, Prelude.Ord)
-instance Prelude.Show TracesData where
-  showsPrec _ __x __s
-    = Prelude.showChar
-        '{'
-        (Prelude.showString
-           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
-instance Data.ProtoLens.Field.HasField TracesData "resourceSpans" [ResourceSpans] where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _TracesData'resourceSpans
-           (\ x__ y__ -> x__ {_TracesData'resourceSpans = y__}))
-        (Lens.Family2.Unchecked.lens
-           Data.Vector.Generic.toList
-           (\ _ y__ -> Data.Vector.Generic.fromList y__))
-instance Data.ProtoLens.Field.HasField TracesData "vec'resourceSpans" (Data.Vector.Vector ResourceSpans) where
-  fieldOf _
-    = (Prelude..)
-        (Lens.Family2.Unchecked.lens
-           _TracesData'resourceSpans
-           (\ x__ y__ -> x__ {_TracesData'resourceSpans = y__}))
-        Prelude.id
-instance Data.ProtoLens.Message TracesData where
-  messageName _
-    = Data.Text.pack "opentelemetry.proto.trace.v1.TracesData"
-  packedMessageDescriptor _
-    = "\n\
-      \\n\
-      \TracesData\DC2R\n\
-      \\SOresource_spans\CAN\SOH \ETX(\v2+.opentelemetry.proto.trace.v1.ResourceSpansR\rresourceSpans"
-  packedFileDescriptor _ = packedFileDescriptor
-  fieldsByTag
-    = let
-        resourceSpans__field_descriptor
-          = Data.ProtoLens.FieldDescriptor
-              "resource_spans"
-              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                 Data.ProtoLens.FieldTypeDescriptor ResourceSpans)
-              (Data.ProtoLens.RepeatedField
-                 Data.ProtoLens.Unpacked
-                 (Data.ProtoLens.Field.field @"resourceSpans")) ::
-              Data.ProtoLens.FieldDescriptor TracesData
-      in
-        Data.Map.fromList
-          [(Data.ProtoLens.Tag 1, resourceSpans__field_descriptor)]
-  unknownFields
-    = Lens.Family2.Unchecked.lens
-        _TracesData'_unknownFields
-        (\ x__ y__ -> x__ {_TracesData'_unknownFields = y__})
-  defMessage
-    = TracesData'_constructor
-        {_TracesData'resourceSpans = Data.Vector.Generic.empty,
-         _TracesData'_unknownFields = []}
-  parseMessage
-    = let
-        loop ::
-          TracesData
-          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ResourceSpans
-             -> Data.ProtoLens.Encoding.Bytes.Parser TracesData
-        loop x mutable'resourceSpans
-          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
-               if end then
-                   do frozen'resourceSpans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                                (Data.ProtoLens.Encoding.Growing.unsafeFreeze
-                                                   mutable'resourceSpans)
-                      (let missing = []
-                       in
-                         if Prelude.null missing then
-                             Prelude.return ()
-                         else
-                             Prelude.fail
-                               ((Prelude.++)
-                                  "Missing required fields: "
-                                  (Prelude.show (missing :: [Prelude.String]))))
-                      Prelude.return
-                        (Lens.Family2.over
-                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
-                           (Lens.Family2.set
-                              (Data.ProtoLens.Field.field @"vec'resourceSpans")
-                              frozen'resourceSpans x))
-               else
-                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                      case tag of
-                        10
-                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
-                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
-                                            Data.ProtoLens.Encoding.Bytes.isolate
-                                              (Prelude.fromIntegral len)
-                                              Data.ProtoLens.parseMessage)
-                                        "resource_spans"
-                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                       (Data.ProtoLens.Encoding.Growing.append
-                                          mutable'resourceSpans y)
-                                loop x v
-                        wire
-                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
-                                        wire
-                                loop
-                                  (Lens.Family2.over
-                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
-                                  mutable'resourceSpans
-      in
-        (Data.ProtoLens.Encoding.Bytes.<?>)
-          (do mutable'resourceSpans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
-                                         Data.ProtoLens.Encoding.Growing.new
-              loop Data.ProtoLens.defMessage mutable'resourceSpans)
-          "TracesData"
-  buildMessage
-    = \ _x
-        -> (Data.Monoid.<>)
-             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
-                (\ _v
-                   -> (Data.Monoid.<>)
-                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
-                        ((Prelude..)
-                           (\ bs
-                              -> (Data.Monoid.<>)
-                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
-                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
-                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
-                           Data.ProtoLens.encodeMessage _v))
-                (Lens.Family2.view
-                   (Data.ProtoLens.Field.field @"vec'resourceSpans") _x))
-             (Data.ProtoLens.Encoding.Wire.buildFieldSet
-                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
-instance Control.DeepSeq.NFData TracesData where
-  rnf
-    = \ x__
-        -> Control.DeepSeq.deepseq
-             (_TracesData'_unknownFields x__)
-             (Control.DeepSeq.deepseq (_TracesData'resourceSpans x__) ())
-packedFileDescriptor :: Data.ByteString.ByteString
-packedFileDescriptor
-  = "\n\
-    \(opentelemetry/proto/trace/v1/trace.proto\DC2\FSopentelemetry.proto.trace.v1\SUB*opentelemetry/proto/common/v1/common.proto\SUB.opentelemetry/proto/resource/v1/resource.proto\"`\n\
-    \\n\
-    \TracesData\DC2R\n\
-    \\SOresource_spans\CAN\SOH \ETX(\v2+.opentelemetry.proto.trace.v1.ResourceSpansR\rresourceSpans\"\200\SOH\n\
-    \\rResourceSpans\DC2E\n\
-    \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2I\n\
-    \\vscope_spans\CAN\STX \ETX(\v2(.opentelemetry.proto.trace.v1.ScopeSpansR\n\
-    \scopeSpans\DC2\GS\n\
-    \\n\
-    \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a\"\176\SOH\n\
-    \\n\
-    \ScopeSpans\DC2I\n\
-    \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC28\n\
-    \\ENQspans\CAN\STX \ETX(\v2\".opentelemetry.proto.trace.v1.SpanR\ENQspans\DC2\GS\n\
-    \\n\
-    \schema_url\CAN\ETX \SOH(\tR\tschemaUrl\"\156\n\
-    \\n\
-    \\EOTSpan\DC2\EM\n\
-    \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
-    \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
-    \\vtrace_state\CAN\ETX \SOH(\tR\n\
-    \traceState\DC2$\n\
-    \\SOparent_span_id\CAN\EOT \SOH(\fR\fparentSpanId\DC2\DC2\n\
-    \\EOTname\CAN\ENQ \SOH(\tR\EOTname\DC2?\n\
-    \\EOTkind\CAN\ACK \SOH(\SO2+.opentelemetry.proto.trace.v1.Span.SpanKindR\EOTkind\DC2/\n\
-    \\DC4start_time_unix_nano\CAN\a \SOH(\ACKR\DC1startTimeUnixNano\DC2+\n\
-    \\DC2end_time_unix_nano\CAN\b \SOH(\ACKR\SIendTimeUnixNano\DC2G\n\
-    \\n\
-    \attributes\CAN\t \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-    \attributes\DC28\n\
-    \\CANdropped_attributes_count\CAN\n\
-    \ \SOH(\rR\SYNdroppedAttributesCount\DC2@\n\
-    \\ACKevents\CAN\v \ETX(\v2(.opentelemetry.proto.trace.v1.Span.EventR\ACKevents\DC20\n\
-    \\DC4dropped_events_count\CAN\f \SOH(\rR\DC2droppedEventsCount\DC2=\n\
-    \\ENQlinks\CAN\r \ETX(\v2'.opentelemetry.proto.trace.v1.Span.LinkR\ENQlinks\DC2.\n\
-    \\DC3dropped_links_count\CAN\SO \SOH(\rR\DC1droppedLinksCount\DC2<\n\
-    \\ACKstatus\CAN\SI \SOH(\v2$.opentelemetry.proto.trace.v1.StatusR\ACKstatus\SUB\196\SOH\n\
-    \\ENQEvent\DC2$\n\
-    \\SOtime_unix_nano\CAN\SOH \SOH(\ACKR\ftimeUnixNano\DC2\DC2\n\
-    \\EOTname\CAN\STX \SOH(\tR\EOTname\DC2G\n\
-    \\n\
-    \attributes\CAN\ETX \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-    \attributes\DC28\n\
-    \\CANdropped_attributes_count\CAN\EOT \SOH(\rR\SYNdroppedAttributesCount\SUB\222\SOH\n\
-    \\EOTLink\DC2\EM\n\
-    \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
-    \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
-    \\vtrace_state\CAN\ETX \SOH(\tR\n\
-    \traceState\DC2G\n\
-    \\n\
-    \attributes\CAN\EOT \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
-    \attributes\DC28\n\
-    \\CANdropped_attributes_count\CAN\ENQ \SOH(\rR\SYNdroppedAttributesCount\"\153\SOH\n\
-    \\bSpanKind\DC2\EM\n\
-    \\NAKSPAN_KIND_UNSPECIFIED\DLE\NUL\DC2\SYN\n\
-    \\DC2SPAN_KIND_INTERNAL\DLE\SOH\DC2\DC4\n\
-    \\DLESPAN_KIND_SERVER\DLE\STX\DC2\DC4\n\
-    \\DLESPAN_KIND_CLIENT\DLE\ETX\DC2\SYN\n\
-    \\DC2SPAN_KIND_PRODUCER\DLE\EOT\DC2\SYN\n\
-    \\DC2SPAN_KIND_CONSUMER\DLE\ENQ\"\189\SOH\n\
-    \\ACKStatus\DC2\CAN\n\
-    \\amessage\CAN\STX \SOH(\tR\amessage\DC2C\n\
-    \\EOTcode\CAN\ETX \SOH(\SO2/.opentelemetry.proto.trace.v1.Status.StatusCodeR\EOTcode\"N\n\
-    \\n\
-    \StatusCode\DC2\NAK\n\
-    \\DC1STATUS_CODE_UNSET\DLE\NUL\DC2\DC2\n\
-    \\SOSTATUS_CODE_OK\DLE\SOH\DC2\NAK\n\
-    \\DC1STATUS_CODE_ERROR\DLE\STXJ\EOT\b\SOH\DLE\STXBw\n\
-    \\USio.opentelemetry.proto.trace.v1B\n\
-    \TraceProtoP\SOHZ'go.opentelemetry.io/proto/otlp/trace/v1\170\STX\FSOpenTelemetry.Proto.Trace.V1J\160`\n\
-    \\a\DC2\ENQ\SO\NUL\147\STX\SOH\n\
-    \\200\EOT\n\
-    \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2019, OpenTelemetry Authors\n\
-    \\n\
-    \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
-    \ you may not use this file except in compliance with the License.\n\
-    \ You may obtain a copy of the License at\n\
-    \\n\
-    \     http://www.apache.org/licenses/LICENSE-2.0\n\
-    \\n\
-    \ Unless required by applicable law or agreed to in writing, software\n\
-    \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
-    \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
-    \ See the License for the specific language governing permissions and\n\
-    \ limitations under the License.\n\
-    \\n\
-    \\b\n\
-    \\SOH\STX\DC2\ETX\DLE\NUL%\n\
-    \\t\n\
-    \\STX\ETX\NUL\DC2\ETX\DC2\NUL4\n\
-    \\t\n\
-    \\STX\ETX\SOH\DC2\ETX\DC3\NUL8\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\NAK\NUL9\n\
-    \\t\n\
-    \\STX\b%\DC2\ETX\NAK\NUL9\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\SYN\NUL\"\n\
-    \\t\n\
-    \\STX\b\n\
-    \\DC2\ETX\SYN\NUL\"\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\ETB\NUL8\n\
-    \\t\n\
-    \\STX\b\SOH\DC2\ETX\ETB\NUL8\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\CAN\NUL+\n\
-    \\t\n\
-    \\STX\b\b\DC2\ETX\CAN\NUL+\n\
-    \\b\n\
-    \\SOH\b\DC2\ETX\EM\NUL>\n\
-    \\t\n\
-    \\STX\b\v\DC2\ETX\EM\NUL>\n\
-    \\206\ETX\n\
-    \\STX\EOT\NUL\DC2\EOT%\NUL,\SOH\SUB\193\ETX TracesData represents the traces data that can be stored in a persistent storage,\n\
-    \ OR can be embedded by other protocols that transfer OTLP traces data but do\n\
-    \ not implement the OTLP protocol.\n\
-    \\n\
-    \ The main difference between this message and collector protocol is that\n\
-    \ in this message there will not be any \"control\" or \"metadata\" specific to\n\
-    \ OTLP protocol.\n\
-    \\n\
-    \ When new fields are added into this message, the OTLP request MUST be updated\n\
-    \ as well.\n\
-    \\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\NUL\SOH\DC2\ETX%\b\DC2\n\
-    \\174\STX\n\
-    \\EOT\EOT\NUL\STX\NUL\DC2\ETX+\STX,\SUB\160\STX An array of ResourceSpans.\n\
-    \ For data coming from a single resource this array will typically contain\n\
-    \ one element. Intermediary nodes that receive data from multiple origins\n\
-    \ typically batch the data before forwarding further and in that case this\n\
-    \ array will contain multiple elements.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX+\STX\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX+\v\CAN\n\
-    \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX+\EM'\n\
-    \\f\n\
-    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX+*+\n\
-    \9\n\
-    \\STX\EOT\SOH\DC2\EOT/\NUL<\SOH\SUB- A collection of ScopeSpans from a Resource.\n\
-    \\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\SOH\SOH\DC2\ETX/\b\NAK\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\SOH\t\DC2\ETX0\STX\DLE\n\
-    \\v\n\
-    \\EOT\EOT\SOH\t\NUL\DC2\ETX0\v\SI\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\t\NUL\SOH\DC2\ETX0\v\SI\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\t\NUL\STX\DC2\ETX0\v\SI\n\
-    \t\n\
-    \\EOT\EOT\SOH\STX\NUL\DC2\ETX4\STX8\SUBg The resource for the spans in this message.\n\
-    \ If this field is not set then no resource info is known.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX4\STX*\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX4+3\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX467\n\
-    \C\n\
-    \\EOT\EOT\SOH\STX\SOH\DC2\ETX7\STX&\SUB6 A list of ScopeSpans that originate from a resource.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\SOH\EOT\DC2\ETX7\STX\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\ETX7\v\NAK\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX7\SYN!\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX7$%\n\
-    \\173\SOH\n\
-    \\EOT\EOT\SOH\STX\STX\DC2\ETX;\STX\CAN\SUB\159\SOH This schema_url applies to the data in the \"resource\" field. It does not apply\n\
-    \ to the data in the \"scope_spans\" field which have their own schema_url field.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETX;\STX\b\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX;\t\DC3\n\
-    \\f\n\
-    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX;\SYN\ETB\n\
-    \H\n\
-    \\STX\EOT\STX\DC2\EOT?\NULJ\SOH\SUB< A collection of Spans produced by an InstrumentationScope.\n\
-    \\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\STX\SOH\DC2\ETX?\b\DC2\n\
-    \\205\SOH\n\
-    \\EOT\EOT\STX\STX\NUL\DC2\ETXC\STX?\SUB\191\SOH The instrumentation scope information for the spans in this message.\n\
-    \ Semantically when InstrumentationScope isn't set, it is equivalent with\n\
-    \ an empty instrumentation scope name (unknown).\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ACK\DC2\ETXC\STX4\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXC5:\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXC=>\n\
-    \L\n\
-    \\EOT\EOT\STX\STX\SOH\DC2\ETXF\STX\SUB\SUB? A list of Spans that originate from an instrumentation scope.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETXF\STX\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ACK\DC2\ETXF\v\SI\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXF\DLE\NAK\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXF\CAN\EM\n\
-    \Y\n\
-    \\EOT\EOT\STX\STX\STX\DC2\ETXI\STX\CAN\SUBL This schema_url applies to all spans and span events in the \"spans\" field.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXI\STX\b\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXI\t\DC3\n\
-    \\f\n\
-    \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXI\SYN\ETB\n\
-    \\135\SOH\n\
-    \\STX\EOT\ETX\DC2\ENQO\NUL\251\SOH\SOH\SUBz A Span represents a single operation performed by a single component of the system.\n\
-    \\n\
-    \ The next available field id is 17.\n\
-    \\n\
-    \\n\
-    \\n\
-    \\ETX\EOT\ETX\SOH\DC2\ETXO\b\f\n\
-    \\179\STX\n\
-    \\EOT\EOT\ETX\STX\NUL\DC2\ETXV\STX\NAK\SUB\165\STX A unique identifier for a trace. All spans from the same trace share\n\
-    \ the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes OR\n\
-    \ of length other than 16 bytes is considered invalid (empty string in OTLP/JSON\n\
-    \ is zero-length and thus is also invalid).\n\
-    \\n\
-    \ This field is required.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\ETXV\STX\a\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETXV\b\DLE\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETXV\DC3\DC4\n\
-    \\170\STX\n\
-    \\EOT\EOT\ETX\STX\SOH\DC2\ETX^\STX\DC4\SUB\156\STX A unique identifier for a span within a trace, assigned when the span\n\
-    \ is created. The ID is an 8-byte array. An ID with all zeroes OR of length\n\
-    \ other than 8 bytes is considered invalid (empty string in OTLP/JSON\n\
-    \ is zero-length and thus is also invalid).\n\
-    \\n\
-    \ This field is required.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\ETX^\STX\a\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETX^\b\SI\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETX^\DC2\DC3\n\
-    \\175\STX\n\
-    \\EOT\EOT\ETX\STX\STX\DC2\ETXc\STX\EM\SUB\161\STX trace_state conveys information about request position in multiple distributed tracing graphs.\n\
-    \ It is a trace_state in w3c-trace-context format: https://www.w3.org/TR/trace-context/#tracestate-header\n\
-    \ See also https://github.com/w3c/distributed-tracing for more details about this field.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\STX\ENQ\DC2\ETXc\STX\b\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\ETXc\t\DC4\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\ETXc\ETB\CAN\n\
-    \\139\SOH\n\
-    \\EOT\EOT\ETX\STX\ETX\DC2\ETXg\STX\ESC\SUB~ The `span_id` of this span's parent span. If this is a root span, then this\n\
-    \ field must be empty. The ID is an 8-byte array.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\ETX\ENQ\DC2\ETXg\STX\a\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\ETXg\b\SYN\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\ETXg\EM\SUB\n\
-    \\218\ETX\n\
-    \\EOT\EOT\ETX\STX\EOT\DC2\ETXt\STX\DC2\SUB\204\ETX A description of the span's operation.\n\
-    \\n\
-    \ For example, the name can be a qualified method name or a file name\n\
-    \ and a line number where the operation is called. A best practice is to use\n\
-    \ the same display name at the same call point in an application.\n\
-    \ This makes it easier to correlate spans in different traces.\n\
-    \\n\
-    \ This field is semantically required to be set to non-empty string.\n\
-    \ Empty value is equivalent to an unknown span name.\n\
-    \\n\
-    \ This field is required.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\EOT\ENQ\DC2\ETXt\STX\b\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\ETXt\t\r\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\ETXt\DLE\DC1\n\
-    \\154\SOH\n\
-    \\EOT\EOT\ETX\EOT\NUL\DC2\ENQx\STX\146\SOH\ETX\SUB\138\SOH SpanKind is the type of span. Can be used to specify additional relationships between spans\n\
-    \ in addition to a parent/child relationship.\n\
-    \\n\
-    \\f\n\
-    \\ENQ\EOT\ETX\EOT\NUL\SOH\DC2\ETXx\a\SI\n\
-    \\132\SOH\n\
-    \\ACK\EOT\ETX\EOT\NUL\STX\NUL\DC2\ETX{\EOT\RS\SUBu Unspecified. Do NOT use as default.\n\
-    \ Implementations MAY assume SpanKind to be INTERNAL when receiving UNSPECIFIED.\n\
-    \\n\
-    \\SO\n\
-    \\a\EOT\ETX\EOT\NUL\STX\NUL\SOH\DC2\ETX{\EOT\EM\n\
-    \\SO\n\
-    \\a\EOT\ETX\EOT\NUL\STX\NUL\STX\DC2\ETX{\FS\GS\n\
-    \\169\SOH\n\
-    \\ACK\EOT\ETX\EOT\NUL\STX\SOH\DC2\ETX\DEL\EOT\ESC\SUB\153\SOH Indicates that the span represents an internal operation within an application,\n\
-    \ as opposed to an operation happening at the boundaries. Default value.\n\
-    \\n\
-    \\SO\n\
-    \\a\EOT\ETX\EOT\NUL\STX\SOH\SOH\DC2\ETX\DEL\EOT\SYN\n\
-    \\SO\n\
-    \\a\EOT\ETX\EOT\NUL\STX\SOH\STX\DC2\ETX\DEL\EM\SUB\n\
-    \q\n\
-    \\ACK\EOT\ETX\EOT\NUL\STX\STX\DC2\EOT\131\SOH\EOT\EM\SUBa Indicates that the span covers server-side handling of an RPC or other\n\
-    \ remote network request.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\EOT\NUL\STX\STX\SOH\DC2\EOT\131\SOH\EOT\DC4\n\
-    \\SI\n\
-    \\a\EOT\ETX\EOT\NUL\STX\STX\STX\DC2\EOT\131\SOH\ETB\CAN\n\
-    \U\n\
-    \\ACK\EOT\ETX\EOT\NUL\STX\ETX\DC2\EOT\134\SOH\EOT\EM\SUBE Indicates that the span describes a request to some remote service.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\EOT\NUL\STX\ETX\SOH\DC2\EOT\134\SOH\EOT\DC4\n\
-    \\SI\n\
-    \\a\EOT\ETX\EOT\NUL\STX\ETX\STX\DC2\EOT\134\SOH\ETB\CAN\n\
-    \\232\STX\n\
-    \\ACK\EOT\ETX\EOT\NUL\STX\EOT\DC2\EOT\140\SOH\EOT\ESC\SUB\215\STX Indicates that the span describes a producer sending a message to a broker.\n\
-    \ Unlike CLIENT and SERVER, there is often no direct critical path latency relationship\n\
-    \ between producer and consumer spans. A PRODUCER span ends when the message was accepted\n\
-    \ by the broker while the logical processing of the message might span a much longer time.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\EOT\NUL\STX\EOT\SOH\DC2\EOT\140\SOH\EOT\SYN\n\
-    \\SI\n\
-    \\a\EOT\ETX\EOT\NUL\STX\EOT\STX\DC2\EOT\140\SOH\EM\SUB\n\
-    \\219\SOH\n\
-    \\ACK\EOT\ETX\EOT\NUL\STX\ENQ\DC2\EOT\145\SOH\EOT\ESC\SUB\202\SOH Indicates that the span describes consumer receiving a message from a broker.\n\
-    \ Like the PRODUCER kind, there is often no direct critical path latency relationship\n\
-    \ between producer and consumer spans.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\EOT\NUL\STX\ENQ\SOH\DC2\EOT\145\SOH\EOT\SYN\n\
-    \\SI\n\
-    \\a\EOT\ETX\EOT\NUL\STX\ENQ\STX\DC2\EOT\145\SOH\EM\SUB\n\
-    \\245\SOH\n\
-    \\EOT\EOT\ETX\STX\ENQ\DC2\EOT\151\SOH\STX\DC4\SUB\230\SOH Distinguishes between spans generated in a particular context. For example,\n\
-    \ two spans with the same name may be distinguished using `CLIENT` (caller)\n\
-    \ and `SERVER` (callee) to identify queueing latency associated with the span.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\EOT\151\SOH\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\EOT\151\SOH\v\SI\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\EOT\151\SOH\DC2\DC3\n\
-    \\166\ETX\n\
-    \\EOT\EOT\ETX\STX\ACK\DC2\EOT\159\SOH\STX#\SUB\151\ETX start_time_unix_nano is the start time of the span. On the client side, this is the time\n\
-    \ kept by the local machine where the span execution starts. On the server side, this\n\
-    \ is the time when the server's application handler starts running.\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.\n\
-    \\n\
-    \ This field is semantically required and it is expected that end_time >= start_time.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ACK\ENQ\DC2\EOT\159\SOH\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ACK\SOH\DC2\EOT\159\SOH\n\
-    \\RS\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\ACK\ETX\DC2\EOT\159\SOH!\"\n\
-    \\157\ETX\n\
-    \\EOT\EOT\ETX\STX\a\DC2\EOT\167\SOH\STX!\SUB\142\ETX end_time_unix_nano is the end time of the span. On the client side, this is the time\n\
-    \ kept by the local machine where the span execution ends. On the server side, this\n\
-    \ is the time when the server application handler stops running.\n\
-    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.\n\
-    \\n\
-    \ This field is semantically required and it is expected that end_time >= start_time.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\a\ENQ\DC2\EOT\167\SOH\STX\t\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\a\SOH\DC2\EOT\167\SOH\n\
-    \\FS\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\a\ETX\DC2\EOT\167\SOH\US \n\
-    \\202\ENQ\n\
-    \\EOT\EOT\ETX\STX\b\DC2\EOT\181\SOH\STXA\SUB\187\ENQ attributes is a collection of key/value pairs. Note, global attributes\n\
-    \ like server name can be set using the resource API. Examples of attributes:\n\
-    \\n\
-    \     \"/http/user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36\"\n\
-    \     \"/http/server_latency\": 300\n\
-    \     \"example.com/myattribute\": true\n\
-    \     \"example.com/score\": 10.239\n\
-    \\n\
-    \ The OpenTelemetry API specification further restricts the allowed value types:\n\
-    \ https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute\n\
-    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
-    \ attribute with the same key).\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\b\EOT\DC2\EOT\181\SOH\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\b\ACK\DC2\EOT\181\SOH\v1\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\b\SOH\DC2\EOT\181\SOH2<\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\b\ETX\DC2\EOT\181\SOH?@\n\
-    \\247\SOH\n\
-    \\EOT\EOT\ETX\STX\t\DC2\EOT\186\SOH\STX'\SUB\232\SOH dropped_attributes_count is the number of attributes that were discarded. Attributes\n\
-    \ can be discarded because their keys are too long or because there are too many\n\
-    \ attributes. If this value is 0, then no attributes were dropped.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\t\ENQ\DC2\EOT\186\SOH\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\t\SOH\DC2\EOT\186\SOH\t!\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\t\ETX\DC2\EOT\186\SOH$&\n\
-    \\132\SOH\n\
-    \\EOT\EOT\ETX\ETX\NUL\DC2\ACK\190\SOH\STX\206\SOH\ETX\SUBt Event is a time-stamped annotation of the span, consisting of user-supplied\n\
-    \ text description and key-value pairs.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\ETX\NUL\SOH\DC2\EOT\190\SOH\n\
-    \\SI\n\
-    \@\n\
-    \\ACK\EOT\ETX\ETX\NUL\STX\NUL\DC2\EOT\192\SOH\EOT\US\SUB0 time_unix_nano is the time the event occurred.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\NUL\ENQ\DC2\EOT\192\SOH\EOT\v\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\NUL\SOH\DC2\EOT\192\SOH\f\SUB\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\NUL\ETX\DC2\EOT\192\SOH\GS\RS\n\
-    \h\n\
-    \\ACK\EOT\ETX\ETX\NUL\STX\SOH\DC2\EOT\196\SOH\EOT\DC4\SUBX name of the event.\n\
-    \ This field is semantically required to be set to non-empty string.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\SOH\ENQ\DC2\EOT\196\SOH\EOT\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\SOH\SOH\DC2\EOT\196\SOH\v\SI\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\SOH\ETX\DC2\EOT\196\SOH\DC2\DC3\n\
-    \\191\SOH\n\
-    \\ACK\EOT\ETX\ETX\NUL\STX\STX\DC2\EOT\201\SOH\EOTC\SUB\174\SOH attributes is a collection of attribute key/value pairs on the event.\n\
-    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
-    \ attribute with the same key).\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\STX\EOT\DC2\EOT\201\SOH\EOT\f\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\STX\ACK\DC2\EOT\201\SOH\r3\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\STX\SOH\DC2\EOT\201\SOH4>\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\STX\ETX\DC2\EOT\201\SOHAB\n\
-    \\132\SOH\n\
-    \\ACK\EOT\ETX\ETX\NUL\STX\ETX\DC2\EOT\205\SOH\EOT(\SUBt dropped_attributes_count is the number of dropped attributes. If the value is 0,\n\
-    \ then no attributes were dropped.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\ETX\ENQ\DC2\EOT\205\SOH\EOT\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\ETX\SOH\DC2\EOT\205\SOH\v#\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\NUL\STX\ETX\ETX\DC2\EOT\205\SOH&'\n\
-    \6\n\
-    \\EOT\EOT\ETX\STX\n\
-    \\DC2\EOT\209\SOH\STX\GS\SUB( events is a collection of Event items.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\n\
-    \\EOT\DC2\EOT\209\SOH\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\n\
-    \\ACK\DC2\EOT\209\SOH\v\DLE\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\n\
-    \\SOH\DC2\EOT\209\SOH\DC1\ETB\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\n\
-    \\ETX\DC2\EOT\209\SOH\SUB\FS\n\
-    \v\n\
-    \\EOT\EOT\ETX\STX\v\DC2\EOT\213\SOH\STX#\SUBh dropped_events_count is the number of dropped events. If the value is 0, then no\n\
-    \ events were dropped.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\v\ENQ\DC2\EOT\213\SOH\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\v\SOH\DC2\EOT\213\SOH\t\GS\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\v\ETX\DC2\EOT\213\SOH \"\n\
-    \\182\STX\n\
-    \\EOT\EOT\ETX\ETX\SOH\DC2\ACK\219\SOH\STX\238\SOH\ETX\SUB\165\STX A pointer from the current span to another span in the same trace or in a\n\
-    \ different trace. For example, this can be used in batching operations,\n\
-    \ where a single batch handler processes multiple requests from different\n\
-    \ traces or when the handler receives a request from a different project.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\ETX\SOH\SOH\DC2\EOT\219\SOH\n\
-    \\SO\n\
-    \n\n\
-    \\ACK\EOT\ETX\ETX\SOH\STX\NUL\DC2\EOT\222\SOH\EOT\ETB\SUB^ A unique identifier of a trace that this linked span is part of. The ID is a\n\
-    \ 16-byte array.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\NUL\ENQ\DC2\EOT\222\SOH\EOT\t\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\NUL\SOH\DC2\EOT\222\SOH\n\
-    \\DC2\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\NUL\ETX\DC2\EOT\222\SOH\NAK\SYN\n\
-    \U\n\
-    \\ACK\EOT\ETX\ETX\SOH\STX\SOH\DC2\EOT\225\SOH\EOT\SYN\SUBE A unique identifier for the linked span. The ID is an 8-byte array.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\SOH\ENQ\DC2\EOT\225\SOH\EOT\t\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\SOH\SOH\DC2\EOT\225\SOH\n\
-    \\DC1\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\SOH\ETX\DC2\EOT\225\SOH\DC4\NAK\n\
-    \;\n\
-    \\ACK\EOT\ETX\ETX\SOH\STX\STX\DC2\EOT\228\SOH\EOT\ESC\SUB+ The trace_state associated with the link.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\STX\ENQ\DC2\EOT\228\SOH\EOT\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\STX\SOH\DC2\EOT\228\SOH\v\SYN\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\STX\ETX\DC2\EOT\228\SOH\EM\SUB\n\
-    \\190\SOH\n\
-    \\ACK\EOT\ETX\ETX\SOH\STX\ETX\DC2\EOT\233\SOH\EOTC\SUB\173\SOH attributes is a collection of attribute key/value pairs on the link.\n\
-    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
-    \ attribute with the same key).\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\ETX\EOT\DC2\EOT\233\SOH\EOT\f\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\ETX\ACK\DC2\EOT\233\SOH\r3\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\ETX\SOH\DC2\EOT\233\SOH4>\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\ETX\ETX\DC2\EOT\233\SOHAB\n\
-    \\132\SOH\n\
-    \\ACK\EOT\ETX\ETX\SOH\STX\EOT\DC2\EOT\237\SOH\EOT(\SUBt dropped_attributes_count is the number of dropped attributes. If the value is 0,\n\
-    \ then no attributes were dropped.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\EOT\ENQ\DC2\EOT\237\SOH\EOT\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\EOT\SOH\DC2\EOT\237\SOH\v#\n\
-    \\SI\n\
-    \\a\EOT\ETX\ETX\SOH\STX\EOT\ETX\DC2\EOT\237\SOH&'\n\
-    \~\n\
-    \\EOT\EOT\ETX\STX\f\DC2\EOT\242\SOH\STX\ESC\SUBp links is a collection of Links, which are references from this span to a span\n\
-    \ in the same or different trace.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\f\EOT\DC2\EOT\242\SOH\STX\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\f\ACK\DC2\EOT\242\SOH\v\SI\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\f\SOH\DC2\EOT\242\SOH\DLE\NAK\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\f\ETX\DC2\EOT\242\SOH\CAN\SUB\n\
-    \\153\SOH\n\
-    \\EOT\EOT\ETX\STX\r\DC2\EOT\246\SOH\STX\"\SUB\138\SOH dropped_links_count is the number of dropped links after the maximum size was\n\
-    \ enforced. If this value is 0, then no links were dropped.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\r\ENQ\DC2\EOT\246\SOH\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\r\SOH\DC2\EOT\246\SOH\t\FS\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\r\ETX\DC2\EOT\246\SOH\US!\n\
-    \\173\SOH\n\
-    \\EOT\EOT\ETX\STX\SO\DC2\EOT\250\SOH\STX\NAK\SUB\158\SOH An optional final status for this span. Semantically when Status isn't set, it means\n\
-    \ span's status code is unset, i.e. assume STATUS_CODE_UNSET (code = 0).\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\SO\ACK\DC2\EOT\250\SOH\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\SO\SOH\DC2\EOT\250\SOH\t\SI\n\
-    \\r\n\
-    \\ENQ\EOT\ETX\STX\SO\ETX\DC2\EOT\250\SOH\DC2\DC4\n\
-    \\154\SOH\n\
-    \\STX\EOT\EOT\DC2\ACK\255\SOH\NUL\147\STX\SOH\SUB\139\SOH The Status type defines a logical error model that is suitable for different\n\
-    \ programming environments, including REST APIs and RPC APIs.\n\
-    \\n\
-    \\v\n\
-    \\ETX\EOT\EOT\SOH\DC2\EOT\255\SOH\b\SO\n\
-    \\v\n\
-    \\ETX\EOT\EOT\t\DC2\EOT\128\STX\STX\r\n\
-    \\f\n\
-    \\EOT\EOT\EOT\t\NUL\DC2\EOT\128\STX\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\t\NUL\SOH\DC2\EOT\128\STX\v\f\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\t\NUL\STX\DC2\EOT\128\STX\v\f\n\
-    \@\n\
-    \\EOT\EOT\EOT\STX\NUL\DC2\EOT\131\STX\STX\NAK\SUB2 A developer-facing human readable error message.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\EOT\131\STX\STX\b\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\131\STX\t\DLE\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\131\STX\DC3\DC4\n\
-    \\167\SOH\n\
-    \\EOT\EOT\EOT\EOT\NUL\DC2\ACK\135\STX\STX\143\STX\ETX\SUB\150\SOH For the semantics of status codes see\n\
-    \ https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\EOT\NUL\SOH\DC2\EOT\135\STX\a\DC1\n\
-    \%\n\
-    \\ACK\EOT\EOT\EOT\NUL\STX\NUL\DC2\EOT\137\STX\EOT(\SUB\NAK The default status.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\EOT\EOT\NUL\STX\NUL\SOH\DC2\EOT\137\STX\EOT\NAK\n\
-    \\SI\n\
-    \\a\EOT\EOT\EOT\NUL\STX\NUL\STX\DC2\EOT\137\STX&'\n\
-    \w\n\
-    \\ACK\EOT\EOT\EOT\NUL\STX\SOH\DC2\EOT\140\STX\EOT(\SUBg The Span has been validated by an Application developer or Operator to \n\
-    \ have completed successfully.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\EOT\EOT\NUL\STX\SOH\SOH\DC2\EOT\140\STX\EOT\DC2\n\
-    \\SI\n\
-    \\a\EOT\EOT\EOT\NUL\STX\SOH\STX\DC2\EOT\140\STX&'\n\
-    \-\n\
-    \\ACK\EOT\EOT\EOT\NUL\STX\STX\DC2\EOT\142\STX\EOT(\SUB\GS The Span contains an error.\n\
-    \\n\
-    \\SI\n\
-    \\a\EOT\EOT\EOT\NUL\STX\STX\SOH\DC2\EOT\142\STX\EOT\NAK\n\
-    \\SI\n\
-    \\a\EOT\EOT\EOT\NUL\STX\STX\STX\DC2\EOT\142\STX&'\n\
-    \ \n\
-    \\EOT\EOT\EOT\STX\SOH\DC2\EOT\146\STX\STX\SYN\SUB\DC2 The status code.\n\
-    \\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\146\STX\STX\f\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\146\STX\r\DC1\n\
-    \\r\n\
-    \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\146\STX\DC4\NAKb\ACKproto3"
+        Span'SpanKind'UnrecognizedValue, SpanFlags(..), SpanFlags(),
+        SpanFlags'UnrecognizedValue, Status(), Status'StatusCode(..),
+        Status'StatusCode(), Status'StatusCode'UnrecognizedValue,
+        TracesData()
+    ) where
+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
+import qualified Data.ProtoLens.Runtime.Prelude as Prelude
+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
+import qualified Proto.Opentelemetry.Proto.Common.V1.Common
+import qualified Proto.Opentelemetry.Proto.Resource.V1.Resource
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.resource' @:: Lens' ResourceSpans Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.maybe'resource' @:: Lens' ResourceSpans (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.scopeSpans' @:: Lens' ResourceSpans [ScopeSpans]@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'scopeSpans' @:: Lens' ResourceSpans (Data.Vector.Vector ScopeSpans)@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.schemaUrl' @:: Lens' ResourceSpans Data.Text.Text@ -}
+data ResourceSpans
+  = ResourceSpans'_constructor {_ResourceSpans'resource :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource),
+                                _ResourceSpans'scopeSpans :: !(Data.Vector.Vector ScopeSpans),
+                                _ResourceSpans'schemaUrl :: !Data.Text.Text,
+                                _ResourceSpans'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ResourceSpans where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ResourceSpans "resource" Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceSpans'resource
+           (\ x__ y__ -> x__ {_ResourceSpans'resource = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ResourceSpans "maybe'resource" (Prelude.Maybe Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceSpans'resource
+           (\ x__ y__ -> x__ {_ResourceSpans'resource = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ResourceSpans "scopeSpans" [ScopeSpans] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceSpans'scopeSpans
+           (\ x__ y__ -> x__ {_ResourceSpans'scopeSpans = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ResourceSpans "vec'scopeSpans" (Data.Vector.Vector ScopeSpans) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceSpans'scopeSpans
+           (\ x__ y__ -> x__ {_ResourceSpans'scopeSpans = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ResourceSpans "schemaUrl" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ResourceSpans'schemaUrl
+           (\ x__ y__ -> x__ {_ResourceSpans'schemaUrl = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ResourceSpans where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.trace.v1.ResourceSpans"
+  packedMessageDescriptor _
+    = "\n\
+      \\rResourceSpans\DC2E\n\
+      \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2I\n\
+      \\vscope_spans\CAN\STX \ETX(\v2(.opentelemetry.proto.trace.v1.ScopeSpansR\n\
+      \scopeSpans\DC2\GS\n\
+      \\n\
+      \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        resource__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "resource"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Resource.V1.Resource.Resource)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'resource")) ::
+              Data.ProtoLens.FieldDescriptor ResourceSpans
+        scopeSpans__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "scope_spans"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ScopeSpans)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"scopeSpans")) ::
+              Data.ProtoLens.FieldDescriptor ResourceSpans
+        schemaUrl__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "schema_url"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
+              Data.ProtoLens.FieldDescriptor ResourceSpans
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, resource__field_descriptor),
+           (Data.ProtoLens.Tag 2, scopeSpans__field_descriptor),
+           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ResourceSpans'_unknownFields
+        (\ x__ y__ -> x__ {_ResourceSpans'_unknownFields = y__})
+  defMessage
+    = ResourceSpans'_constructor
+        {_ResourceSpans'resource = Prelude.Nothing,
+         _ResourceSpans'scopeSpans = Data.Vector.Generic.empty,
+         _ResourceSpans'schemaUrl = Data.ProtoLens.fieldDefault,
+         _ResourceSpans'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ResourceSpans
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ScopeSpans
+             -> Data.ProtoLens.Encoding.Bytes.Parser ResourceSpans
+        loop x mutable'scopeSpans
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'scopeSpans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'scopeSpans)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'scopeSpans") frozen'scopeSpans
+                              x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "resource"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"resource") y x)
+                                  mutable'scopeSpans
+                        18
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "scope_spans"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'scopeSpans y)
+                                loop x v
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "schema_url"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
+                                  mutable'scopeSpans
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'scopeSpans
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'scopeSpans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'scopeSpans)
+          "ResourceSpans"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'resource") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view
+                      (Data.ProtoLens.Field.field @"vec'scopeSpans") _x))
+                ((Data.Monoid.<>)
+                   (let
+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((Prelude..)
+                               (\ bs
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               Data.Text.Encoding.encodeUtf8 _v))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData ResourceSpans where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ResourceSpans'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ResourceSpans'resource x__)
+                (Control.DeepSeq.deepseq
+                   (_ResourceSpans'scopeSpans x__)
+                   (Control.DeepSeq.deepseq (_ResourceSpans'schemaUrl x__) ())))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.scope' @:: Lens' ScopeSpans Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.maybe'scope' @:: Lens' ScopeSpans (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.spans' @:: Lens' ScopeSpans [Span]@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'spans' @:: Lens' ScopeSpans (Data.Vector.Vector Span)@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.schemaUrl' @:: Lens' ScopeSpans Data.Text.Text@ -}
+data ScopeSpans
+  = ScopeSpans'_constructor {_ScopeSpans'scope :: !(Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope),
+                             _ScopeSpans'spans :: !(Data.Vector.Vector Span),
+                             _ScopeSpans'schemaUrl :: !Data.Text.Text,
+                             _ScopeSpans'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ScopeSpans where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField ScopeSpans "scope" Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeSpans'scope (\ x__ y__ -> x__ {_ScopeSpans'scope = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField ScopeSpans "maybe'scope" (Prelude.Maybe Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeSpans'scope (\ x__ y__ -> x__ {_ScopeSpans'scope = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ScopeSpans "spans" [Span] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeSpans'spans (\ x__ y__ -> x__ {_ScopeSpans'spans = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField ScopeSpans "vec'spans" (Data.Vector.Vector Span) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeSpans'spans (\ x__ y__ -> x__ {_ScopeSpans'spans = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField ScopeSpans "schemaUrl" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _ScopeSpans'schemaUrl
+           (\ x__ y__ -> x__ {_ScopeSpans'schemaUrl = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message ScopeSpans where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.trace.v1.ScopeSpans"
+  packedMessageDescriptor _
+    = "\n\
+      \\n\
+      \ScopeSpans\DC2I\n\
+      \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC28\n\
+      \\ENQspans\CAN\STX \ETX(\v2\".opentelemetry.proto.trace.v1.SpanR\ENQspans\DC2\GS\n\
+      \\n\
+      \schema_url\CAN\ETX \SOH(\tR\tschemaUrl"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        scope__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "scope"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.InstrumentationScope)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'scope")) ::
+              Data.ProtoLens.FieldDescriptor ScopeSpans
+        spans__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "spans"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Span)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"spans")) ::
+              Data.ProtoLens.FieldDescriptor ScopeSpans
+        schemaUrl__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "schema_url"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"schemaUrl")) ::
+              Data.ProtoLens.FieldDescriptor ScopeSpans
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, scope__field_descriptor),
+           (Data.ProtoLens.Tag 2, spans__field_descriptor),
+           (Data.ProtoLens.Tag 3, schemaUrl__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _ScopeSpans'_unknownFields
+        (\ x__ y__ -> x__ {_ScopeSpans'_unknownFields = y__})
+  defMessage
+    = ScopeSpans'_constructor
+        {_ScopeSpans'scope = Prelude.Nothing,
+         _ScopeSpans'spans = Data.Vector.Generic.empty,
+         _ScopeSpans'schemaUrl = Data.ProtoLens.fieldDefault,
+         _ScopeSpans'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          ScopeSpans
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Span
+             -> Data.ProtoLens.Encoding.Bytes.Parser ScopeSpans
+        loop x mutable'spans
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'spans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'spans)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'spans") frozen'spans x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "scope"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scope") y x)
+                                  mutable'spans
+                        18
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "spans"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'spans y)
+                                loop x v
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "schema_url"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"schemaUrl") y x)
+                                  mutable'spans
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'spans
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'spans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                 Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'spans)
+          "ScopeSpans"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (case
+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'scope") _x
+              of
+                Prelude.Nothing -> Data.Monoid.mempty
+                (Prelude.Just _v)
+                  -> (Data.Monoid.<>)
+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                       ((Prelude..)
+                          (\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                          Data.ProtoLens.encodeMessage _v))
+             ((Data.Monoid.<>)
+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                   (\ _v
+                      -> (Data.Monoid.<>)
+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                           ((Prelude..)
+                              (\ bs
+                                 -> (Data.Monoid.<>)
+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                              Data.ProtoLens.encodeMessage _v))
+                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'spans") _x))
+                ((Data.Monoid.<>)
+                   (let
+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"schemaUrl") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((Prelude..)
+                               (\ bs
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               Data.Text.Encoding.encodeUtf8 _v))
+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData ScopeSpans where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_ScopeSpans'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_ScopeSpans'scope x__)
+                (Control.DeepSeq.deepseq
+                   (_ScopeSpans'spans x__)
+                   (Control.DeepSeq.deepseq (_ScopeSpans'schemaUrl x__) ())))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.traceId' @:: Lens' Span Data.ByteString.ByteString@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.spanId' @:: Lens' Span Data.ByteString.ByteString@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.traceState' @:: Lens' Span Data.Text.Text@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.parentSpanId' @:: Lens' Span Data.ByteString.ByteString@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.flags' @:: Lens' Span Data.Word.Word32@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.name' @:: Lens' Span Data.Text.Text@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.kind' @:: Lens' Span Span'SpanKind@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.startTimeUnixNano' @:: Lens' Span Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.endTimeUnixNano' @:: Lens' Span Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.attributes' @:: Lens' Span [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'attributes' @:: Lens' Span (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedAttributesCount' @:: Lens' Span Data.Word.Word32@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.events' @:: Lens' Span [Span'Event]@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'events' @:: Lens' Span (Data.Vector.Vector Span'Event)@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedEventsCount' @:: Lens' Span Data.Word.Word32@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.links' @:: Lens' Span [Span'Link]@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'links' @:: Lens' Span (Data.Vector.Vector Span'Link)@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedLinksCount' @:: Lens' Span Data.Word.Word32@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.status' @:: Lens' Span Status@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.maybe'status' @:: Lens' Span (Prelude.Maybe Status)@ -}
+data Span
+  = Span'_constructor {_Span'traceId :: !Data.ByteString.ByteString,
+                       _Span'spanId :: !Data.ByteString.ByteString,
+                       _Span'traceState :: !Data.Text.Text,
+                       _Span'parentSpanId :: !Data.ByteString.ByteString,
+                       _Span'flags :: !Data.Word.Word32,
+                       _Span'name :: !Data.Text.Text,
+                       _Span'kind :: !Span'SpanKind,
+                       _Span'startTimeUnixNano :: !Data.Word.Word64,
+                       _Span'endTimeUnixNano :: !Data.Word.Word64,
+                       _Span'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
+                       _Span'droppedAttributesCount :: !Data.Word.Word32,
+                       _Span'events :: !(Data.Vector.Vector Span'Event),
+                       _Span'droppedEventsCount :: !Data.Word.Word32,
+                       _Span'links :: !(Data.Vector.Vector Span'Link),
+                       _Span'droppedLinksCount :: !Data.Word.Word32,
+                       _Span'status :: !(Prelude.Maybe Status),
+                       _Span'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Span where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Span "traceId" Data.ByteString.ByteString where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'traceId (\ x__ y__ -> x__ {_Span'traceId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "spanId" Data.ByteString.ByteString where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'spanId (\ x__ y__ -> x__ {_Span'spanId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "traceState" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'traceState (\ x__ y__ -> x__ {_Span'traceState = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "parentSpanId" Data.ByteString.ByteString where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'parentSpanId (\ x__ y__ -> x__ {_Span'parentSpanId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "flags" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'flags (\ x__ y__ -> x__ {_Span'flags = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "name" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'name (\ x__ y__ -> x__ {_Span'name = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "kind" Span'SpanKind where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'kind (\ x__ y__ -> x__ {_Span'kind = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "startTimeUnixNano" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'startTimeUnixNano
+           (\ x__ y__ -> x__ {_Span'startTimeUnixNano = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "endTimeUnixNano" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'endTimeUnixNano
+           (\ x__ y__ -> x__ {_Span'endTimeUnixNano = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'attributes (\ x__ y__ -> x__ {_Span'attributes = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Span "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'attributes (\ x__ y__ -> x__ {_Span'attributes = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "droppedAttributesCount" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'droppedAttributesCount
+           (\ x__ y__ -> x__ {_Span'droppedAttributesCount = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "events" [Span'Event] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'events (\ x__ y__ -> x__ {_Span'events = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Span "vec'events" (Data.Vector.Vector Span'Event) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'events (\ x__ y__ -> x__ {_Span'events = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "droppedEventsCount" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'droppedEventsCount
+           (\ x__ y__ -> x__ {_Span'droppedEventsCount = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "links" [Span'Link] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'links (\ x__ y__ -> x__ {_Span'links = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Span "vec'links" (Data.Vector.Vector Span'Link) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'links (\ x__ y__ -> x__ {_Span'links = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "droppedLinksCount" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'droppedLinksCount
+           (\ x__ y__ -> x__ {_Span'droppedLinksCount = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span "status" Status where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'status (\ x__ y__ -> x__ {_Span'status = y__}))
+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Span "maybe'status" (Prelude.Maybe Status) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'status (\ x__ y__ -> x__ {_Span'status = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Span where
+  messageName _ = Data.Text.pack "opentelemetry.proto.trace.v1.Span"
+  packedMessageDescriptor _
+    = "\n\
+      \\EOTSpan\DC2\EM\n\
+      \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
+      \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
+      \\vtrace_state\CAN\ETX \SOH(\tR\n\
+      \traceState\DC2$\n\
+      \\SOparent_span_id\CAN\EOT \SOH(\fR\fparentSpanId\DC2\DC4\n\
+      \\ENQflags\CAN\DLE \SOH(\aR\ENQflags\DC2\DC2\n\
+      \\EOTname\CAN\ENQ \SOH(\tR\EOTname\DC2?\n\
+      \\EOTkind\CAN\ACK \SOH(\SO2+.opentelemetry.proto.trace.v1.Span.SpanKindR\EOTkind\DC2/\n\
+      \\DC4start_time_unix_nano\CAN\a \SOH(\ACKR\DC1startTimeUnixNano\DC2+\n\
+      \\DC2end_time_unix_nano\CAN\b \SOH(\ACKR\SIendTimeUnixNano\DC2G\n\
+      \\n\
+      \attributes\CAN\t \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+      \attributes\DC28\n\
+      \\CANdropped_attributes_count\CAN\n\
+      \ \SOH(\rR\SYNdroppedAttributesCount\DC2@\n\
+      \\ACKevents\CAN\v \ETX(\v2(.opentelemetry.proto.trace.v1.Span.EventR\ACKevents\DC20\n\
+      \\DC4dropped_events_count\CAN\f \SOH(\rR\DC2droppedEventsCount\DC2=\n\
+      \\ENQlinks\CAN\r \ETX(\v2'.opentelemetry.proto.trace.v1.Span.LinkR\ENQlinks\DC2.\n\
+      \\DC3dropped_links_count\CAN\SO \SOH(\rR\DC1droppedLinksCount\DC2<\n\
+      \\ACKstatus\CAN\SI \SOH(\v2$.opentelemetry.proto.trace.v1.StatusR\ACKstatus\SUB\196\SOH\n\
+      \\ENQEvent\DC2$\n\
+      \\SOtime_unix_nano\CAN\SOH \SOH(\ACKR\ftimeUnixNano\DC2\DC2\n\
+      \\EOTname\CAN\STX \SOH(\tR\EOTname\DC2G\n\
+      \\n\
+      \attributes\CAN\ETX \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+      \attributes\DC28\n\
+      \\CANdropped_attributes_count\CAN\EOT \SOH(\rR\SYNdroppedAttributesCount\SUB\244\SOH\n\
+      \\EOTLink\DC2\EM\n\
+      \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
+      \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
+      \\vtrace_state\CAN\ETX \SOH(\tR\n\
+      \traceState\DC2G\n\
+      \\n\
+      \attributes\CAN\EOT \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+      \attributes\DC28\n\
+      \\CANdropped_attributes_count\CAN\ENQ \SOH(\rR\SYNdroppedAttributesCount\DC2\DC4\n\
+      \\ENQflags\CAN\ACK \SOH(\aR\ENQflags\"\153\SOH\n\
+      \\bSpanKind\DC2\EM\n\
+      \\NAKSPAN_KIND_UNSPECIFIED\DLE\NUL\DC2\SYN\n\
+      \\DC2SPAN_KIND_INTERNAL\DLE\SOH\DC2\DC4\n\
+      \\DLESPAN_KIND_SERVER\DLE\STX\DC2\DC4\n\
+      \\DLESPAN_KIND_CLIENT\DLE\ETX\DC2\SYN\n\
+      \\DC2SPAN_KIND_PRODUCER\DLE\EOT\DC2\SYN\n\
+      \\DC2SPAN_KIND_CONSUMER\DLE\ENQ"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        traceId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "trace_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"traceId")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        spanId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "span_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"spanId")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        traceState__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "trace_state"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"traceState")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        parentSpanId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "parent_span_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"parentSpanId")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        flags__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "flags"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"flags")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        name__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "name"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        kind__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "kind"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                 Data.ProtoLens.FieldTypeDescriptor Span'SpanKind)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"kind")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        startTimeUnixNano__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "start_time_unix_nano"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"startTimeUnixNano")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        endTimeUnixNano__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "end_time_unix_nano"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"endTimeUnixNano")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        attributes__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attributes"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"attributes")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        droppedAttributesCount__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "dropped_attributes_count"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"droppedAttributesCount")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        events__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "events"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Span'Event)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"events")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        droppedEventsCount__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "dropped_events_count"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"droppedEventsCount")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        links__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "links"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Span'Link)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"links")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        droppedLinksCount__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "dropped_links_count"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"droppedLinksCount")) ::
+              Data.ProtoLens.FieldDescriptor Span
+        status__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "status"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Status)
+              (Data.ProtoLens.OptionalField
+                 (Data.ProtoLens.Field.field @"maybe'status")) ::
+              Data.ProtoLens.FieldDescriptor Span
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, traceId__field_descriptor),
+           (Data.ProtoLens.Tag 2, spanId__field_descriptor),
+           (Data.ProtoLens.Tag 3, traceState__field_descriptor),
+           (Data.ProtoLens.Tag 4, parentSpanId__field_descriptor),
+           (Data.ProtoLens.Tag 16, flags__field_descriptor),
+           (Data.ProtoLens.Tag 5, name__field_descriptor),
+           (Data.ProtoLens.Tag 6, kind__field_descriptor),
+           (Data.ProtoLens.Tag 7, startTimeUnixNano__field_descriptor),
+           (Data.ProtoLens.Tag 8, endTimeUnixNano__field_descriptor),
+           (Data.ProtoLens.Tag 9, attributes__field_descriptor),
+           (Data.ProtoLens.Tag 10, droppedAttributesCount__field_descriptor),
+           (Data.ProtoLens.Tag 11, events__field_descriptor),
+           (Data.ProtoLens.Tag 12, droppedEventsCount__field_descriptor),
+           (Data.ProtoLens.Tag 13, links__field_descriptor),
+           (Data.ProtoLens.Tag 14, droppedLinksCount__field_descriptor),
+           (Data.ProtoLens.Tag 15, status__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Span'_unknownFields
+        (\ x__ y__ -> x__ {_Span'_unknownFields = y__})
+  defMessage
+    = Span'_constructor
+        {_Span'traceId = Data.ProtoLens.fieldDefault,
+         _Span'spanId = Data.ProtoLens.fieldDefault,
+         _Span'traceState = Data.ProtoLens.fieldDefault,
+         _Span'parentSpanId = Data.ProtoLens.fieldDefault,
+         _Span'flags = Data.ProtoLens.fieldDefault,
+         _Span'name = Data.ProtoLens.fieldDefault,
+         _Span'kind = Data.ProtoLens.fieldDefault,
+         _Span'startTimeUnixNano = Data.ProtoLens.fieldDefault,
+         _Span'endTimeUnixNano = Data.ProtoLens.fieldDefault,
+         _Span'attributes = Data.Vector.Generic.empty,
+         _Span'droppedAttributesCount = Data.ProtoLens.fieldDefault,
+         _Span'events = Data.Vector.Generic.empty,
+         _Span'droppedEventsCount = Data.ProtoLens.fieldDefault,
+         _Span'links = Data.Vector.Generic.empty,
+         _Span'droppedLinksCount = Data.ProtoLens.fieldDefault,
+         _Span'status = Prelude.Nothing, _Span'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Span
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Span'Event
+                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Span'Link
+                   -> Data.ProtoLens.Encoding.Bytes.Parser Span
+        loop x mutable'attributes mutable'events mutable'links
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'attributes)
+                      frozen'events <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                            mutable'events)
+                      frozen'links <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'links)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
+                              (Lens.Family2.set
+                                 (Data.ProtoLens.Field.field @"vec'events") frozen'events
+                                 (Lens.Family2.set
+                                    (Data.ProtoLens.Field.field @"vec'links") frozen'links x))))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getBytes
+                                             (Prelude.fromIntegral len))
+                                       "trace_id"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"traceId") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getBytes
+                                             (Prelude.fromIntegral len))
+                                       "span_id"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"spanId") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "trace_state"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"traceState") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        34
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getBytes
+                                             (Prelude.fromIntegral len))
+                                       "parent_span_id"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"parentSpanId") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        133
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed32 "flags"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"flags") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        42
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "name"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        48
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.toEnum
+                                          (Prelude.fmap
+                                             Prelude.fromIntegral
+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                       "kind"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"kind") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        57
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed64
+                                       "start_time_unix_nano"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"startTimeUnixNano") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        65
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "end_time_unix_nano"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"endTimeUnixNano") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        74
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "attributes"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
+                                loop x v mutable'events mutable'links
+                        80
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "dropped_attributes_count"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"droppedAttributesCount") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        90
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "events"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'events y)
+                                loop x mutable'attributes v mutable'links
+                        96
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "dropped_events_count"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"droppedEventsCount") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        106
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "links"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'links y)
+                                loop x mutable'attributes mutable'events v
+                        112
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "dropped_links_count"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"droppedLinksCount") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        122
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.isolate
+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+                                       "status"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"status") y x)
+                                  mutable'attributes mutable'events mutable'links
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributes mutable'events mutable'links
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              mutable'events <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                  Data.ProtoLens.Encoding.Growing.new
+              mutable'links <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                 Data.ProtoLens.Encoding.Growing.new
+              loop
+                Data.ProtoLens.defMessage mutable'attributes mutable'events
+                mutable'links)
+          "Span"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"traceId") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((\ bs
+                          -> (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
+                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"spanId") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            _v))
+                ((Data.Monoid.<>)
+                   (let
+                      _v
+                        = Lens.Family2.view (Data.ProtoLens.Field.field @"traceState") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((Prelude..)
+                               (\ bs
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               Data.Text.Encoding.encodeUtf8 _v))
+                   ((Data.Monoid.<>)
+                      (let
+                         _v
+                           = Lens.Family2.view (Data.ProtoLens.Field.field @"parentSpanId") _x
+                       in
+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                             Data.Monoid.mempty
+                         else
+                             (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                               ((\ bs
+                                   -> (Data.Monoid.<>)
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                  _v))
+                      ((Data.Monoid.<>)
+                         (let
+                            _v = Lens.Family2.view (Data.ProtoLens.Field.field @"flags") _x
+                          in
+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                Data.Monoid.mempty
+                            else
+                                (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 133)
+                                  (Data.ProtoLens.Encoding.Bytes.putFixed32 _v))
+                         ((Data.Monoid.<>)
+                            (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
+                             in
+                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                   Data.Monoid.mempty
+                               else
+                                   (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+                                     ((Prelude..)
+                                        (\ bs
+                                           -> (Data.Monoid.<>)
+                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                   (Prelude.fromIntegral
+                                                      (Data.ByteString.length bs)))
+                                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                        Data.Text.Encoding.encodeUtf8 _v))
+                            ((Data.Monoid.<>)
+                               (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"kind") _x
+                                in
+                                  if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                      Data.Monoid.mempty
+                                  else
+                                      (Data.Monoid.<>)
+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
+                                        ((Prelude..)
+                                           ((Prelude..)
+                                              Data.ProtoLens.Encoding.Bytes.putVarInt
+                                              Prelude.fromIntegral)
+                                           Prelude.fromEnum _v))
+                               ((Data.Monoid.<>)
+                                  (let
+                                     _v
+                                       = Lens.Family2.view
+                                           (Data.ProtoLens.Field.field @"startTimeUnixNano") _x
+                                   in
+                                     if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                         Data.Monoid.mempty
+                                     else
+                                         (Data.Monoid.<>)
+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt 57)
+                                           (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
+                                  ((Data.Monoid.<>)
+                                     (let
+                                        _v
+                                          = Lens.Family2.view
+                                              (Data.ProtoLens.Field.field @"endTimeUnixNano") _x
+                                      in
+                                        if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                            Data.Monoid.mempty
+                                        else
+                                            (Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.putVarInt 65)
+                                              (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
+                                     ((Data.Monoid.<>)
+                                        (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                           (\ _v
+                                              -> (Data.Monoid.<>)
+                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
+                                                   ((Prelude..)
+                                                      (\ bs
+                                                         -> (Data.Monoid.<>)
+                                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                 (Prelude.fromIntegral
+                                                                    (Data.ByteString.length bs)))
+                                                              (Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                 bs))
+                                                      Data.ProtoLens.encodeMessage _v))
+                                           (Lens.Family2.view
+                                              (Data.ProtoLens.Field.field @"vec'attributes") _x))
+                                        ((Data.Monoid.<>)
+                                           (let
+                                              _v
+                                                = Lens.Family2.view
+                                                    (Data.ProtoLens.Field.field
+                                                       @"droppedAttributesCount")
+                                                    _x
+                                            in
+                                              if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                                  Data.Monoid.mempty
+                                              else
+                                                  (Data.Monoid.<>)
+                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 80)
+                                                    ((Prelude..)
+                                                       Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                       Prelude.fromIntegral _v))
+                                           ((Data.Monoid.<>)
+                                              (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                                 (\ _v
+                                                    -> (Data.Monoid.<>)
+                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                            90)
+                                                         ((Prelude..)
+                                                            (\ bs
+                                                               -> (Data.Monoid.<>)
+                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                       (Prelude.fromIntegral
+                                                                          (Data.ByteString.length
+                                                                             bs)))
+                                                                    (Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                       bs))
+                                                            Data.ProtoLens.encodeMessage _v))
+                                                 (Lens.Family2.view
+                                                    (Data.ProtoLens.Field.field @"vec'events") _x))
+                                              ((Data.Monoid.<>)
+                                                 (let
+                                                    _v
+                                                      = Lens.Family2.view
+                                                          (Data.ProtoLens.Field.field
+                                                             @"droppedEventsCount")
+                                                          _x
+                                                  in
+                                                    if (Prelude.==)
+                                                         _v Data.ProtoLens.fieldDefault then
+                                                        Data.Monoid.mempty
+                                                    else
+                                                        (Data.Monoid.<>)
+                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                             96)
+                                                          ((Prelude..)
+                                                             Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                             Prelude.fromIntegral _v))
+                                                 ((Data.Monoid.<>)
+                                                    (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                                                       (\ _v
+                                                          -> (Data.Monoid.<>)
+                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                  106)
+                                                               ((Prelude..)
+                                                                  (\ bs
+                                                                     -> (Data.Monoid.<>)
+                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                             (Prelude.fromIntegral
+                                                                                (Data.ByteString.length
+                                                                                   bs)))
+                                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                             bs))
+                                                                  Data.ProtoLens.encodeMessage _v))
+                                                       (Lens.Family2.view
+                                                          (Data.ProtoLens.Field.field @"vec'links")
+                                                          _x))
+                                                    ((Data.Monoid.<>)
+                                                       (let
+                                                          _v
+                                                            = Lens.Family2.view
+                                                                (Data.ProtoLens.Field.field
+                                                                   @"droppedLinksCount")
+                                                                _x
+                                                        in
+                                                          if (Prelude.==)
+                                                               _v Data.ProtoLens.fieldDefault then
+                                                              Data.Monoid.mempty
+                                                          else
+                                                              (Data.Monoid.<>)
+                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                   112)
+                                                                ((Prelude..)
+                                                                   Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                   Prelude.fromIntegral _v))
+                                                       ((Data.Monoid.<>)
+                                                          (case
+                                                               Lens.Family2.view
+                                                                 (Data.ProtoLens.Field.field
+                                                                    @"maybe'status")
+                                                                 _x
+                                                           of
+                                                             Prelude.Nothing -> Data.Monoid.mempty
+                                                             (Prelude.Just _v)
+                                                               -> (Data.Monoid.<>)
+                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                       122)
+                                                                    ((Prelude..)
+                                                                       (\ bs
+                                                                          -> (Data.Monoid.<>)
+                                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                                                                  (Prelude.fromIntegral
+                                                                                     (Data.ByteString.length
+                                                                                        bs)))
+                                                                               (Data.ProtoLens.Encoding.Bytes.putBytes
+                                                                                  bs))
+                                                                       Data.ProtoLens.encodeMessage
+                                                                       _v))
+                                                          (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                                                             (Lens.Family2.view
+                                                                Data.ProtoLens.unknownFields
+                                                                _x)))))))))))))))))
+instance Control.DeepSeq.NFData Span where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Span'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Span'traceId x__)
+                (Control.DeepSeq.deepseq
+                   (_Span'spanId x__)
+                   (Control.DeepSeq.deepseq
+                      (_Span'traceState x__)
+                      (Control.DeepSeq.deepseq
+                         (_Span'parentSpanId x__)
+                         (Control.DeepSeq.deepseq
+                            (_Span'flags x__)
+                            (Control.DeepSeq.deepseq
+                               (_Span'name x__)
+                               (Control.DeepSeq.deepseq
+                                  (_Span'kind x__)
+                                  (Control.DeepSeq.deepseq
+                                     (_Span'startTimeUnixNano x__)
+                                     (Control.DeepSeq.deepseq
+                                        (_Span'endTimeUnixNano x__)
+                                        (Control.DeepSeq.deepseq
+                                           (_Span'attributes x__)
+                                           (Control.DeepSeq.deepseq
+                                              (_Span'droppedAttributesCount x__)
+                                              (Control.DeepSeq.deepseq
+                                                 (_Span'events x__)
+                                                 (Control.DeepSeq.deepseq
+                                                    (_Span'droppedEventsCount x__)
+                                                    (Control.DeepSeq.deepseq
+                                                       (_Span'links x__)
+                                                       (Control.DeepSeq.deepseq
+                                                          (_Span'droppedLinksCount x__)
+                                                          (Control.DeepSeq.deepseq
+                                                             (_Span'status x__) ()))))))))))))))))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.timeUnixNano' @:: Lens' Span'Event Data.Word.Word64@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.name' @:: Lens' Span'Event Data.Text.Text@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.attributes' @:: Lens' Span'Event [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'attributes' @:: Lens' Span'Event (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedAttributesCount' @:: Lens' Span'Event Data.Word.Word32@ -}
+data Span'Event
+  = Span'Event'_constructor {_Span'Event'timeUnixNano :: !Data.Word.Word64,
+                             _Span'Event'name :: !Data.Text.Text,
+                             _Span'Event'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
+                             _Span'Event'droppedAttributesCount :: !Data.Word.Word32,
+                             _Span'Event'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Span'Event where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Span'Event "timeUnixNano" Data.Word.Word64 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Event'timeUnixNano
+           (\ x__ y__ -> x__ {_Span'Event'timeUnixNano = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span'Event "name" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Event'name (\ x__ y__ -> x__ {_Span'Event'name = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span'Event "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Event'attributes
+           (\ x__ y__ -> x__ {_Span'Event'attributes = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Span'Event "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Event'attributes
+           (\ x__ y__ -> x__ {_Span'Event'attributes = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span'Event "droppedAttributesCount" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Event'droppedAttributesCount
+           (\ x__ y__ -> x__ {_Span'Event'droppedAttributesCount = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Span'Event where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.trace.v1.Span.Event"
+  packedMessageDescriptor _
+    = "\n\
+      \\ENQEvent\DC2$\n\
+      \\SOtime_unix_nano\CAN\SOH \SOH(\ACKR\ftimeUnixNano\DC2\DC2\n\
+      \\EOTname\CAN\STX \SOH(\tR\EOTname\DC2G\n\
+      \\n\
+      \attributes\CAN\ETX \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+      \attributes\DC28\n\
+      \\CANdropped_attributes_count\CAN\EOT \SOH(\rR\SYNdroppedAttributesCount"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        timeUnixNano__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "time_unix_nano"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed64Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"timeUnixNano")) ::
+              Data.ProtoLens.FieldDescriptor Span'Event
+        name__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "name"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
+              Data.ProtoLens.FieldDescriptor Span'Event
+        attributes__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attributes"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"attributes")) ::
+              Data.ProtoLens.FieldDescriptor Span'Event
+        droppedAttributesCount__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "dropped_attributes_count"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"droppedAttributesCount")) ::
+              Data.ProtoLens.FieldDescriptor Span'Event
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, timeUnixNano__field_descriptor),
+           (Data.ProtoLens.Tag 2, name__field_descriptor),
+           (Data.ProtoLens.Tag 3, attributes__field_descriptor),
+           (Data.ProtoLens.Tag 4, droppedAttributesCount__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Span'Event'_unknownFields
+        (\ x__ y__ -> x__ {_Span'Event'_unknownFields = y__})
+  defMessage
+    = Span'Event'_constructor
+        {_Span'Event'timeUnixNano = Data.ProtoLens.fieldDefault,
+         _Span'Event'name = Data.ProtoLens.fieldDefault,
+         _Span'Event'attributes = Data.Vector.Generic.empty,
+         _Span'Event'droppedAttributesCount = Data.ProtoLens.fieldDefault,
+         _Span'Event'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Span'Event
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
+             -> Data.ProtoLens.Encoding.Bytes.Parser Span'Event
+        loop x mutable'attributes
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'attributes)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
+                              x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        9 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed64 "time_unix_nano"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"timeUnixNano") y x)
+                                  mutable'attributes
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "name"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
+                                  mutable'attributes
+                        26
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "attributes"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
+                                loop x v
+                        32
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "dropped_attributes_count"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"droppedAttributesCount") y x)
+                                  mutable'attributes
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributes
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'attributes)
+          "Event"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v
+                  = Lens.Family2.view (Data.ProtoLens.Field.field @"timeUnixNano") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 9)
+                      (Data.ProtoLens.Encoding.Bytes.putFixed64 _v))
+             ((Data.Monoid.<>)
+                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((Prelude..)
+                            (\ bs
+                               -> (Data.Monoid.<>)
+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            Data.Text.Encoding.encodeUtf8 _v))
+                ((Data.Monoid.<>)
+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                      (\ _v
+                         -> (Data.Monoid.<>)
+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                              ((Prelude..)
+                                 (\ bs
+                                    -> (Data.Monoid.<>)
+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                 Data.ProtoLens.encodeMessage _v))
+                      (Lens.Family2.view
+                         (Data.ProtoLens.Field.field @"vec'attributes") _x))
+                   ((Data.Monoid.<>)
+                      (let
+                         _v
+                           = Lens.Family2.view
+                               (Data.ProtoLens.Field.field @"droppedAttributesCount") _x
+                       in
+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                             Data.Monoid.mempty
+                         else
+                             (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+                               ((Prelude..)
+                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
+instance Control.DeepSeq.NFData Span'Event where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Span'Event'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Span'Event'timeUnixNano x__)
+                (Control.DeepSeq.deepseq
+                   (_Span'Event'name x__)
+                   (Control.DeepSeq.deepseq
+                      (_Span'Event'attributes x__)
+                      (Control.DeepSeq.deepseq
+                         (_Span'Event'droppedAttributesCount x__) ()))))
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.traceId' @:: Lens' Span'Link Data.ByteString.ByteString@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.spanId' @:: Lens' Span'Link Data.ByteString.ByteString@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.traceState' @:: Lens' Span'Link Data.Text.Text@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.attributes' @:: Lens' Span'Link [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue]@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'attributes' @:: Lens' Span'Link (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.droppedAttributesCount' @:: Lens' Span'Link Data.Word.Word32@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.flags' @:: Lens' Span'Link Data.Word.Word32@ -}
+data Span'Link
+  = Span'Link'_constructor {_Span'Link'traceId :: !Data.ByteString.ByteString,
+                            _Span'Link'spanId :: !Data.ByteString.ByteString,
+                            _Span'Link'traceState :: !Data.Text.Text,
+                            _Span'Link'attributes :: !(Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue),
+                            _Span'Link'droppedAttributesCount :: !Data.Word.Word32,
+                            _Span'Link'flags :: !Data.Word.Word32,
+                            _Span'Link'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Span'Link where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Span'Link "traceId" Data.ByteString.ByteString where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Link'traceId (\ x__ y__ -> x__ {_Span'Link'traceId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span'Link "spanId" Data.ByteString.ByteString where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Link'spanId (\ x__ y__ -> x__ {_Span'Link'spanId = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span'Link "traceState" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Link'traceState
+           (\ x__ y__ -> x__ {_Span'Link'traceState = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span'Link "attributes" [Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Link'attributes
+           (\ x__ y__ -> x__ {_Span'Link'attributes = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Span'Link "vec'attributes" (Data.Vector.Vector Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Link'attributes
+           (\ x__ y__ -> x__ {_Span'Link'attributes = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span'Link "droppedAttributesCount" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Link'droppedAttributesCount
+           (\ x__ y__ -> x__ {_Span'Link'droppedAttributesCount = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Span'Link "flags" Data.Word.Word32 where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Span'Link'flags (\ x__ y__ -> x__ {_Span'Link'flags = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Span'Link where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.trace.v1.Span.Link"
+  packedMessageDescriptor _
+    = "\n\
+      \\EOTLink\DC2\EM\n\
+      \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
+      \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
+      \\vtrace_state\CAN\ETX \SOH(\tR\n\
+      \traceState\DC2G\n\
+      \\n\
+      \attributes\CAN\EOT \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+      \attributes\DC28\n\
+      \\CANdropped_attributes_count\CAN\ENQ \SOH(\rR\SYNdroppedAttributesCount\DC2\DC4\n\
+      \\ENQflags\CAN\ACK \SOH(\aR\ENQflags"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        traceId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "trace_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"traceId")) ::
+              Data.ProtoLens.FieldDescriptor Span'Link
+        spanId__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "span_id"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"spanId")) ::
+              Data.ProtoLens.FieldDescriptor Span'Link
+        traceState__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "trace_state"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"traceState")) ::
+              Data.ProtoLens.FieldDescriptor Span'Link
+        attributes__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "attributes"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"attributes")) ::
+              Data.ProtoLens.FieldDescriptor Span'Link
+        droppedAttributesCount__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "dropped_attributes_count"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional
+                 (Data.ProtoLens.Field.field @"droppedAttributesCount")) ::
+              Data.ProtoLens.FieldDescriptor Span'Link
+        flags__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "flags"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.Fixed32Field ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"flags")) ::
+              Data.ProtoLens.FieldDescriptor Span'Link
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, traceId__field_descriptor),
+           (Data.ProtoLens.Tag 2, spanId__field_descriptor),
+           (Data.ProtoLens.Tag 3, traceState__field_descriptor),
+           (Data.ProtoLens.Tag 4, attributes__field_descriptor),
+           (Data.ProtoLens.Tag 5, droppedAttributesCount__field_descriptor),
+           (Data.ProtoLens.Tag 6, flags__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Span'Link'_unknownFields
+        (\ x__ y__ -> x__ {_Span'Link'_unknownFields = y__})
+  defMessage
+    = Span'Link'_constructor
+        {_Span'Link'traceId = Data.ProtoLens.fieldDefault,
+         _Span'Link'spanId = Data.ProtoLens.fieldDefault,
+         _Span'Link'traceState = Data.ProtoLens.fieldDefault,
+         _Span'Link'attributes = Data.Vector.Generic.empty,
+         _Span'Link'droppedAttributesCount = Data.ProtoLens.fieldDefault,
+         _Span'Link'flags = Data.ProtoLens.fieldDefault,
+         _Span'Link'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          Span'Link
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Proto.Opentelemetry.Proto.Common.V1.Common.KeyValue
+             -> Data.ProtoLens.Encoding.Bytes.Parser Span'Link
+        loop x mutable'attributes
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                mutable'attributes)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'attributes") frozen'attributes
+                              x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getBytes
+                                             (Prelude.fromIntegral len))
+                                       "trace_id"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"traceId") y x)
+                                  mutable'attributes
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getBytes
+                                             (Prelude.fromIntegral len))
+                                       "span_id"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"spanId") y x)
+                                  mutable'attributes
+                        26
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "trace_state"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"traceState") y x)
+                                  mutable'attributes
+                        34
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "attributes"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append mutable'attributes y)
+                                loop x v
+                        40
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.fromIntegral
+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
+                                       "dropped_attributes_count"
+                                loop
+                                  (Lens.Family2.set
+                                     (Data.ProtoLens.Field.field @"droppedAttributesCount") y x)
+                                  mutable'attributes
+                        53
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       Data.ProtoLens.Encoding.Bytes.getFixed32 "flags"
+                                loop
+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"flags") y x)
+                                  mutable'attributes
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'attributes
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'attributes <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                      Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'attributes)
+          "Link"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"traceId") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                      ((\ bs
+                          -> (Data.Monoid.<>)
+                               (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
+                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         _v))
+             ((Data.Monoid.<>)
+                (let
+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"spanId") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                         ((\ bs
+                             -> (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                            _v))
+                ((Data.Monoid.<>)
+                   (let
+                      _v
+                        = Lens.Family2.view (Data.ProtoLens.Field.field @"traceState") _x
+                    in
+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                          Data.Monoid.mempty
+                      else
+                          (Data.Monoid.<>)
+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+                            ((Prelude..)
+                               (\ bs
+                                  -> (Data.Monoid.<>)
+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                               Data.Text.Encoding.encodeUtf8 _v))
+                   ((Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                         (\ _v
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+                                 ((Prelude..)
+                                    (\ bs
+                                       -> (Data.Monoid.<>)
+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                                    Data.ProtoLens.encodeMessage _v))
+                         (Lens.Family2.view
+                            (Data.ProtoLens.Field.field @"vec'attributes") _x))
+                      ((Data.Monoid.<>)
+                         (let
+                            _v
+                              = Lens.Family2.view
+                                  (Data.ProtoLens.Field.field @"droppedAttributesCount") _x
+                          in
+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                Data.Monoid.mempty
+                            else
+                                (Data.Monoid.<>)
+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+                                  ((Prelude..)
+                                     Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral
+                                     _v))
+                         ((Data.Monoid.<>)
+                            (let
+                               _v = Lens.Family2.view (Data.ProtoLens.Field.field @"flags") _x
+                             in
+                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                                   Data.Monoid.mempty
+                               else
+                                   (Data.Monoid.<>)
+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 53)
+                                     (Data.ProtoLens.Encoding.Bytes.putFixed32 _v))
+                            (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                               (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
+instance Control.DeepSeq.NFData Span'Link where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Span'Link'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Span'Link'traceId x__)
+                (Control.DeepSeq.deepseq
+                   (_Span'Link'spanId x__)
+                   (Control.DeepSeq.deepseq
+                      (_Span'Link'traceState x__)
+                      (Control.DeepSeq.deepseq
+                         (_Span'Link'attributes x__)
+                         (Control.DeepSeq.deepseq
+                            (_Span'Link'droppedAttributesCount x__)
+                            (Control.DeepSeq.deepseq (_Span'Link'flags x__) ()))))))
+newtype Span'SpanKind'UnrecognizedValue
+  = Span'SpanKind'UnrecognizedValue Data.Int.Int32
+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
+data Span'SpanKind
+  = Span'SPAN_KIND_UNSPECIFIED |
+    Span'SPAN_KIND_INTERNAL |
+    Span'SPAN_KIND_SERVER |
+    Span'SPAN_KIND_CLIENT |
+    Span'SPAN_KIND_PRODUCER |
+    Span'SPAN_KIND_CONSUMER |
+    Span'SpanKind'Unrecognized !Span'SpanKind'UnrecognizedValue
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum Span'SpanKind where
+  maybeToEnum 0 = Prelude.Just Span'SPAN_KIND_UNSPECIFIED
+  maybeToEnum 1 = Prelude.Just Span'SPAN_KIND_INTERNAL
+  maybeToEnum 2 = Prelude.Just Span'SPAN_KIND_SERVER
+  maybeToEnum 3 = Prelude.Just Span'SPAN_KIND_CLIENT
+  maybeToEnum 4 = Prelude.Just Span'SPAN_KIND_PRODUCER
+  maybeToEnum 5 = Prelude.Just Span'SPAN_KIND_CONSUMER
+  maybeToEnum k
+    = Prelude.Just
+        (Span'SpanKind'Unrecognized
+           (Span'SpanKind'UnrecognizedValue (Prelude.fromIntegral k)))
+  showEnum Span'SPAN_KIND_UNSPECIFIED = "SPAN_KIND_UNSPECIFIED"
+  showEnum Span'SPAN_KIND_INTERNAL = "SPAN_KIND_INTERNAL"
+  showEnum Span'SPAN_KIND_SERVER = "SPAN_KIND_SERVER"
+  showEnum Span'SPAN_KIND_CLIENT = "SPAN_KIND_CLIENT"
+  showEnum Span'SPAN_KIND_PRODUCER = "SPAN_KIND_PRODUCER"
+  showEnum Span'SPAN_KIND_CONSUMER = "SPAN_KIND_CONSUMER"
+  showEnum
+    (Span'SpanKind'Unrecognized (Span'SpanKind'UnrecognizedValue k))
+    = Prelude.show k
+  readEnum k
+    | (Prelude.==) k "SPAN_KIND_UNSPECIFIED"
+    = Prelude.Just Span'SPAN_KIND_UNSPECIFIED
+    | (Prelude.==) k "SPAN_KIND_INTERNAL"
+    = Prelude.Just Span'SPAN_KIND_INTERNAL
+    | (Prelude.==) k "SPAN_KIND_SERVER"
+    = Prelude.Just Span'SPAN_KIND_SERVER
+    | (Prelude.==) k "SPAN_KIND_CLIENT"
+    = Prelude.Just Span'SPAN_KIND_CLIENT
+    | (Prelude.==) k "SPAN_KIND_PRODUCER"
+    = Prelude.Just Span'SPAN_KIND_PRODUCER
+    | (Prelude.==) k "SPAN_KIND_CONSUMER"
+    = Prelude.Just Span'SPAN_KIND_CONSUMER
+    | Prelude.otherwise
+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded Span'SpanKind where
+  minBound = Span'SPAN_KIND_UNSPECIFIED
+  maxBound = Span'SPAN_KIND_CONSUMER
+instance Prelude.Enum Span'SpanKind where
+  toEnum k__
+    = Prelude.maybe
+        (Prelude.error
+           ((Prelude.++)
+              "toEnum: unknown value for enum SpanKind: " (Prelude.show k__)))
+        Prelude.id (Data.ProtoLens.maybeToEnum k__)
+  fromEnum Span'SPAN_KIND_UNSPECIFIED = 0
+  fromEnum Span'SPAN_KIND_INTERNAL = 1
+  fromEnum Span'SPAN_KIND_SERVER = 2
+  fromEnum Span'SPAN_KIND_CLIENT = 3
+  fromEnum Span'SPAN_KIND_PRODUCER = 4
+  fromEnum Span'SPAN_KIND_CONSUMER = 5
+  fromEnum
+    (Span'SpanKind'Unrecognized (Span'SpanKind'UnrecognizedValue k))
+    = Prelude.fromIntegral k
+  succ Span'SPAN_KIND_CONSUMER
+    = Prelude.error
+        "Span'SpanKind.succ: bad argument Span'SPAN_KIND_CONSUMER. This value would be out of bounds."
+  succ Span'SPAN_KIND_UNSPECIFIED = Span'SPAN_KIND_INTERNAL
+  succ Span'SPAN_KIND_INTERNAL = Span'SPAN_KIND_SERVER
+  succ Span'SPAN_KIND_SERVER = Span'SPAN_KIND_CLIENT
+  succ Span'SPAN_KIND_CLIENT = Span'SPAN_KIND_PRODUCER
+  succ Span'SPAN_KIND_PRODUCER = Span'SPAN_KIND_CONSUMER
+  succ (Span'SpanKind'Unrecognized _)
+    = Prelude.error
+        "Span'SpanKind.succ: bad argument: unrecognized value"
+  pred Span'SPAN_KIND_UNSPECIFIED
+    = Prelude.error
+        "Span'SpanKind.pred: bad argument Span'SPAN_KIND_UNSPECIFIED. This value would be out of bounds."
+  pred Span'SPAN_KIND_INTERNAL = Span'SPAN_KIND_UNSPECIFIED
+  pred Span'SPAN_KIND_SERVER = Span'SPAN_KIND_INTERNAL
+  pred Span'SPAN_KIND_CLIENT = Span'SPAN_KIND_SERVER
+  pred Span'SPAN_KIND_PRODUCER = Span'SPAN_KIND_CLIENT
+  pred Span'SPAN_KIND_CONSUMER = Span'SPAN_KIND_PRODUCER
+  pred (Span'SpanKind'Unrecognized _)
+    = Prelude.error
+        "Span'SpanKind.pred: bad argument: unrecognized value"
+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault Span'SpanKind where
+  fieldDefault = Span'SPAN_KIND_UNSPECIFIED
+instance Control.DeepSeq.NFData Span'SpanKind where
+  rnf x__ = Prelude.seq x__ ()
+newtype SpanFlags'UnrecognizedValue
+  = SpanFlags'UnrecognizedValue Data.Int.Int32
+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
+data SpanFlags
+  = SPAN_FLAGS_DO_NOT_USE |
+    SPAN_FLAGS_TRACE_FLAGS_MASK |
+    SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK |
+    SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK |
+    SpanFlags'Unrecognized !SpanFlags'UnrecognizedValue
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum SpanFlags where
+  maybeToEnum 0 = Prelude.Just SPAN_FLAGS_DO_NOT_USE
+  maybeToEnum 255 = Prelude.Just SPAN_FLAGS_TRACE_FLAGS_MASK
+  maybeToEnum 256
+    = Prelude.Just SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK
+  maybeToEnum 512 = Prelude.Just SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK
+  maybeToEnum k
+    = Prelude.Just
+        (SpanFlags'Unrecognized
+           (SpanFlags'UnrecognizedValue (Prelude.fromIntegral k)))
+  showEnum SPAN_FLAGS_DO_NOT_USE = "SPAN_FLAGS_DO_NOT_USE"
+  showEnum SPAN_FLAGS_TRACE_FLAGS_MASK
+    = "SPAN_FLAGS_TRACE_FLAGS_MASK"
+  showEnum SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK
+    = "SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK"
+  showEnum SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK
+    = "SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK"
+  showEnum (SpanFlags'Unrecognized (SpanFlags'UnrecognizedValue k))
+    = Prelude.show k
+  readEnum k
+    | (Prelude.==) k "SPAN_FLAGS_DO_NOT_USE"
+    = Prelude.Just SPAN_FLAGS_DO_NOT_USE
+    | (Prelude.==) k "SPAN_FLAGS_TRACE_FLAGS_MASK"
+    = Prelude.Just SPAN_FLAGS_TRACE_FLAGS_MASK
+    | (Prelude.==) k "SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK"
+    = Prelude.Just SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK
+    | (Prelude.==) k "SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK"
+    = Prelude.Just SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK
+    | Prelude.otherwise
+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded SpanFlags where
+  minBound = SPAN_FLAGS_DO_NOT_USE
+  maxBound = SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK
+instance Prelude.Enum SpanFlags where
+  toEnum k__
+    = Prelude.maybe
+        (Prelude.error
+           ((Prelude.++)
+              "toEnum: unknown value for enum SpanFlags: " (Prelude.show k__)))
+        Prelude.id (Data.ProtoLens.maybeToEnum k__)
+  fromEnum SPAN_FLAGS_DO_NOT_USE = 0
+  fromEnum SPAN_FLAGS_TRACE_FLAGS_MASK = 255
+  fromEnum SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK = 256
+  fromEnum SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK = 512
+  fromEnum (SpanFlags'Unrecognized (SpanFlags'UnrecognizedValue k))
+    = Prelude.fromIntegral k
+  succ SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK
+    = Prelude.error
+        "SpanFlags.succ: bad argument SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK. This value would be out of bounds."
+  succ SPAN_FLAGS_DO_NOT_USE = SPAN_FLAGS_TRACE_FLAGS_MASK
+  succ SPAN_FLAGS_TRACE_FLAGS_MASK
+    = SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK
+  succ SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK
+    = SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK
+  succ (SpanFlags'Unrecognized _)
+    = Prelude.error "SpanFlags.succ: bad argument: unrecognized value"
+  pred SPAN_FLAGS_DO_NOT_USE
+    = Prelude.error
+        "SpanFlags.pred: bad argument SPAN_FLAGS_DO_NOT_USE. This value would be out of bounds."
+  pred SPAN_FLAGS_TRACE_FLAGS_MASK = SPAN_FLAGS_DO_NOT_USE
+  pred SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK
+    = SPAN_FLAGS_TRACE_FLAGS_MASK
+  pred SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK
+    = SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK
+  pred (SpanFlags'Unrecognized _)
+    = Prelude.error "SpanFlags.pred: bad argument: unrecognized value"
+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault SpanFlags where
+  fieldDefault = SPAN_FLAGS_DO_NOT_USE
+instance Control.DeepSeq.NFData SpanFlags where
+  rnf x__ = Prelude.seq x__ ()
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.message' @:: Lens' Status Data.Text.Text@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.code' @:: Lens' Status Status'StatusCode@ -}
+data Status
+  = Status'_constructor {_Status'message :: !Data.Text.Text,
+                         _Status'code :: !Status'StatusCode,
+                         _Status'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Status where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Status "message" Data.Text.Text where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Status'message (\ x__ y__ -> x__ {_Status'message = y__}))
+        Prelude.id
+instance Data.ProtoLens.Field.HasField Status "code" Status'StatusCode where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _Status'code (\ x__ y__ -> x__ {_Status'code = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message Status where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.trace.v1.Status"
+  packedMessageDescriptor _
+    = "\n\
+      \\ACKStatus\DC2\CAN\n\
+      \\amessage\CAN\STX \SOH(\tR\amessage\DC2C\n\
+      \\EOTcode\CAN\ETX \SOH(\SO2/.opentelemetry.proto.trace.v1.Status.StatusCodeR\EOTcode\"N\n\
+      \\n\
+      \StatusCode\DC2\NAK\n\
+      \\DC1STATUS_CODE_UNSET\DLE\NUL\DC2\DC2\n\
+      \\SOSTATUS_CODE_OK\DLE\SOH\DC2\NAK\n\
+      \\DC1STATUS_CODE_ERROR\DLE\STXJ\EOT\b\SOH\DLE\STX"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        message__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "message"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"message")) ::
+              Data.ProtoLens.FieldDescriptor Status
+        code__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "code"
+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                 Data.ProtoLens.FieldTypeDescriptor Status'StatusCode)
+              (Data.ProtoLens.PlainField
+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"code")) ::
+              Data.ProtoLens.FieldDescriptor Status
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 2, message__field_descriptor),
+           (Data.ProtoLens.Tag 3, code__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _Status'_unknownFields
+        (\ x__ y__ -> x__ {_Status'_unknownFields = y__})
+  defMessage
+    = Status'_constructor
+        {_Status'message = Data.ProtoLens.fieldDefault,
+         _Status'code = Data.ProtoLens.fieldDefault,
+         _Status'_unknownFields = []}
+  parseMessage
+    = let
+        loop :: Status -> Data.ProtoLens.Encoding.Bytes.Parser Status
+        loop x
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        18
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                           Data.ProtoLens.Encoding.Bytes.getText
+                                             (Prelude.fromIntegral len))
+                                       "message"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"message") y x)
+                        24
+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                       (Prelude.fmap
+                                          Prelude.toEnum
+                                          (Prelude.fmap
+                                             Prelude.fromIntegral
+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
+                                       "code"
+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"code") y x)
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do loop Data.ProtoLens.defMessage) "Status"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (let
+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"message") _x
+              in
+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                    Data.Monoid.mempty
+                else
+                    (Data.Monoid.<>)
+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+                      ((Prelude..)
+                         (\ bs
+                            -> (Data.Monoid.<>)
+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                         Data.Text.Encoding.encodeUtf8 _v))
+             ((Data.Monoid.<>)
+                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"code") _x
+                 in
+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
+                       Data.Monoid.mempty
+                   else
+                       (Data.Monoid.<>)
+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+                         ((Prelude..)
+                            ((Prelude..)
+                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
+                            Prelude.fromEnum _v))
+                (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData Status where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_Status'_unknownFields x__)
+             (Control.DeepSeq.deepseq
+                (_Status'message x__)
+                (Control.DeepSeq.deepseq (_Status'code x__) ()))
+newtype Status'StatusCode'UnrecognizedValue
+  = Status'StatusCode'UnrecognizedValue Data.Int.Int32
+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
+data Status'StatusCode
+  = Status'STATUS_CODE_UNSET |
+    Status'STATUS_CODE_OK |
+    Status'STATUS_CODE_ERROR |
+    Status'StatusCode'Unrecognized !Status'StatusCode'UnrecognizedValue
+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum Status'StatusCode where
+  maybeToEnum 0 = Prelude.Just Status'STATUS_CODE_UNSET
+  maybeToEnum 1 = Prelude.Just Status'STATUS_CODE_OK
+  maybeToEnum 2 = Prelude.Just Status'STATUS_CODE_ERROR
+  maybeToEnum k
+    = Prelude.Just
+        (Status'StatusCode'Unrecognized
+           (Status'StatusCode'UnrecognizedValue (Prelude.fromIntegral k)))
+  showEnum Status'STATUS_CODE_UNSET = "STATUS_CODE_UNSET"
+  showEnum Status'STATUS_CODE_OK = "STATUS_CODE_OK"
+  showEnum Status'STATUS_CODE_ERROR = "STATUS_CODE_ERROR"
+  showEnum
+    (Status'StatusCode'Unrecognized (Status'StatusCode'UnrecognizedValue k))
+    = Prelude.show k
+  readEnum k
+    | (Prelude.==) k "STATUS_CODE_UNSET"
+    = Prelude.Just Status'STATUS_CODE_UNSET
+    | (Prelude.==) k "STATUS_CODE_OK"
+    = Prelude.Just Status'STATUS_CODE_OK
+    | (Prelude.==) k "STATUS_CODE_ERROR"
+    = Prelude.Just Status'STATUS_CODE_ERROR
+    | Prelude.otherwise
+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded Status'StatusCode where
+  minBound = Status'STATUS_CODE_UNSET
+  maxBound = Status'STATUS_CODE_ERROR
+instance Prelude.Enum Status'StatusCode where
+  toEnum k__
+    = Prelude.maybe
+        (Prelude.error
+           ((Prelude.++)
+              "toEnum: unknown value for enum StatusCode: " (Prelude.show k__)))
+        Prelude.id (Data.ProtoLens.maybeToEnum k__)
+  fromEnum Status'STATUS_CODE_UNSET = 0
+  fromEnum Status'STATUS_CODE_OK = 1
+  fromEnum Status'STATUS_CODE_ERROR = 2
+  fromEnum
+    (Status'StatusCode'Unrecognized (Status'StatusCode'UnrecognizedValue k))
+    = Prelude.fromIntegral k
+  succ Status'STATUS_CODE_ERROR
+    = Prelude.error
+        "Status'StatusCode.succ: bad argument Status'STATUS_CODE_ERROR. This value would be out of bounds."
+  succ Status'STATUS_CODE_UNSET = Status'STATUS_CODE_OK
+  succ Status'STATUS_CODE_OK = Status'STATUS_CODE_ERROR
+  succ (Status'StatusCode'Unrecognized _)
+    = Prelude.error
+        "Status'StatusCode.succ: bad argument: unrecognized value"
+  pred Status'STATUS_CODE_UNSET
+    = Prelude.error
+        "Status'StatusCode.pred: bad argument Status'STATUS_CODE_UNSET. This value would be out of bounds."
+  pred Status'STATUS_CODE_OK = Status'STATUS_CODE_UNSET
+  pred Status'STATUS_CODE_ERROR = Status'STATUS_CODE_OK
+  pred (Status'StatusCode'Unrecognized _)
+    = Prelude.error
+        "Status'StatusCode.pred: bad argument: unrecognized value"
+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault Status'StatusCode where
+  fieldDefault = Status'STATUS_CODE_UNSET
+instance Control.DeepSeq.NFData Status'StatusCode where
+  rnf x__ = Prelude.seq x__ ()
+{- | Fields :
+     
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.resourceSpans' @:: Lens' TracesData [ResourceSpans]@
+         * 'Proto.Opentelemetry.Proto.Trace.V1.Trace_Fields.vec'resourceSpans' @:: Lens' TracesData (Data.Vector.Vector ResourceSpans)@ -}
+data TracesData
+  = TracesData'_constructor {_TracesData'resourceSpans :: !(Data.Vector.Vector ResourceSpans),
+                             _TracesData'_unknownFields :: !Data.ProtoLens.FieldSet}
+  deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TracesData where
+  showsPrec _ __x __s
+    = Prelude.showChar
+        '{'
+        (Prelude.showString
+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TracesData "resourceSpans" [ResourceSpans] where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _TracesData'resourceSpans
+           (\ x__ y__ -> x__ {_TracesData'resourceSpans = y__}))
+        (Lens.Family2.Unchecked.lens
+           Data.Vector.Generic.toList
+           (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField TracesData "vec'resourceSpans" (Data.Vector.Vector ResourceSpans) where
+  fieldOf _
+    = (Prelude..)
+        (Lens.Family2.Unchecked.lens
+           _TracesData'resourceSpans
+           (\ x__ y__ -> x__ {_TracesData'resourceSpans = y__}))
+        Prelude.id
+instance Data.ProtoLens.Message TracesData where
+  messageName _
+    = Data.Text.pack "opentelemetry.proto.trace.v1.TracesData"
+  packedMessageDescriptor _
+    = "\n\
+      \\n\
+      \TracesData\DC2R\n\
+      \\SOresource_spans\CAN\SOH \ETX(\v2+.opentelemetry.proto.trace.v1.ResourceSpansR\rresourceSpans"
+  packedFileDescriptor _ = packedFileDescriptor
+  fieldsByTag
+    = let
+        resourceSpans__field_descriptor
+          = Data.ProtoLens.FieldDescriptor
+              "resource_spans"
+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                 Data.ProtoLens.FieldTypeDescriptor ResourceSpans)
+              (Data.ProtoLens.RepeatedField
+                 Data.ProtoLens.Unpacked
+                 (Data.ProtoLens.Field.field @"resourceSpans")) ::
+              Data.ProtoLens.FieldDescriptor TracesData
+      in
+        Data.Map.fromList
+          [(Data.ProtoLens.Tag 1, resourceSpans__field_descriptor)]
+  unknownFields
+    = Lens.Family2.Unchecked.lens
+        _TracesData'_unknownFields
+        (\ x__ y__ -> x__ {_TracesData'_unknownFields = y__})
+  defMessage
+    = TracesData'_constructor
+        {_TracesData'resourceSpans = Data.Vector.Generic.empty,
+         _TracesData'_unknownFields = []}
+  parseMessage
+    = let
+        loop ::
+          TracesData
+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld ResourceSpans
+             -> Data.ProtoLens.Encoding.Bytes.Parser TracesData
+        loop x mutable'resourceSpans
+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+               if end then
+                   do frozen'resourceSpans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                                (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+                                                   mutable'resourceSpans)
+                      (let missing = []
+                       in
+                         if Prelude.null missing then
+                             Prelude.return ()
+                         else
+                             Prelude.fail
+                               ((Prelude.++)
+                                  "Missing required fields: "
+                                  (Prelude.show (missing :: [Prelude.String]))))
+                      Prelude.return
+                        (Lens.Family2.over
+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+                           (Lens.Family2.set
+                              (Data.ProtoLens.Field.field @"vec'resourceSpans")
+                              frozen'resourceSpans x))
+               else
+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                      case tag of
+                        10
+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+                                            Data.ProtoLens.Encoding.Bytes.isolate
+                                              (Prelude.fromIntegral len)
+                                              Data.ProtoLens.parseMessage)
+                                        "resource_spans"
+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                       (Data.ProtoLens.Encoding.Growing.append
+                                          mutable'resourceSpans y)
+                                loop x v
+                        wire
+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+                                        wire
+                                loop
+                                  (Lens.Family2.over
+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+                                  mutable'resourceSpans
+      in
+        (Data.ProtoLens.Encoding.Bytes.<?>)
+          (do mutable'resourceSpans <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+                                         Data.ProtoLens.Encoding.Growing.new
+              loop Data.ProtoLens.defMessage mutable'resourceSpans)
+          "TracesData"
+  buildMessage
+    = \ _x
+        -> (Data.Monoid.<>)
+             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+                (\ _v
+                   -> (Data.Monoid.<>)
+                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+                        ((Prelude..)
+                           (\ bs
+                              -> (Data.Monoid.<>)
+                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
+                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
+                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+                           Data.ProtoLens.encodeMessage _v))
+                (Lens.Family2.view
+                   (Data.ProtoLens.Field.field @"vec'resourceSpans") _x))
+             (Data.ProtoLens.Encoding.Wire.buildFieldSet
+                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData TracesData where
+  rnf
+    = \ x__
+        -> Control.DeepSeq.deepseq
+             (_TracesData'_unknownFields x__)
+             (Control.DeepSeq.deepseq (_TracesData'resourceSpans x__) ())
+packedFileDescriptor :: Data.ByteString.ByteString
+packedFileDescriptor
+  = "\n\
+    \(opentelemetry/proto/trace/v1/trace.proto\DC2\FSopentelemetry.proto.trace.v1\SUB*opentelemetry/proto/common/v1/common.proto\SUB.opentelemetry/proto/resource/v1/resource.proto\"`\n\
+    \\n\
+    \TracesData\DC2R\n\
+    \\SOresource_spans\CAN\SOH \ETX(\v2+.opentelemetry.proto.trace.v1.ResourceSpansR\rresourceSpans\"\200\SOH\n\
+    \\rResourceSpans\DC2E\n\
+    \\bresource\CAN\SOH \SOH(\v2).opentelemetry.proto.resource.v1.ResourceR\bresource\DC2I\n\
+    \\vscope_spans\CAN\STX \ETX(\v2(.opentelemetry.proto.trace.v1.ScopeSpansR\n\
+    \scopeSpans\DC2\GS\n\
+    \\n\
+    \schema_url\CAN\ETX \SOH(\tR\tschemaUrlJ\ACK\b\232\a\DLE\233\a\"\176\SOH\n\
+    \\n\
+    \ScopeSpans\DC2I\n\
+    \\ENQscope\CAN\SOH \SOH(\v23.opentelemetry.proto.common.v1.InstrumentationScopeR\ENQscope\DC28\n\
+    \\ENQspans\CAN\STX \ETX(\v2\".opentelemetry.proto.trace.v1.SpanR\ENQspans\DC2\GS\n\
+    \\n\
+    \schema_url\CAN\ETX \SOH(\tR\tschemaUrl\"\200\n\
+    \\n\
+    \\EOTSpan\DC2\EM\n\
+    \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
+    \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
+    \\vtrace_state\CAN\ETX \SOH(\tR\n\
+    \traceState\DC2$\n\
+    \\SOparent_span_id\CAN\EOT \SOH(\fR\fparentSpanId\DC2\DC4\n\
+    \\ENQflags\CAN\DLE \SOH(\aR\ENQflags\DC2\DC2\n\
+    \\EOTname\CAN\ENQ \SOH(\tR\EOTname\DC2?\n\
+    \\EOTkind\CAN\ACK \SOH(\SO2+.opentelemetry.proto.trace.v1.Span.SpanKindR\EOTkind\DC2/\n\
+    \\DC4start_time_unix_nano\CAN\a \SOH(\ACKR\DC1startTimeUnixNano\DC2+\n\
+    \\DC2end_time_unix_nano\CAN\b \SOH(\ACKR\SIendTimeUnixNano\DC2G\n\
+    \\n\
+    \attributes\CAN\t \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+    \attributes\DC28\n\
+    \\CANdropped_attributes_count\CAN\n\
+    \ \SOH(\rR\SYNdroppedAttributesCount\DC2@\n\
+    \\ACKevents\CAN\v \ETX(\v2(.opentelemetry.proto.trace.v1.Span.EventR\ACKevents\DC20\n\
+    \\DC4dropped_events_count\CAN\f \SOH(\rR\DC2droppedEventsCount\DC2=\n\
+    \\ENQlinks\CAN\r \ETX(\v2'.opentelemetry.proto.trace.v1.Span.LinkR\ENQlinks\DC2.\n\
+    \\DC3dropped_links_count\CAN\SO \SOH(\rR\DC1droppedLinksCount\DC2<\n\
+    \\ACKstatus\CAN\SI \SOH(\v2$.opentelemetry.proto.trace.v1.StatusR\ACKstatus\SUB\196\SOH\n\
+    \\ENQEvent\DC2$\n\
+    \\SOtime_unix_nano\CAN\SOH \SOH(\ACKR\ftimeUnixNano\DC2\DC2\n\
+    \\EOTname\CAN\STX \SOH(\tR\EOTname\DC2G\n\
+    \\n\
+    \attributes\CAN\ETX \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+    \attributes\DC28\n\
+    \\CANdropped_attributes_count\CAN\EOT \SOH(\rR\SYNdroppedAttributesCount\SUB\244\SOH\n\
+    \\EOTLink\DC2\EM\n\
+    \\btrace_id\CAN\SOH \SOH(\fR\atraceId\DC2\ETB\n\
+    \\aspan_id\CAN\STX \SOH(\fR\ACKspanId\DC2\US\n\
+    \\vtrace_state\CAN\ETX \SOH(\tR\n\
+    \traceState\DC2G\n\
+    \\n\
+    \attributes\CAN\EOT \ETX(\v2'.opentelemetry.proto.common.v1.KeyValueR\n\
+    \attributes\DC28\n\
+    \\CANdropped_attributes_count\CAN\ENQ \SOH(\rR\SYNdroppedAttributesCount\DC2\DC4\n\
+    \\ENQflags\CAN\ACK \SOH(\aR\ENQflags\"\153\SOH\n\
+    \\bSpanKind\DC2\EM\n\
+    \\NAKSPAN_KIND_UNSPECIFIED\DLE\NUL\DC2\SYN\n\
+    \\DC2SPAN_KIND_INTERNAL\DLE\SOH\DC2\DC4\n\
+    \\DLESPAN_KIND_SERVER\DLE\STX\DC2\DC4\n\
+    \\DLESPAN_KIND_CLIENT\DLE\ETX\DC2\SYN\n\
+    \\DC2SPAN_KIND_PRODUCER\DLE\EOT\DC2\SYN\n\
+    \\DC2SPAN_KIND_CONSUMER\DLE\ENQ\"\189\SOH\n\
+    \\ACKStatus\DC2\CAN\n\
+    \\amessage\CAN\STX \SOH(\tR\amessage\DC2C\n\
+    \\EOTcode\CAN\ETX \SOH(\SO2/.opentelemetry.proto.trace.v1.Status.StatusCodeR\EOTcode\"N\n\
+    \\n\
+    \StatusCode\DC2\NAK\n\
+    \\DC1STATUS_CODE_UNSET\DLE\NUL\DC2\DC2\n\
+    \\SOSTATUS_CODE_OK\DLE\SOH\DC2\NAK\n\
+    \\DC1STATUS_CODE_ERROR\DLE\STXJ\EOT\b\SOH\DLE\STX*\156\SOH\n\
+    \\tSpanFlags\DC2\EM\n\
+    \\NAKSPAN_FLAGS_DO_NOT_USE\DLE\NUL\DC2 \n\
+    \\ESCSPAN_FLAGS_TRACE_FLAGS_MASK\DLE\255\SOH\DC2*\n\
+    \%SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK\DLE\128\STX\DC2&\n\
+    \!SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK\DLE\128\EOTBw\n\
+    \\USio.opentelemetry.proto.trace.v1B\n\
+    \TraceProtoP\SOHZ'go.opentelemetry.io/proto/otlp/trace/v1\170\STX\FSOpenTelemetry.Proto.Trace.V1J\202~\n\
+    \\a\DC2\ENQ\SO\NUL\228\STX\SOH\n\
+    \\200\EOT\n\
+    \\SOH\f\DC2\ETX\SO\NUL\DC22\189\EOT Copyright 2019, OpenTelemetry Authors\n\
+    \\n\
+    \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
+    \ you may not use this file except in compliance with the License.\n\
+    \ You may obtain a copy of the License at\n\
+    \\n\
+    \     http://www.apache.org/licenses/LICENSE-2.0\n\
+    \\n\
+    \ Unless required by applicable law or agreed to in writing, software\n\
+    \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
+    \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
+    \ See the License for the specific language governing permissions and\n\
+    \ limitations under the License.\n\
+    \\n\
+    \\b\n\
+    \\SOH\STX\DC2\ETX\DLE\NUL%\n\
+    \\t\n\
+    \\STX\ETX\NUL\DC2\ETX\DC2\NUL4\n\
+    \\t\n\
+    \\STX\ETX\SOH\DC2\ETX\DC3\NUL8\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\NAK\NUL9\n\
+    \\t\n\
+    \\STX\b%\DC2\ETX\NAK\NUL9\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\SYN\NUL\"\n\
+    \\t\n\
+    \\STX\b\n\
+    \\DC2\ETX\SYN\NUL\"\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\ETB\NUL8\n\
+    \\t\n\
+    \\STX\b\SOH\DC2\ETX\ETB\NUL8\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\CAN\NUL+\n\
+    \\t\n\
+    \\STX\b\b\DC2\ETX\CAN\NUL+\n\
+    \\b\n\
+    \\SOH\b\DC2\ETX\EM\NUL>\n\
+    \\t\n\
+    \\STX\b\v\DC2\ETX\EM\NUL>\n\
+    \\206\ETX\n\
+    \\STX\EOT\NUL\DC2\EOT%\NUL,\SOH\SUB\193\ETX TracesData represents the traces data that can be stored in a persistent storage,\n\
+    \ OR can be embedded by other protocols that transfer OTLP traces data but do\n\
+    \ not implement the OTLP protocol.\n\
+    \\n\
+    \ The main difference between this message and collector protocol is that\n\
+    \ in this message there will not be any \"control\" or \"metadata\" specific to\n\
+    \ OTLP protocol.\n\
+    \\n\
+    \ When new fields are added into this message, the OTLP request MUST be updated\n\
+    \ as well.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\NUL\SOH\DC2\ETX%\b\DC2\n\
+    \\174\STX\n\
+    \\EOT\EOT\NUL\STX\NUL\DC2\ETX+\STX,\SUB\160\STX An array of ResourceSpans.\n\
+    \ For data coming from a single resource this array will typically contain\n\
+    \ one element. Intermediary nodes that receive data from multiple origins\n\
+    \ typically batch the data before forwarding further and in that case this\n\
+    \ array will contain multiple elements.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX+\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX+\v\CAN\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX+\EM'\n\
+    \\f\n\
+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX+*+\n\
+    \9\n\
+    \\STX\EOT\SOH\DC2\EOT/\NUL@\SOH\SUB- A collection of ScopeSpans from a Resource.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\SOH\SOH\DC2\ETX/\b\NAK\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\SOH\t\DC2\ETX0\STX\DLE\n\
+    \\v\n\
+    \\EOT\EOT\SOH\t\NUL\DC2\ETX0\v\SI\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\t\NUL\SOH\DC2\ETX0\v\SI\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\t\NUL\STX\DC2\ETX0\v\SI\n\
+    \t\n\
+    \\EOT\EOT\SOH\STX\NUL\DC2\ETX4\STX8\SUBg The resource for the spans in this message.\n\
+    \ If this field is not set then no resource info is known.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX4\STX*\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX4+3\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX467\n\
+    \C\n\
+    \\EOT\EOT\SOH\STX\SOH\DC2\ETX7\STX&\SUB6 A list of ScopeSpans that originate from a resource.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\EOT\DC2\ETX7\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\ETX7\v\NAK\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX7\SYN!\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX7$%\n\
+    \\235\ETX\n\
+    \\EOT\EOT\SOH\STX\STX\DC2\ETX?\STX\CAN\SUB\221\ETX The Schema URL, if known. This is the identifier of the Schema that the resource data\n\
+    \ is recorded in. Notably, the last part of the URL path is the version number of the\n\
+    \ schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see\n\
+    \ https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n\
+    \ This schema_url applies to the data in the \"resource\" field. It does not apply\n\
+    \ to the data in the \"scope_spans\" field which have their own schema_url field.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETX?\STX\b\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX?\t\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX?\SYN\ETB\n\
+    \H\n\
+    \\STX\EOT\STX\DC2\EOTC\NULR\SOH\SUB< A collection of Spans produced by an InstrumentationScope.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\STX\SOH\DC2\ETXC\b\DC2\n\
+    \\205\SOH\n\
+    \\EOT\EOT\STX\STX\NUL\DC2\ETXG\STX?\SUB\191\SOH The instrumentation scope information for the spans in this message.\n\
+    \ Semantically when InstrumentationScope isn't set, it is equivalent with\n\
+    \ an empty instrumentation scope name (unknown).\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\ACK\DC2\ETXG\STX4\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXG5:\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXG=>\n\
+    \L\n\
+    \\EOT\EOT\STX\STX\SOH\DC2\ETXJ\STX\SUB\SUB? A list of Spans that originate from an instrumentation scope.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETXJ\STX\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\ACK\DC2\ETXJ\v\SI\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXJ\DLE\NAK\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXJ\CAN\EM\n\
+    \\148\ETX\n\
+    \\EOT\EOT\STX\STX\STX\DC2\ETXQ\STX\CAN\SUB\134\ETX The Schema URL, if known. This is the identifier of the Schema that the span data\n\
+    \ is recorded in. Notably, the last part of the URL path is the version number of the\n\
+    \ schema: http[s]://server[:port]/path/<version>. To learn more about Schema URL see\n\
+    \ https://opentelemetry.io/docs/specs/otel/schemas/#schema-url\n\
+    \ This schema_url applies to all spans and span events in the \"spans\" field.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXQ\STX\b\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXQ\t\DC3\n\
+    \\f\n\
+    \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXQ\SYN\ETB\n\
+    \\135\SOH\n\
+    \\STX\EOT\ETX\DC2\ENQW\NUL\173\STX\SOH\SUBz A Span represents a single operation performed by a single component of the system.\n\
+    \\n\
+    \ The next available field id is 17.\n\
+    \\n\
+    \\n\
+    \\n\
+    \\ETX\EOT\ETX\SOH\DC2\ETXW\b\f\n\
+    \\179\STX\n\
+    \\EOT\EOT\ETX\STX\NUL\DC2\ETX^\STX\NAK\SUB\165\STX A unique identifier for a trace. All spans from the same trace share\n\
+    \ the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes OR\n\
+    \ of length other than 16 bytes is considered invalid (empty string in OTLP/JSON\n\
+    \ is zero-length and thus is also invalid).\n\
+    \\n\
+    \ This field is required.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\ETX^\STX\a\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETX^\b\DLE\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETX^\DC3\DC4\n\
+    \\170\STX\n\
+    \\EOT\EOT\ETX\STX\SOH\DC2\ETXf\STX\DC4\SUB\156\STX A unique identifier for a span within a trace, assigned when the span\n\
+    \ is created. The ID is an 8-byte array. An ID with all zeroes OR of length\n\
+    \ other than 8 bytes is considered invalid (empty string in OTLP/JSON\n\
+    \ is zero-length and thus is also invalid).\n\
+    \\n\
+    \ This field is required.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\ETXf\STX\a\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETXf\b\SI\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETXf\DC2\DC3\n\
+    \\175\STX\n\
+    \\EOT\EOT\ETX\STX\STX\DC2\ETXk\STX\EM\SUB\161\STX trace_state conveys information about request position in multiple distributed tracing graphs.\n\
+    \ It is a trace_state in w3c-trace-context format: https://www.w3.org/TR/trace-context/#tracestate-header\n\
+    \ See also https://github.com/w3c/distributed-tracing for more details about this field.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\STX\ENQ\DC2\ETXk\STX\b\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\ETXk\t\DC4\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\ETXk\ETB\CAN\n\
+    \\139\SOH\n\
+    \\EOT\EOT\ETX\STX\ETX\DC2\ETXo\STX\ESC\SUB~ The `span_id` of this span's parent span. If this is a root span, then this\n\
+    \ field must be empty. The ID is an 8-byte array.\n\
+    \\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\ETX\ENQ\DC2\ETXo\STX\a\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\ETXo\b\SYN\n\
+    \\f\n\
+    \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\ETXo\EM\SUB\n\
+    \\194\b\n\
+    \\EOT\EOT\ETX\STX\EOT\DC2\EOT\134\SOH\STX\NAK\SUB\179\b Flags, a bit field.\n\
+    \\n\
+    \ Bits 0-7 (8 least significant bits) are the trace flags as defined in W3C Trace\n\
+    \ Context specification. To read the 8-bit W3C trace flag, use\n\
+    \ `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`.\n\
+    \\n\
+    \ See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.\n\
+    \\n\
+    \ Bits 8 and 9 represent the 3 states of whether a span's parent\n\
+    \ is remote. The states are (unknown, is not remote, is remote).\n\
+    \ To read whether the value is known, use `(flags & SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0`.\n\
+    \ To read whether the span is remote, use `(flags & SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0`.\n\
+    \\n\
+    \ When creating span messages, if the message is logically forwarded from another source\n\
+    \ with an equivalent flags fields (i.e., usually another OTLP span message), the field SHOULD\n\
+    \ be copied as-is. If creating from a source that does not have an equivalent flags field\n\
+    \ (such as a runtime representation of an OpenTelemetry span), the high 22 bits MUST\n\
+    \ be set to zero.\n\
+    \ Readers MUST NOT assume that bits 10-31 (22 most significant bits) will be zero.\n\
+    \\n\
+    \ [Optional].\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\EOT\ENQ\DC2\EOT\134\SOH\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\EOT\134\SOH\n\
+    \\SI\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\EOT\134\SOH\DC2\DC4\n\
+    \\219\ETX\n\
+    \\EOT\EOT\ETX\STX\ENQ\DC2\EOT\147\SOH\STX\DC2\SUB\204\ETX A description of the span's operation.\n\
+    \\n\
+    \ For example, the name can be a qualified method name or a file name\n\
+    \ and a line number where the operation is called. A best practice is to use\n\
+    \ the same display name at the same call point in an application.\n\
+    \ This makes it easier to correlate spans in different traces.\n\
+    \\n\
+    \ This field is semantically required to be set to non-empty string.\n\
+    \ Empty value is equivalent to an unknown span name.\n\
+    \\n\
+    \ This field is required.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ENQ\ENQ\DC2\EOT\147\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\EOT\147\SOH\t\r\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\EOT\147\SOH\DLE\DC1\n\
+    \\155\SOH\n\
+    \\EOT\EOT\ETX\EOT\NUL\DC2\ACK\151\SOH\STX\177\SOH\ETX\SUB\138\SOH SpanKind is the type of span. Can be used to specify additional relationships between spans\n\
+    \ in addition to a parent/child relationship.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\EOT\NUL\SOH\DC2\EOT\151\SOH\a\SI\n\
+    \\133\SOH\n\
+    \\ACK\EOT\ETX\EOT\NUL\STX\NUL\DC2\EOT\154\SOH\EOT\RS\SUBu Unspecified. Do NOT use as default.\n\
+    \ Implementations MAY assume SpanKind to be INTERNAL when receiving UNSPECIFIED.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\NUL\SOH\DC2\EOT\154\SOH\EOT\EM\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\NUL\STX\DC2\EOT\154\SOH\FS\GS\n\
+    \\170\SOH\n\
+    \\ACK\EOT\ETX\EOT\NUL\STX\SOH\DC2\EOT\158\SOH\EOT\ESC\SUB\153\SOH Indicates that the span represents an internal operation within an application,\n\
+    \ as opposed to an operation happening at the boundaries. Default value.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\SOH\SOH\DC2\EOT\158\SOH\EOT\SYN\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\SOH\STX\DC2\EOT\158\SOH\EM\SUB\n\
+    \q\n\
+    \\ACK\EOT\ETX\EOT\NUL\STX\STX\DC2\EOT\162\SOH\EOT\EM\SUBa Indicates that the span covers server-side handling of an RPC or other\n\
+    \ remote network request.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\STX\SOH\DC2\EOT\162\SOH\EOT\DC4\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\STX\STX\DC2\EOT\162\SOH\ETB\CAN\n\
+    \U\n\
+    \\ACK\EOT\ETX\EOT\NUL\STX\ETX\DC2\EOT\165\SOH\EOT\EM\SUBE Indicates that the span describes a request to some remote service.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\ETX\SOH\DC2\EOT\165\SOH\EOT\DC4\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\ETX\STX\DC2\EOT\165\SOH\ETB\CAN\n\
+    \\232\STX\n\
+    \\ACK\EOT\ETX\EOT\NUL\STX\EOT\DC2\EOT\171\SOH\EOT\ESC\SUB\215\STX Indicates that the span describes a producer sending a message to a broker.\n\
+    \ Unlike CLIENT and SERVER, there is often no direct critical path latency relationship\n\
+    \ between producer and consumer spans. A PRODUCER span ends when the message was accepted\n\
+    \ by the broker while the logical processing of the message might span a much longer time.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\EOT\SOH\DC2\EOT\171\SOH\EOT\SYN\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\EOT\STX\DC2\EOT\171\SOH\EM\SUB\n\
+    \\219\SOH\n\
+    \\ACK\EOT\ETX\EOT\NUL\STX\ENQ\DC2\EOT\176\SOH\EOT\ESC\SUB\202\SOH Indicates that the span describes consumer receiving a message from a broker.\n\
+    \ Like the PRODUCER kind, there is often no direct critical path latency relationship\n\
+    \ between producer and consumer spans.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\ENQ\SOH\DC2\EOT\176\SOH\EOT\SYN\n\
+    \\SI\n\
+    \\a\EOT\ETX\EOT\NUL\STX\ENQ\STX\DC2\EOT\176\SOH\EM\SUB\n\
+    \\245\SOH\n\
+    \\EOT\EOT\ETX\STX\ACK\DC2\EOT\182\SOH\STX\DC4\SUB\230\SOH Distinguishes between spans generated in a particular context. For example,\n\
+    \ two spans with the same name may be distinguished using `CLIENT` (caller)\n\
+    \ and `SERVER` (callee) to identify queueing latency associated with the span.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ACK\ACK\DC2\EOT\182\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ACK\SOH\DC2\EOT\182\SOH\v\SI\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\ACK\ETX\DC2\EOT\182\SOH\DC2\DC3\n\
+    \\166\ETX\n\
+    \\EOT\EOT\ETX\STX\a\DC2\EOT\190\SOH\STX#\SUB\151\ETX start_time_unix_nano is the start time of the span. On the client side, this is the time\n\
+    \ kept by the local machine where the span execution starts. On the server side, this\n\
+    \ is the time when the server's application handler starts running.\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.\n\
+    \\n\
+    \ This field is semantically required and it is expected that end_time >= start_time.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\a\ENQ\DC2\EOT\190\SOH\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\a\SOH\DC2\EOT\190\SOH\n\
+    \\RS\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\a\ETX\DC2\EOT\190\SOH!\"\n\
+    \\157\ETX\n\
+    \\EOT\EOT\ETX\STX\b\DC2\EOT\198\SOH\STX!\SUB\142\ETX end_time_unix_nano is the end time of the span. On the client side, this is the time\n\
+    \ kept by the local machine where the span execution ends. On the server side, this\n\
+    \ is the time when the server application handler stops running.\n\
+    \ Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.\n\
+    \\n\
+    \ This field is semantically required and it is expected that end_time >= start_time.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\b\ENQ\DC2\EOT\198\SOH\STX\t\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\b\SOH\DC2\EOT\198\SOH\n\
+    \\FS\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\b\ETX\DC2\EOT\198\SOH\US \n\
+    \\202\ENQ\n\
+    \\EOT\EOT\ETX\STX\t\DC2\EOT\212\SOH\STXA\SUB\187\ENQ attributes is a collection of key/value pairs. Note, global attributes\n\
+    \ like server name can be set using the resource API. Examples of attributes:\n\
+    \\n\
+    \     \"/http/user_agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36\"\n\
+    \     \"/http/server_latency\": 300\n\
+    \     \"example.com/myattribute\": true\n\
+    \     \"example.com/score\": 10.239\n\
+    \\n\
+    \ The OpenTelemetry API specification further restricts the allowed value types:\n\
+    \ https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute\n\
+    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
+    \ attribute with the same key).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\t\EOT\DC2\EOT\212\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\t\ACK\DC2\EOT\212\SOH\v1\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\t\SOH\DC2\EOT\212\SOH2<\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\t\ETX\DC2\EOT\212\SOH?@\n\
+    \\247\SOH\n\
+    \\EOT\EOT\ETX\STX\n\
+    \\DC2\EOT\217\SOH\STX'\SUB\232\SOH dropped_attributes_count is the number of attributes that were discarded. Attributes\n\
+    \ can be discarded because their keys are too long or because there are too many\n\
+    \ attributes. If this value is 0, then no attributes were dropped.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\n\
+    \\ENQ\DC2\EOT\217\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\n\
+    \\SOH\DC2\EOT\217\SOH\t!\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\n\
+    \\ETX\DC2\EOT\217\SOH$&\n\
+    \\132\SOH\n\
+    \\EOT\EOT\ETX\ETX\NUL\DC2\ACK\221\SOH\STX\237\SOH\ETX\SUBt Event is a time-stamped annotation of the span, consisting of user-supplied\n\
+    \ text description and key-value pairs.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\ETX\NUL\SOH\DC2\EOT\221\SOH\n\
+    \\SI\n\
+    \@\n\
+    \\ACK\EOT\ETX\ETX\NUL\STX\NUL\DC2\EOT\223\SOH\EOT\US\SUB0 time_unix_nano is the time the event occurred.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\NUL\ENQ\DC2\EOT\223\SOH\EOT\v\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\NUL\SOH\DC2\EOT\223\SOH\f\SUB\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\NUL\ETX\DC2\EOT\223\SOH\GS\RS\n\
+    \h\n\
+    \\ACK\EOT\ETX\ETX\NUL\STX\SOH\DC2\EOT\227\SOH\EOT\DC4\SUBX name of the event.\n\
+    \ This field is semantically required to be set to non-empty string.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\SOH\ENQ\DC2\EOT\227\SOH\EOT\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\SOH\SOH\DC2\EOT\227\SOH\v\SI\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\SOH\ETX\DC2\EOT\227\SOH\DC2\DC3\n\
+    \\191\SOH\n\
+    \\ACK\EOT\ETX\ETX\NUL\STX\STX\DC2\EOT\232\SOH\EOTC\SUB\174\SOH attributes is a collection of attribute key/value pairs on the event.\n\
+    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
+    \ attribute with the same key).\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\STX\EOT\DC2\EOT\232\SOH\EOT\f\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\STX\ACK\DC2\EOT\232\SOH\r3\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\STX\SOH\DC2\EOT\232\SOH4>\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\STX\ETX\DC2\EOT\232\SOHAB\n\
+    \\132\SOH\n\
+    \\ACK\EOT\ETX\ETX\NUL\STX\ETX\DC2\EOT\236\SOH\EOT(\SUBt dropped_attributes_count is the number of dropped attributes. If the value is 0,\n\
+    \ then no attributes were dropped.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\ETX\ENQ\DC2\EOT\236\SOH\EOT\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\ETX\SOH\DC2\EOT\236\SOH\v#\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\NUL\STX\ETX\ETX\DC2\EOT\236\SOH&'\n\
+    \6\n\
+    \\EOT\EOT\ETX\STX\v\DC2\EOT\240\SOH\STX\GS\SUB( events is a collection of Event items.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\v\EOT\DC2\EOT\240\SOH\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\v\ACK\DC2\EOT\240\SOH\v\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\v\SOH\DC2\EOT\240\SOH\DC1\ETB\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\v\ETX\DC2\EOT\240\SOH\SUB\FS\n\
+    \v\n\
+    \\EOT\EOT\ETX\STX\f\DC2\EOT\244\SOH\STX#\SUBh dropped_events_count is the number of dropped events. If the value is 0, then no\n\
+    \ events were dropped.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\f\ENQ\DC2\EOT\244\SOH\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\f\SOH\DC2\EOT\244\SOH\t\GS\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\f\ETX\DC2\EOT\244\SOH \"\n\
+    \\182\STX\n\
+    \\EOT\EOT\ETX\ETX\SOH\DC2\ACK\250\SOH\STX\160\STX\ETX\SUB\165\STX A pointer from the current span to another span in the same trace or in a\n\
+    \ different trace. For example, this can be used in batching operations,\n\
+    \ where a single batch handler processes multiple requests from different\n\
+    \ traces or when the handler receives a request from a different project.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\ETX\SOH\SOH\DC2\EOT\250\SOH\n\
+    \\SO\n\
+    \n\n\
+    \\ACK\EOT\ETX\ETX\SOH\STX\NUL\DC2\EOT\253\SOH\EOT\ETB\SUB^ A unique identifier of a trace that this linked span is part of. The ID is a\n\
+    \ 16-byte array.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\NUL\ENQ\DC2\EOT\253\SOH\EOT\t\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\NUL\SOH\DC2\EOT\253\SOH\n\
+    \\DC2\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\NUL\ETX\DC2\EOT\253\SOH\NAK\SYN\n\
+    \U\n\
+    \\ACK\EOT\ETX\ETX\SOH\STX\SOH\DC2\EOT\128\STX\EOT\SYN\SUBE A unique identifier for the linked span. The ID is an 8-byte array.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\SOH\ENQ\DC2\EOT\128\STX\EOT\t\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\SOH\SOH\DC2\EOT\128\STX\n\
+    \\DC1\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\SOH\ETX\DC2\EOT\128\STX\DC4\NAK\n\
+    \;\n\
+    \\ACK\EOT\ETX\ETX\SOH\STX\STX\DC2\EOT\131\STX\EOT\ESC\SUB+ The trace_state associated with the link.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\STX\ENQ\DC2\EOT\131\STX\EOT\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\STX\SOH\DC2\EOT\131\STX\v\SYN\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\STX\ETX\DC2\EOT\131\STX\EM\SUB\n\
+    \\190\SOH\n\
+    \\ACK\EOT\ETX\ETX\SOH\STX\ETX\DC2\EOT\136\STX\EOTC\SUB\173\SOH attributes is a collection of attribute key/value pairs on the link.\n\
+    \ Attribute keys MUST be unique (it is not allowed to have more than one\n\
+    \ attribute with the same key).\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\ETX\EOT\DC2\EOT\136\STX\EOT\f\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\ETX\ACK\DC2\EOT\136\STX\r3\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\ETX\SOH\DC2\EOT\136\STX4>\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\ETX\ETX\DC2\EOT\136\STXAB\n\
+    \\132\SOH\n\
+    \\ACK\EOT\ETX\ETX\SOH\STX\EOT\DC2\EOT\140\STX\EOT(\SUBt dropped_attributes_count is the number of dropped attributes. If the value is 0,\n\
+    \ then no attributes were dropped.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\EOT\ENQ\DC2\EOT\140\STX\EOT\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\EOT\SOH\DC2\EOT\140\STX\v#\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\EOT\ETX\DC2\EOT\140\STX&'\n\
+    \\152\ACK\n\
+    \\ACK\EOT\ETX\ETX\SOH\STX\ENQ\DC2\EOT\159\STX\EOT\SYN\SUB\135\ACK Flags, a bit field.\n\
+    \\n\
+    \ Bits 0-7 (8 least significant bits) are the trace flags as defined in W3C Trace\n\
+    \ Context specification. To read the 8-bit W3C trace flag, use\n\
+    \ `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`.\n\
+    \\n\
+    \ See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.\n\
+    \\n\
+    \ Bits 8 and 9 represent the 3 states of whether the link is remote.\n\
+    \ The states are (unknown, is not remote, is remote).\n\
+    \ To read whether the value is known, use `(flags & SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0`.\n\
+    \ To read whether the link is remote, use `(flags & SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0`.\n\
+    \\n\
+    \ Readers MUST NOT assume that bits 10-31 (22 most significant bits) will be zero.\n\
+    \ When creating new spans, bits 10-31 (most-significant 22-bits) MUST be zero.\n\
+    \\n\
+    \ [Optional].\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\ENQ\ENQ\DC2\EOT\159\STX\EOT\v\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\ENQ\SOH\DC2\EOT\159\STX\f\DC1\n\
+    \\SI\n\
+    \\a\EOT\ETX\ETX\SOH\STX\ENQ\ETX\DC2\EOT\159\STX\DC4\NAK\n\
+    \~\n\
+    \\EOT\EOT\ETX\STX\r\DC2\EOT\164\STX\STX\ESC\SUBp links is a collection of Links, which are references from this span to a span\n\
+    \ in the same or different trace.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\r\EOT\DC2\EOT\164\STX\STX\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\r\ACK\DC2\EOT\164\STX\v\SI\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\r\SOH\DC2\EOT\164\STX\DLE\NAK\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\r\ETX\DC2\EOT\164\STX\CAN\SUB\n\
+    \\153\SOH\n\
+    \\EOT\EOT\ETX\STX\SO\DC2\EOT\168\STX\STX\"\SUB\138\SOH dropped_links_count is the number of dropped links after the maximum size was\n\
+    \ enforced. If this value is 0, then no links were dropped.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SO\ENQ\DC2\EOT\168\STX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SO\SOH\DC2\EOT\168\STX\t\FS\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SO\ETX\DC2\EOT\168\STX\US!\n\
+    \\173\SOH\n\
+    \\EOT\EOT\ETX\STX\SI\DC2\EOT\172\STX\STX\NAK\SUB\158\SOH An optional final status for this span. Semantically when Status isn't set, it means\n\
+    \ span's status code is unset, i.e. assume STATUS_CODE_UNSET (code = 0).\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SI\ACK\DC2\EOT\172\STX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SI\SOH\DC2\EOT\172\STX\t\SI\n\
+    \\r\n\
+    \\ENQ\EOT\ETX\STX\SI\ETX\DC2\EOT\172\STX\DC2\DC4\n\
+    \\154\SOH\n\
+    \\STX\EOT\EOT\DC2\ACK\177\STX\NUL\197\STX\SOH\SUB\139\SOH The Status type defines a logical error model that is suitable for different\n\
+    \ programming environments, including REST APIs and RPC APIs.\n\
+    \\n\
+    \\v\n\
+    \\ETX\EOT\EOT\SOH\DC2\EOT\177\STX\b\SO\n\
+    \\v\n\
+    \\ETX\EOT\EOT\t\DC2\EOT\178\STX\STX\r\n\
+    \\f\n\
+    \\EOT\EOT\EOT\t\NUL\DC2\EOT\178\STX\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\t\NUL\SOH\DC2\EOT\178\STX\v\f\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\t\NUL\STX\DC2\EOT\178\STX\v\f\n\
+    \@\n\
+    \\EOT\EOT\EOT\STX\NUL\DC2\EOT\181\STX\STX\NAK\SUB2 A developer-facing human readable error message.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\EOT\181\STX\STX\b\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\181\STX\t\DLE\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\181\STX\DC3\DC4\n\
+    \\167\SOH\n\
+    \\EOT\EOT\EOT\EOT\NUL\DC2\ACK\185\STX\STX\193\STX\ETX\SUB\150\SOH For the semantics of status codes see\n\
+    \ https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\EOT\NUL\SOH\DC2\EOT\185\STX\a\DC1\n\
+    \%\n\
+    \\ACK\EOT\EOT\EOT\NUL\STX\NUL\DC2\EOT\187\STX\EOT(\SUB\NAK The default status.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\EOT\EOT\NUL\STX\NUL\SOH\DC2\EOT\187\STX\EOT\NAK\n\
+    \\SI\n\
+    \\a\EOT\EOT\EOT\NUL\STX\NUL\STX\DC2\EOT\187\STX&'\n\
+    \w\n\
+    \\ACK\EOT\EOT\EOT\NUL\STX\SOH\DC2\EOT\190\STX\EOT(\SUBg The Span has been validated by an Application developer or Operator to \n\
+    \ have completed successfully.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\EOT\EOT\NUL\STX\SOH\SOH\DC2\EOT\190\STX\EOT\DC2\n\
+    \\SI\n\
+    \\a\EOT\EOT\EOT\NUL\STX\SOH\STX\DC2\EOT\190\STX&'\n\
+    \-\n\
+    \\ACK\EOT\EOT\EOT\NUL\STX\STX\DC2\EOT\192\STX\EOT(\SUB\GS The Span contains an error.\n\
+    \\n\
+    \\SI\n\
+    \\a\EOT\EOT\EOT\NUL\STX\STX\SOH\DC2\EOT\192\STX\EOT\NAK\n\
+    \\SI\n\
+    \\a\EOT\EOT\EOT\NUL\STX\STX\STX\DC2\EOT\192\STX&'\n\
+    \ \n\
+    \\EOT\EOT\EOT\STX\SOH\DC2\EOT\196\STX\STX\SYN\SUB\DC2 The status code.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\196\STX\STX\f\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\196\STX\r\DC1\n\
+    \\r\n\
+    \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\196\STX\DC4\NAK\n\
+    \\157\ENQ\n\
+    \\STX\ENQ\NUL\DC2\ACK\213\STX\NUL\228\STX\SOH\SUB\142\ENQ SpanFlags represents constants used to interpret the\n\
+    \ Span.flags field, which is protobuf 'fixed32' type and is to\n\
+    \ be used as bit-fields. Each non-zero value defined in this enum is\n\
+    \ a bit-mask.  To extract the bit-field, for example, use an\n\
+    \ expression like:\n\
+    \\n\
+    \   (span.flags & SPAN_FLAGS_TRACE_FLAGS_MASK)\n\
+    \\n\
+    \ See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.\n\
+    \\n\
+    \ Note that Span flags were introduced in version 1.1 of the\n\
+    \ OpenTelemetry protocol.  Older Span producers do not set this\n\
+    \ field, consequently consumers should not rely on the absence of a\n\
+    \ particular flag bit to indicate the presence of a particular feature.\n\
+    \\n\
+    \\v\n\
+    \\ETX\ENQ\NUL\SOH\DC2\EOT\213\STX\ENQ\SO\n\
+    \\150\SOH\n\
+    \\EOT\ENQ\NUL\STX\NUL\DC2\EOT\216\STX\STX\FS\SUB\135\SOH The zero value for the enum. Should not be used for comparisons.\n\
+    \ Instead use bitwise \"and\" with the appropriate mask as shown above.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\EOT\216\STX\STX\ETB\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\EOT\216\STX\SUB\ESC\n\
+    \2\n\
+    \\EOT\ENQ\NUL\STX\SOH\DC2\EOT\219\STX\STX+\SUB$ Bits 0-7 are used for trace flags.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\SOH\SOH\DC2\EOT\219\STX\STX\GS\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\SOH\STX\DC2\EOT\219\STX *\n\
+    \\225\SOH\n\
+    \\EOT\ENQ\NUL\STX\STX\DC2\EOT\224\STX\STX5\SUB\210\SOH Bits 8 and 9 are used to indicate that the parent span or link span is remote.\n\
+    \ Bit 8 (`HAS_IS_REMOTE`) indicates whether the value is known.\n\
+    \ Bit 9 (`IS_REMOTE`) indicates whether the span or link is remote.\n\
+    \\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\STX\SOH\DC2\EOT\224\STX\STX'\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\STX\STX\DC2\EOT\224\STX*4\n\
+    \\f\n\
+    \\EOT\ENQ\NUL\STX\ETX\DC2\EOT\225\STX\STX1\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\ETX\SOH\DC2\EOT\225\STX\STX#\n\
+    \\r\n\
+    \\ENQ\ENQ\NUL\STX\ETX\STX\DC2\EOT\225\STX&0b\ACKproto3"
diff --git a/src/Proto/Opentelemetry/Proto/Trace/V1/Trace_Fields.hs b/src/Proto/Opentelemetry/Proto/Trace/V1/Trace_Fields.hs
--- a/src/Proto/Opentelemetry/Proto/Trace/V1/Trace_Fields.hs
+++ b/src/Proto/Opentelemetry/Proto/Trace/V1/Trace_Fields.hs
@@ -72,6 +72,11 @@
   (Prelude.Functor f, Data.ProtoLens.Field.HasField s "events" a) =>
   Lens.Family2.LensLike' f s a
 events = Data.ProtoLens.Field.field @"events"
+flags ::
+  forall f s a.
+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "flags" a) =>
+  Lens.Family2.LensLike' f s a
+flags = Data.ProtoLens.Field.field @"flags"
 kind ::
   forall f s a.
   (Prelude.Functor f, Data.ProtoLens.Field.HasField s "kind" a) =>
