Repository: GoogleCloudPlatform/opentelemetry-operations-go
Pull request #391 (2022-05-12 00:30:49)

Switch to use collector/pdata and collector/semconv instead of collector/model
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

dashpole: /gcbrun

Patch:
diff --git a/Makefile b/Makefile
index f560980..a3aab30 100644
--- a/Makefile
+++ b/Makefile
@@ -176,7 +176,8 @@ update-otel:
 	$(MAKE) update-dep MODULE=go.opentelemetry.io/otel/trace VERSION=$(STABLE_OTEL_VERSION)
 	$(MAKE) update-dep MODULE=go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp VERSION=$(UNSTABLE_CONTRIB_OTEL_VERSION)
 	$(MAKE) update-dep MODULE=go.opentelemetry.io/collector VERSION=$(COLLECTOR_VERSION)
-	$(MAKE) update-dep MODULE=go.opentelemetry.io/collector/model VERSION=$(COLLECTOR_VERSION)  
+	$(MAKE) update-dep MODULE=go.opentelemetry.io/collector/pdata VERSION=$(COLLECTOR_VERSION)
+	$(MAKE) update-dep MODULE=go.opentelemetry.io/collector/semconv VERSION=$(COLLECTOR_VERSION)
 	$(MAKE) build
 	$(MAKE) gotidy
 
diff --git a/exporter/collector/config.go b/exporter/collector/config.go
index d358c87..38db7be 100644
--- a/exporter/collector/config.go
+++ b/exporter/collector/config.go
@@ -18,7 +18,8 @@ import (
 	"fmt"
 	"time"
 
-	"go.opentelemetry.io/collector/model/pdata"
+	"go.opentelemetry.io/collector/pdata/pcommon"
+	"go.opentelemetry.io/collector/pdata/pmetric"
 	"google.golang.org/api/option"
 	monitoredrespb "google.golang.org/genproto/googleapis/api/monitoredres"
 )
@@ -113,13 +114,13 @@ type MetricConfig struct {
 	// exporters which extend the functionality of this exporter. It allows
 	// customizing the naming of metrics. baseName already includes type
 	// suffixes for summary metrics, but does not (yet) include the domain prefix
-	GetMetricName func(baseName string, metric pdata.Metric) (string, error)
+	GetMetricName func(baseName string, metric pmetric.Metric) (string, error)
 
 	// MapMonitoredResource is not exposed as an option in the configuration, but
 	// can be used by other exporters to extend the functionality of this
 	// exporter. It allows overriding the function used to map otel resource to
 	// monitored resource.
-	MapMonitoredResource func(pdata.Resource) *monitoredrespb.MonitoredResource
+	MapMonitoredResource func(pcommon.Resource) *monitoredrespb.MonitoredResource
 }
 
 type ResourceFilter struct {
diff --git a/exporter/collector/go.mod b/exporter/collector/go.mod
index b616b44..c62ff0e 100644
--- a/exporter/collector/go.mod
+++ b/exporter/collector/go.mod
@@ -8,7 +8,7 @@ require (
 	github.com/census-instrumentation/opencensus-proto v0.3.0
 	github.com/stretchr/testify v1.7.1
 	go.opencensus.io v0.23.0
-	go.opentelemetry.io/collector/model v0.49.0
+	go.opentelemetry.io/collector/semconv v0.51.0
 	go.opentelemetry.io/otel v1.6.3
 	go.opentelemetry.io/otel/sdk v1.6.2
 	go.opentelemetry.io/otel/trace v1.6.3
diff --git a/exporter/collector/go.sum b/exporter/collector/go.sum
index f224d67..3c6017a 100644
--- a/exporter/collector/go.sum
+++ b/exporter/collector/go.sum
@@ -231,10 +231,10 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
-go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c=
-go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw=
 go.opentelemetry.io/collector/pdata v0.49.0 h1:aYj5rOlRC0x7lGXbc185LMsMMoY/pjOTXr5s1O2SzXs=
 go.opentelemetry.io/collector/pdata v0.49.0/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY=
+go.opentelemetry.io/collector/semconv v0.51.0 h1:Almgp3RZKDZNIp5491LfQ/oF2GG5gPK14IghjUxgkPg=
+go.opentelemetry.io/collector/semconv v0.51.0/go.mod h1:SxK0rUnUP7YeDakexzbE/vhimTOHwE6m/4aKKd9e27Q=
 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0 h1:woM+Mb4d0A+Dxa3rYPenSN5ZeS9qHUvE8rlObiLRXTY=
 go.opentelemetry.io/otel v1.6.2/go.mod h1:MUBZHaB2cm6CahEBHQPq9Anos7IXynP/noVpjsxQTSc=
 go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE=
diff --git a/exporter/collector/googlemanagedprometheus/go.mod b/exporter/collector/googlemanagedprometheus/go.mod
index c2e37ba..61c8152 100644
--- a/exporter/collector/googlemanagedprometheus/go.mod
+++ b/exporter/collector/googlemanagedprometheus/go.mod
@@ -6,8 +6,8 @@ require (
 	github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.30.1
 	github.com/stretchr/testify v1.7.1
 	go.opentelemetry.io/collector v0.49.0
-	go.opentelemetry.io/collector/model v0.49.0
 	go.opentelemetry.io/collector/pdata v0.49.0
+	go.opentelemetry.io/collector/semconv v0.51.0
 	google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf
 )
 
diff --git a/exporter/collector/googlemanagedprometheus/go.sum b/exporter/collector/googlemanagedprometheus/go.sum
index c42a904..be31a00 100644
--- a/exporter/collector/googlemanagedprometheus/go.sum
+++ b/exporter/collector/googlemanagedprometheus/go.sum
@@ -304,10 +304,10 @@ go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
 go.opentelemetry.io/collector v0.49.0 h1:brKMIUwlL1bt0Faxqqxvj7549KWm9FEN77Z4i4RAlDE=
 go.opentelemetry.io/collector v0.49.0/go.mod h1:ErYGC1VzzrpK/uM134DJIbARX3jl9vtTqgIXsiWxjGE=
-go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c=
-go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw=
 go.opentelemetry.io/collector/pdata v0.49.0 h1:aYj5rOlRC0x7lGXbc185LMsMMoY/pjOTXr5s1O2SzXs=
 go.opentelemetry.io/collector/pdata v0.49.0/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY=
+go.opentelemetry.io/collector/semconv v0.51.0 h1:Almgp3RZKDZNIp5491LfQ/oF2GG5gPK14IghjUxgkPg=
+go.opentelemetry.io/collector/semconv v0.51.0/go.mod h1:SxK0rUnUP7YeDakexzbE/vhimTOHwE6m/4aKKd9e27Q=
 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0 h1:woM+Mb4d0A+Dxa3rYPenSN5ZeS9qHUvE8rlObiLRXTY=
 go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE=
 go.opentelemetry.io/otel v1.6.3/go.mod h1:7BgNga5fNlF/iZjG06hM3yofffp0ofKCDwSXx1GC4dI=
diff --git a/exporter/collector/googlemanagedprometheus/monitoredresource.go b/exporter/collector/googlemanagedprometheus/monitoredresource.go
index 6c87553..02d5acf 100644
--- a/exporter/collector/googlemanagedprometheus/monitoredresource.go
+++ b/exporter/collector/googlemanagedprometheus/monitoredresource.go
@@ -15,12 +15,12 @@
 package googlemanagedprometheus
 
 import (
-	"go.opentelemetry.io/collector/model/pdata"
-	semconv "go.opentelemetry.io/collector/model/semconv/v1.8.0"
+	"go.opentelemetry.io/collector/pdata/pcommon"
+	semconv "go.opentelemetry.io/collector/semconv/v1.8.0"
 	monitoredrespb "google.golang.org/genproto/googleapis/api/monitoredres"
 )
 
-func MapToPrometheusTarget(res pdata.Resource) *monitoredrespb.MonitoredResource {
+func MapToPrometheusTarget(res pcommon.Resource) *monitoredrespb.MonitoredResource {
 	attrs := res.Attributes()
 	// Prepend namespace if it exists to match what is specified in
 	// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/datamodel.md#resource-attributes-1
@@ -46,7 +46,7 @@ func MapToPrometheusTarget(res pdata.Resource) *monitoredrespb.MonitoredResource
 	}
 }
 
-func getStringOrEmpty(attributes pdata.Map, key string) string {
+func getStringOrEmpty(attributes pcommon.Map, key string) string {
 	if val, ok := attributes.Get(key); ok {
 		return val.StringVal()
 	}
diff --git a/exporter/collector/googlemanagedprometheus/naming.go b/exporter/collector/googlemanagedprometheus/naming.go
index f400466..6e224ae 100644
--- a/exporter/collector/googlemanagedprometheus/naming.go
+++ b/exporter/collector/googlemanagedprometheus/naming.go
@@ -18,11 +18,10 @@ import (
 	"fmt"
 	"strings"
 
-	"go.opentelemetry.io/collector/model/pdata"
 	"go.opentelemetry.io/collector/pdata/pmetric"
 )
 
-func GetMetricName(baseName string, metric pdata.Metric) (string, error) {
+func GetMetricName(baseName string, metric pmetric.Metric) (string, error) {
 	switch metric.DataType() {
 	case pmetric.MetricDataTypeSum:
 		return baseName + "/counter", nil
diff --git a/exporter/collector/internal/datapointstorage/datapointcache.go b/exporter/collector/internal/datapointstorage/datapointcache.go
index c0051c9..b40e0e9 100644
--- a/exporter/collector/internal/datapointstorage/datapointcache.go
+++ b/exporter/collector/internal/datapointstorage/datapointcache.go
@@ -19,7 +19,8 @@ import (
 	"strings"
 	"time"
 
-	"go.opentelemetry.io/collector/model/pdata"
+	"go.opentelemetry.io/collector/pdata/pcommon"
+	"go.opentelemetry.io/collector/pdata/pmetric"
 	monitoredrespb "google.golang.org/genproto/googleapis/api/monitoredres"
 )
 
@@ -33,22 +34,22 @@ type Cache struct {
 }
 
 type usedNumberPoint struct {
-	point *pdata.NumberDataPoint
+	point *pmetric.NumberDataPoint
 	used  bool
 }
 
 type usedSummaryPoint struct {
-	point *pdata.SummaryDataPoint
+	point *pmetric.SummaryDataPoint
 	used  bool
 }
 
 type usedHistogramPoint struct {
-	point *pdata.HistogramDataPoint
+	point *pmetric.HistogramDataPoint
 	used  bool
 }
 
 type usedExponentialHistogramPoint struct {
-	point *pdata.ExponentialHistogramDataPoint
+	point *pmetric.ExponentialHistogramDataPoint
 	used  bool
 }
 
@@ -70,7 +71,7 @@ func NewCache(shutdown <-chan struct{}) Cache {
 
 // GetNumberDataPoint retrieves the point associated with the identifier, and whether
 // or not it was found
-func (c Cache) GetNumberDataPoint(identifier string) (*pdata.NumberDataPoint, bool) {
+func (c Cache) GetNumberDataPoint(identifier string) (*pmetric.NumberDataPoint, bool) {
 	point, found := c.numberCache[identifier]
 	if found {
 		point.used = true
@@ -80,13 +81,13 @@ func (c Cache) GetNumberDataPoint(identifier string) (*pdata.NumberDataPoint, bo
 }
 
 // SetNumberDataPoint assigns the point to the identifier in the cache
-func (c Cache) SetNumberDataPoint(identifier string, point *pdata.NumberDataPoint) {
+func (c Cache) SetNumberDataPoint(identifier string, point *pmetric.NumberDataPoint) {
 	c.numberCache[identifier] = usedNumberPoint{point, true}
 }
 
 // GetSummaryDataPoint retrieves the point associated with the identifier, and whether
 // or not it was found
-func (c Cache) GetSummaryDataPoint(identifier string) (*pdata.SummaryDataPoint, bool) {
+func (c Cache) GetSummaryDataPoint(identifier string) (*pmetric.SummaryDataPoint, bool) {
 	point, found := c.summaryCache[identifier]
 	if found {
 		point.used = true
@@ -96,13 +97,13 @@ func (c Cache) GetSummaryDataPoint(identifier string) (*pdata.SummaryDataPoint,
 }
 
 // SetSummaryDataPoint assigns the point to the identifier in the cache
-func (c Cache) SetSummaryDataPoint(identifier string, point *pdata.SummaryDataPoint) {
+func (c Cache) SetSummaryDataPoint(identifier string, point *pmetric.SummaryDataPoint) {
 	c.summaryCache[identifier] = usedSummaryPoint{point, true}
 }
 
 // GetHistogramDataPoint retrieves the point associated with the identifier, and whether
 // or not it was found
-func (c Cache) GetHistogramDataPoint(identifier string) (*pdata.HistogramDataPoint, bool) {
+func (c Cache) GetHistogramDataPoint(identifier string) (*pmetric.HistogramDataPoint, bool) {
 	point, found := c.histogramCache[identifier]
 	if found {
 		point.used = true
@@ -112,13 +113,13 @@ func (c Cache) GetHistogramDataPoint(identifier string) (*pdata.HistogramDataPoi
 }
 
 // SetHistogramDataPoint assigns the point to the identifier in the cache
-func (c Cache) SetHistogramDataPoint(identifier string, point *pdata.HistogramDataPoint) {
+func (c Cache) SetHistogramDataPoint(identifier string, point *pmetric.HistogramDataPoint) {
 	c.histogramCache[identifier] = usedHistogramPoint{point, true}
 }
 
 // GetExponentialHistogramDataPoint retrieves the point associated with the identifier, and whether
 // or not it was found
-func (c Cache) GetExponentialHistogramDataPoint(identifier string) (*pdata.ExponentialHistogramDataPoint, bool) {
+func (c Cache) GetExponentialHistogramDataPoint(identifier string) (*pmetric.ExponentialHistogramDataPoint, bool) {
 	point, found := c.exponentialHistogramCache[identifier]
 	if found {
 		point.used = true
@@ -128,7 +129,7 @@ func (c Cache) GetExponentialHistogramDataPoint(identifier string) (*pdata.Expon
 }
 
 // SetExponentialHistogramDataPoint assigns the point to the identifier in the cache
-func (c Cache) SetExponentialHistogramDataPoint(identifier string, point *pdata.ExponentialHistogramDataPoint) {
+func (c Cache) SetExponentialHistogramDataPoint(identifier string, point *pmetric.ExponentialHistogramDataPoint) {
 	c.exponentialHistogramCache[identifier] = usedExponentialHistogramPoint{point, true}
 }
 
@@ -187,7 +188,7 @@ func (c Cache) gc(shutdown <-chan struct{}, tickerCh <-chan time.Time) bool {
 }
 
 // Identifier returns the unique string identifier for a metric
-func Identifier(resource *monitoredrespb.MonitoredResource, extraLabels map[string]string, metric pdata.Metric, attributes pdata.Map) string {
+func Identifier(resource *monitoredrespb.MonitoredResource, extraLabels map[string]string, metric pmetric.Metric, attributes pcommon.Map) string {
 	var b strings.Builder
 
 	// Resource identifiers
@@ -200,7 +201,7 @@ func Identifier(resource *monitoredrespb.MonitoredResource, extraLabels map[stri
 
 	// Metric identifiers
 	fmt.Fprintf(&b, " - %s -", metric.Name())
-	attributes.Sort().Range(func(k string, v pdata.Value) bool {
+	attributes.Sort().Range(func(k string, v pcommon.Value) bool {
 		fmt.Fprintf(&b, " %s=%s", k, v.AsString())
 		return true
 	})
diff --git a/exporter/collector/internal/normalization/disabled_normalizer.go b/exporter/collector/internal/normalization/disabled_normalizer.go
index 2d927bb..7c6a007 100644
--- a/exporter/collector/internal/normalization/disabled_normalizer.go
+++ b/exporter/collector/internal/normalization/disabled_normalizer.go
@@ -17,7 +17,8 @@ package normalization
 import (
 	"time"
 
-	"go.opentelemetry.io/collector/model/pdata"
+	"go.opentelemetry.io/collector/pdata/pcommon"
+	"go.opentelemetry.io/collector/pdata/pmetric"
 )
 
 // NewDisabledNormalizer returns a Normalizer which does not perform any
@@ -33,56 +34,56 @@ func NewDisabledNormalizer() Normalizer {
 type disabledNormalizer struct{}
 
 // NormalizeExponentialHistogramDataPoint returns the point without normalizing.
-func (d *disabledNormalizer) NormalizeExponentialHistogramDataPoint(point pdata.ExponentialHistogramDataPoint, _ string) *pdata.ExponentialHistogramDataPoint {
+func (d *disabledNormalizer) NormalizeExponentialHistogramDataPoint(point pmetric.ExponentialHistogramDataPoint, _ string) *pmetric.ExponentialHistogramDataPoint {
 	if !point.StartTimestamp().AsTime().Before(point.Timestamp().AsTime()) {
 		// Handle explicit reset points.
 		// Make a copy so we don't mutate underlying data.
-		newPoint := pdata.NewExponentialHistogramDataPoint()
+		newPoint := pmetric.NewExponentialHistogramDataPoint()
 		point.CopyTo(newPoint)
 		// StartTime = Timestamp - 1 ms
-		newPoint.SetStartTimestamp(pdata.Timestamp(uint64(point.Timestamp()) - uint64(time.Millisecond)))
+		newPoint.SetStartTimestamp(pcommon.Timestamp(uint64(point.Timestamp()) - uint64(time.Millisecond)))
 		return &newPoint
 	}
 	return &point
 }
 
 // NormalizeHistogramDataPoint returns the point without normalizing.
-func (d *disabledNormalizer) NormalizeHistogramDataPoint(point pdata.HistogramDataPoint, _ string) *pdata.HistogramDataPoint {
+func (d *disabledNormalizer) NormalizeHistogramDataPoint(point pmetric.HistogramDataPoint, _ string) *pmetric.HistogramDataPoint {
 	if !point.StartTimestamp().AsTime().Before(point.Timestamp().AsTime()) {
 		// Handle explicit reset points.
 		// Make a copy so we don't mutate underlying data.
-		newPoint := pdata.NewHistogramDataPoint()
+		newPoint := pmetric.NewHistogramDataPoint()
 		point.CopyTo(newPoint)
 		// StartTime = Timestamp - 1 ms
-		newPoint.SetStartTimestamp(pdata.Timestamp(uint64(point.Timestamp()) - uint64(time.Millisecond)))
+		newPoint.SetStartTimestamp(pcommon.Timestamp(uint64(point.Timestamp()) - uint64(time.Millisecond)))
 		return &newPoint
 	}
 	return &point
 }
 
 // NormalizeNumberDataPoint returns the point without normalizing.
-func (d *disabledNormalizer) NormalizeNumberDataPoint(point pdata.NumberDataPoint, _ string) *pdata.NumberDataPoint {
+func (d *disabledNormalizer) NormalizeNumberDataPoint(point pmetric.NumberDataPoint, _ string) *pmetric.NumberDataPoint {
 	if !point.StartTimestamp().AsTime().Before(point.Timestamp().AsTime()) {
 		// Handle explicit reset points.
 		// Make a copy so we don't mutate underlying data.
-		newPoint := pdata.NewNumberDataPoint()
+		newPoint := pmetric.NewNumberDataPoint()
 		point.CopyTo(newPoint)
 		// StartTime = Timestamp - 1 ms
-		newPoint.SetStartTimestamp(pdata.Timestamp(uint64(point.Timestamp()) - uint64(time.Millisecond)))
+		newPoint.SetStartTimestamp(pcommon.Timestamp(uint64(point.Timestamp()) - uint64(time.Millisecond)))
 		return &newPoint
 	}
 	return &point
 }
 
 // NormalizeSummaryDataPoint returns the point without normalizing.
-func (d *disabledNormalizer) NormalizeSummaryDataPoint(point pdata.SummaryDataPoint, _ string) *pdata.SummaryDataPoint {
+func (d *disabledNormalizer) NormalizeSummaryDataPoint(point pmetric.SummaryDataPoint, _ string) *pmetric.SummaryDataPoint {
 	if !point.StartTimestamp().AsTime().Before(point.Timestamp().AsTime()) {
 		// Handle explicit reset points.
 		// Make a copy so we don't mutate underlying data.
-		newPoint := pdata.NewSummaryDataPoint()
+		newPoint := pmetric.NewSummaryDataPoint()
 		point.CopyTo(newPoint)
 		// StartTime = Timestamp - 1 ms
-		newPoint.SetStartTimestamp(pdata.Timestamp(uint64(point.Timestamp()) - uint64(time.Millisecond)))
+		newPoint.SetStartTimestamp(pcommon.Timestamp(uint64(point.Timestamp()) - uint64(time.Millisecond)))
 		return &newPoint
 	}
 	return &point
diff --git a/exporter/collector/internal/normalization/standard_normalizer.go b/exporter/collector/internal/normalization/standard_normalizer.go
index 75a1450..1c9a1f5 100644
--- a/exporter/collector/internal/normalization/standard_normalizer.go
+++ b/exporter/collector/internal/normalization/standard_normalizer.go
@@ -15,7 +15,6 @@
 package normalization
 
 import (
-	"go.opentelemetry.io/collector/model/pdata"
 	"go.opentelemetry.io/collector/pdata/pmetric"
 	"go.uber.org/zap"
 
@@ -39,7 +38,7 @@ type standardNormalizer struct {
 	log   *zap.Logger
 }
 
-func (s *standardNormalizer) NormalizeExponentialHistogramDataPoint(point pdata.ExponentialHistogramDataPoint, identifier string) *pdata.ExponentialHistogramDataPoint {
+func (s *standardNormalizer) NormalizeExponentialHistogramDataPoint(point pmetric.ExponentialHistogramDataPoint, identifier string) *pmetric.ExponentialHistogramDataPoint {
 	// if the point doesn't need to be normalized, use original point
 	normalizedPoint := &point
 	start, ok := s.cache.GetExponentialHistogramDataPoint(identifier)
@@ -62,7 +61,7 @@ func (s *standardNormalizer) NormalizeExponentialHistogramDataPoint(point pdata.
 			return nil
 		}
 		// Make a copy so we don't mutate underlying data
-		newPoint := pdata.NewExponentialHistogramDataPoint()
+		newPoint := pmetric.NewExponentialHistogramDataPoint()
 		point.CopyTo(newPoint)
 		// Use the start timestamp from the normalization point
 		newPoint.SetStartTimestamp(start.Timestamp())
@@ -86,7 +85,7 @@ func (s *standardNormalizer) NormalizeExponentialHistogramDataPoint(point pdata.
 	return normalizedPoint
 }
 
-func normalizeExponentialBuckets(pointBuckets, startBuckets pdata.Buckets) {
+func normalizeExponentialBuckets(pointBuckets, startBuckets pmetric.Buckets) {
 	newBuckets := make([]uint64, len(pointBuckets.BucketCounts()))
 	offsetDiff := int(pointBuckets.Offset() - startBuckets.Offset())
 	for i := range pointBuckets.BucketCounts() {
@@ -102,7 +101,7 @@ func normalizeExponentialBuckets(pointBuckets, startBuckets pdata.Buckets) {
 	pointBuckets.SetBucketCounts(newBuckets)
 }
 
-func (s *standardNormalizer) NormalizeHistogramDataPoint(point pdata.HistogramDataPoint, identifier string) *pdata.HistogramDataPoint {
+func (s *standardNormalizer) NormalizeHistogramDataPoint(point pmetric.HistogramDataPoint, identifier string) *pmetric.HistogramDataPoint {
 	// if the point doesn't need to be normalized, use original point
 	normalizedPoint := &point
 	start, ok := s.cache.GetHistogramDataPoint(identifier)
@@ -118,7 +117,7 @@ func (s *standardNormalizer) NormalizeHistogramDataPoint(point pdata.HistogramDa
 			return nil
 		}
 		// Make a copy so we don't mutate underlying data
-		newPoint := pdata.NewHistogramDataPoint()
+		newPoint := pmetric.NewHistogramDataPoint()
 		point.CopyTo(newPoint)
 		// Use the start timestamp from the normalization point
 		newPoint.SetStartTimestamp(start.Timestamp())
@@ -166,7 +165,7 @@ func bucketBoundariesEqual(a, b []float64) bool {
 
 // NormalizeNumberDataPoint normalizes a cumulative, monotonic sum.
 // It returns the normalized point, or nil if the point should be dropped.
-func (s *standardNormalizer) NormalizeNumberDataPoint(point pdata.NumberDataPoint, identifier string) *pdata.NumberDataPoint {
+func (s *standardNormalizer) NormalizeNumberDataPoint(point pmetric.NumberDataPoint, identifier string) *pmetric.NumberDataPoint {
 	// if the point doesn't need to be normalized, use original point
 	normalizedPoint := &point
 	start, ok := s.cache.GetNumberDataPoint(identifier)
@@ -182,7 +181,7 @@ func (s *standardNormalizer) NormalizeNumberDataPoint(point pdata.NumberDataPoin
 			return nil
 		}
 		// Make a copy so we don't mutate underlying data
-		newPoint := pdata.NewNumberDataPoint()
+		newPoint := pmetric.NewNumberDataPoint()
 		point.CopyTo(newPoint)
 		// Use the start timestamp from the normalization point
 		newPoint.SetStartTimestamp(start.Timestamp())
@@ -206,7 +205,7 @@ func (s *standardNormalizer) NormalizeNumberDataPoint(point pdata.NumberDataPoin
 	return normalizedPoint
 }
 
-func (s *standardNormalizer) NormalizeSummaryDataPoint(point pdata.SummaryDataPoint, identifier string) *pdata.SummaryDataPoint {
+func (s *standardNormalizer) NormalizeSummaryDataPoint(point pmetric.SummaryDataPoint, identifier string) *pmetric.SummaryDataPoint {
 	// if the point doesn't need to be normalized, use original point
 	normalizedPoint := &point
 	start, ok := s.cache.GetSummaryDataPoint(identifier)
@@ -222,7 +221,7 @@ func (s *standardNormalizer) NormalizeSummaryDataPoint(point pdata.SummaryDataPo
 			return nil
 		}
 		// Make a copy so we don't mutate underlying data.
-		newPoint := pdata.NewSummaryDataPoint()
+		newPoint := pmetric.NewSummaryDataPoint()
 		// Quantile values are copied, and are not modified. Quantiles are
 		// computed over the same time period as sum and count, but it isn't
 		// possible to normalize them.
diff --git a/exporter/collector/internal/normalization/types.go b/exporter/collector/internal/normalization/types.go
index 9a55fef..a6db62b 100644
--- a/exporter/collector/internal/normalization/types.go
+++ b/exporter/collector/internal/normalization/types.go
@@ -14,20 +14,22 @@
 
 package normalization
 
-import "go.opentelemetry.io/collector/model/pdata"
+import (
+	"go.opentelemetry.io/collector/pdata/pmetric"
+)
 
 // Normalizer can normalize data points to handle cases in which the start time is unknown.
 type Normalizer interface {
 	// NormalizeExponentialHistogramDataPoint normalizes an exponential histogram.
 	// It returns the normalized point, or nil if the point should be dropped.
-	NormalizeExponentialHistogramDataPoint(point pdata.ExponentialHistogramDataPoint, identifier string) *pdata.ExponentialHistogramDataPoint
+	NormalizeExponentialHistogramDataPoint(point pmetric.ExponentialHistogramDataPoint, identifier string) *pmetric.ExponentialHistogramDataPoint
 	// NormalizeHistogramDataPoint normalizes a cumulative histogram.
 	// It returns the normalized point, or nil if the point should be dropped.
-	NormalizeHistogramDataPoint(point pdata.HistogramDataPoint, identifier string) *pdata.HistogramDataPoint
+	NormalizeHistogramDataPoint(point pmetric.HistogramDataPoint, identifier string) *pmetric.HistogramDataPoint
 	// NormalizeNumberDataPoint normalizes a cumulative, monotonic sum.
 	// It returns the normalized point, or nil if the point should be dropped.
-	NormalizeNumberDataPoint(point pdata.NumberDataPoint, identifier string) *pdata.NumberDataPoint
+	NormalizeNumberDataPoint(point pmetric.NumberDataPoint, identifier string) *pmetric.NumberDataPoint
 	// NormalizeSummaryDataPoint normalizes a summary.
 	// It returns the normalized point, or nil if the point should be dropped.
-	NormalizeSummaryDataPoint(point pdata.SummaryDataPoint, identifier string) *pdata.SummaryDataPoint
+	NormalizeSummaryDataPoint(point pmetric.SummaryDataPoint, identifier string) *pmetric.SummaryDataPoint
 }
diff --git a/exporter/collector/metrics.go b/exporter/collector/metrics.go
index 375cce5..2d98595 100644
--- a/exporter/collector/metrics.go
+++ b/exporter/collector/metrics.go
@@ -32,7 +32,7 @@ import (
 	monitoring "cloud.google.com/go/monitoring/apiv3/v2"
 	"go.opencensus.io/plugin/ocgrpc"
 	"go.opencensus.io/stats/view"
-	"go.opentelemetry.io/collector/model/pdata"
+	"go.opentelemetry.io/collector/pdata/pcommon"
 	"go.opentelemetry.io/collector/pdata/pmetric"
 	"go.uber.org/zap"
 	"google.golang.org/genproto/googleapis/api/distribution"
@@ -167,7 +167,7 @@ func NewGoogleCloudMetricsExporter(
 }
 
 // PushMetrics calls pushes pdata metrics to GCM, creating metric descriptors if necessary
-func (me *MetricsExporter) PushMetrics(ctx context.Context, m pdata.Metrics) error {
+func (me *MetricsExporter) PushMetrics(ctx context.Context, m pmetric.Metrics) error {
 	pendingTimeSeries := []*monitoringpb.TimeSeries{}
 	rms := m.ResourceMetrics()
 	for i := 0; i < rms.Len(); i++ {
@@ -316,7 +316,7 @@ func (me *MetricsExporter) createServiceTimeSeries(ctx context.Context, ts []*mo
 	)
 }
 
-func (m *metricMapper) instrumentationScopeToLabels(is pdata.InstrumentationScope) labels {
+func (m *metricMapper) instrumentationScopeToLabels(is pcommon.InstrumentationScope) labels {
 	if !m.cfg.MetricConfig.InstrumentationLibraryLabels {
 		return labels{}
 	}
@@ -329,7 +329,7 @@ func (m *metricMapper) instrumentationScopeToLabels(is pdata.InstrumentationScop
 func (m *metricMapper) metricToTimeSeries(
 	resource *monitoredrespb.MonitoredResource,
 	extraLabels labels,
-	metric pdata.Metric,
+	metric pmetric.Metric,
 ) []*monitoringpb.TimeSeries {
 	timeSeries := []*monitoringpb.TimeSeries{}
 
@@ -379,9 +379,9 @@ func (m *metricMapper) metricToTimeSeries(
 func (m *metricMapper) summaryPointToTimeSeries(
 	resource *monitoredrespb.MonitoredResource,
 	extraLabels labels,
-	metric pdata.Metric,
-	sum pdata.Summary,
-	point pdata.SummaryDataPoint,
+	metric pmetric.Metric,
+	sum pmetric.Summary,
+	point pmetric.SummaryDataPoint,
 ) []*monitoringpb.TimeSeries {
 	if point.Flags().HasFlag(pmetric.MetricDataPointFlagNoRecordedValue) {
 		// Drop points without a value.
@@ -479,7 +479,7 @@ func (m *metricMapper) summaryPointToTimeSeries(
 	return result
 }
 
-func (m *metricMapper) exemplar(ex pdata.Exemplar) *distribution.Distribution_Exemplar {
+func (m *metricMapper) exemplar(ex pmetric.Exemplar) *distribution.Distribution_Exemplar {
 	ctx := context.TODO()
 	attachments := []*anypb.Any{}
 	// TODO: Look into still sending exemplars with no span.
@@ -515,7 +515,7 @@ func (m *metricMapper) exemplar(ex pdata.Exemplar) *distribution.Distribution_Ex
 	}
 }
 
-func (m *metricMapper) exemplars(exs pdata.ExemplarSlice) []*distribution.Distribution_Exemplar {
+func (m *metricMapper) exemplars(exs pmetric.ExemplarSlice) []*distribution.Distribution_Exemplar {
 	exemplars := make([]*distribution.Distribution_Exemplar, exs.Len())
 	for i := 0; i < exs.Len(); i++ {
 		exemplars[i] = m.exemplar(exs.At(i))
@@ -524,7 +524,7 @@ func (m *metricMapper) exemplars(exs pdata.ExemplarSlice) []*distribution.Distri
 }
 
 // histogramPoint maps a histogram data point into a GCM point.
-func (m *metricMapper) histogramPoint(point pdata.HistogramDataPoint) *monitoringpb.TypedValue {
+func (m *metricMapper) histogramPoint(point pmetric.HistogramDataPoint) *monitoringpb.TypedValue {
 	counts := make([]int64, len(point.BucketCounts()))
 	var mean, deviation, prevBound float64
 
@@ -572,7 +572,7 @@ func (m *metricMapper) histogramPoint(point pdata.HistogramDataPoint) *monitorin
 }
 
 // Maps an exponential distribution into a GCM point.
-func (m *metricMapper) exponentialHistogramPoint(point pdata.ExponentialHistogramDataPoint) *monitoringpb.TypedValue {
+func (m *metricMapper) exponentialHistogramPoint(point pmetric.ExponentialHistogramDataPoint) *monitoringpb.TypedValue {
 	// First calculate underflow bucket with all negatives + zeros.
 	underflow := point.ZeroCount()
 	for _, v := range point.Negative().BucketCounts() {
@@ -630,9 +630,9 @@ func (m *metricMapper) exponentialHistogramPoint(point pdata.ExponentialHistogra
 func (m *metricMapper) histogramToTimeSeries(
 	resource *monitoredrespb.MonitoredResource,
 	extraLabels labels,
-	metric pdata.Metric,
-	hist pdata.Histogram,
-	point pdata.HistogramDataPoint,
+	metric pmetric.Metric,
+	hist pmetric.Histogram,
+	point pmetric.HistogramDataPoint,
 ) []*monitoringpb.TimeSeries {
 	if point.Flags().HasFlag(pmetric.MetricDataPointFlagNoRecordedValue) || !point.HasSum() {
 		// Drop points without a value or without a sum
@@ -683,9 +683,9 @@ func (m *metricMapper) histogramToTimeSeries(
 func (m *metricMapper) exponentialHistogramToTimeSeries(
 	resource *monitoredrespb.MonitoredResource,
 	extraLabels labels,
-	metric pdata.Metric,
-	exponentialHist pdata.ExponentialHistogram,
-	point pdata.ExponentialHistogramDataPoint,
+	metric pmetric.Metric,
+	exponentialHist pmetric.ExponentialHistogram,
+	point pmetric.ExponentialHistogramDataPoint,
 ) []*monitoringpb.TimeSeries {
 	if point.Flags().HasFlag(pmetric.MetricDataPointFlagNoRecordedValue) {
 		// Drop points without a value.
@@ -735,9 +735,9 @@ func (m *metricMapper) exponentialHistogramToTimeSeries(
 func (m *metricMapper) sumPointToTimeSeries(
 	resource *monitoredrespb.MonitoredResource,
 	extraLabels labels,
-	metric pdata.Metric,
-	sum pdata.Sum,
-	point pdata.NumberDataPoint,
+	metric pmetric.Metric,
+	sum pmetric.Sum,
+	point pmetric.NumberDataPoint,
 ) []*monitoringpb.TimeSeries {
 	metricKind := metricpb.MetricDescriptor_CUMULATIVE
 	var startTime *timestamppb.Timestamp
@@ -792,9 +792,9 @@ func (m *metricMapper) sumPointToTimeSeries(
 func (m *metricMapper) gaugePointToTimeSeries(
 	resource *monitoredrespb.MonitoredResource,
 	extraLabels labels,
-	metric pdata.Metric,
-	gauge pdata.Gauge,
-	point pdata.NumberDataPoint,
+	metric pmetric.Metric,
+	gauge pmetric.Gauge,
+	point pmetric.NumberDataPoint,
 ) []*monitoringpb.TimeSeries {
 	if point.Flags().HasFlag(pmetric.MetricDataPointFlagNoRecordedValue) {
 		// Drop points without a value.
@@ -840,7 +840,7 @@ func (m *metricMapper) getMetricNamePrefix(name string) string {
 }
 
 // metricNameToType maps OTLP metric name to GCM metric type (aka name)
-func (m *metricMapper) metricNameToType(name string, metric pdata.Metric) (string, error) {
+func (m *metricMapper) metricNameToType(name string, metric pmetric.Metric) (string, error) {
 	metricName, err := m.cfg.MetricConfig.GetMetricName(name, metric)
 	if err != nil {
 		return "", err
@@ -849,12 +849,12 @@ func (m *metricMapper) metricNameToType(name string, metric pdata.Metric) (strin
 }
 
 // defaultGetMetricName does not (further) customize the baseName
-func defaultGetMetricName(baseName string, _ pdata.Metric) (string, error) {
+func defaultGetMetricName(baseName string, _ pmetric.Metric) (string, error) {
 	return baseName, nil
 }
 
 func numberDataPointToValue(
-	point pdata.NumberDataPoint,
+	point pmetric.NumberDataPoint,
 ) (*monitoringpb.TypedValue, metricpb.MetricDescriptor_ValueType) {
 	if point.ValueType() == pmetric.MetricValueTypeInt {
 		return &monitoringpb.TypedValue{Value: &monitoringpb.TypedValue_Int64Value{
@@ -868,9 +868,9 @@ func numberDataPointToValue(
 		metricpb.MetricDescriptor_DOUBLE
 }
 
-func attributesToLabels(attrs pdata.Map) labels {
+func attributesToLabels(attrs pcommon.Map) labels {
 	ls := make(labels, attrs.Len())
-	attrs.Range(func(k string, v pdata.Value) bool {
+	attrs.Range(func(k string, v pcommon.Value) bool {
 		ls[sanitizeKey(k)] = sanitizeUTF8(v.AsString())
 		return true
 	})
@@ -930,7 +930,7 @@ func (m *metricMapper) metricTypeToDisplayName(mURL string) string {
 
 // Returns label descriptors for a metric.
 func (m *metricMapper) labelDescriptors(
-	pm pdata.Metric,
+	pm pmetric.Metric,
 	extraLabels labels,
 ) []*label.LabelDescriptor {
 	// TODO - allow customization of label descriptions.
@@ -942,8 +942,8 @@ func (m *metricMapper) labelDescriptors(
 	}
 
 	seenKeys := map[string]struct{}{}
-	addAttributes := func(attr pdata.Map) {
-		attr.Range(func(key string, _ pdata.Value) bool {
+	addAttributes := func(attr pcommon.Map) {
+		attr.Range(func(key string, _ pcommon.Value) bool {
 			// Skip keys that have already been set
 			if _, ok := seenKeys[sanitizeKey(key)]; ok {
 				return true
@@ -986,7 +986,7 @@ func (m *metricMapper) labelDescriptors(
 }
 
 // Returns (sum, count, quantile) metric types (i.e. names) for a summary metric.
-func (m *metricMapper) summaryMetricTypes(pm pdata.Metric) (string, string, string, error) {
+func (m *metricMapper) summaryMetricTypes(pm pmetric.Metric) (string, string, string, error) {
 	sumType, err := m.metricNameToType(pm.Name()+SummarySumSuffix, pm)
 	if err != nil {
 		return "", "", "", err
@@ -1003,7 +1003,7 @@ func (m *metricMapper) summaryMetricTypes(pm pdata.Metric) (string, string, stri
 }
 
 func (m *metricMapper) summaryMetricDescriptors(
-	pm pdata.Metric,
+	pm pmetric.Metric,
 	extraLabels labels,
 ) []*metricpb.MetricDescriptor {
 	sumType, countType, quantileType, err := m.summaryMetricTypes(pm)
@@ -1050,7 +1050,7 @@ func (m *metricMapper) summaryMetricDescriptors(
 
 // Extract the metric descriptor from a metric data point.
 func (m *metricMapper) metricDescriptor(
-	pm pdata.Metric,
+	pm pmetric.Metric,
 	extraLabels labels,
 ) []*metricpb.MetricDescriptor {
 	if pm.DataType() == pmetric.MetricDataTypeSummary {
@@ -1092,7 +1092,7 @@ func metricPointValueType(pt pmetric.MetricValueType) metricpb.MetricDescriptor_
 	}
 }
 
-func mapMetricPointKind(m pdata.Metric) (metricpb.MetricDescriptor_MetricKind, metricpb.MetricDescriptor_ValueType) {
+func mapMetricPointKind(m pmetric.Metric) (metricpb.MetricDescriptor_MetricKind, metricpb.MetricDescriptor_ValueType) {
 	var kind metricpb.MetricDescriptor_MetricKind
 	var typ metricpb.MetricDescriptor_ValueType
 	switch m.DataType() {
diff --git a/exporter/collector/monitoredresource.go b/exporter/collector/monitoredresource.go
index c4819b5..92a313e 100644
--- a/exporter/collector/monitoredresource.go
+++ b/exporter/collector/monitoredresource.go
@@ -17,16 +17,15 @@ package collector
 import (
 	"strings"
 
-	"go.opentelemetry.io/collector/model/pdata"
-	semconv "go.opentelemetry.io/collector/model/semconv/v1.8.0"
 	"go.opentelemetry.io/collector/pdata/pcommon"
+	semconv "go.opentelemetry.io/collector/semconv/v1.8.0"
 	monitoredrespb "google.golang.org/genproto/googleapis/api/monitoredres"
 
 	"github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping"
 )
 
 type attributes struct {
-	Attrs *pdata.Map
+	Attrs *pcommon.Map
 }
 
 func (attrs *attributes) GetString(key string) (string, bool) {
@@ -38,7 +37,7 @@ func (attrs *attributes) GetString(key string) (string, bool) {
 }
 
 // defaultResourceToMonitoredResource pdata Resource to a GCM Monitored Resource.
-func defaultResourceToMonitoredResource(resource pdata.Resource) *monitoredrespb.MonitoredResource {
+func defaultResourceToMonitoredResource(resource pcommon.Resource) *monitoredrespb.MonitoredResource {
 	attrs := resource.Attributes()
 	gmr := resourcemapping.ResourceAttributesToMonitoredResource(&attributes{
 		Attrs: &attrs,
@@ -57,10 +56,10 @@ func defaultResourceToMonitoredResource(resource pdata.Resource) *monitoredrespb
 // resourceToMetricLabels converts the Resource into metric labels needed to uniquely identify
 // the timeseries.
 func (m *metricMapper) resourceToMetricLabels(
-	resource pdata.Resource,
+	resource pcommon.Resource,
 ) labels {
 	attrs := pcommon.NewMap()
-	resource.Attributes().Range(func(k string, v pdata.Value) bool {
+	resource.Attributes().Range(func(k string, v pcommon.Value) bool {
 		// Is a service attribute and should be included
 		if m.cfg.MetricConfig.ServiceResourceLabels &&
 			(k == semconv.AttributeServiceName ||
diff --git a/exporter/collector/spandata.go b/exporter/collector/spandata.go
index cfbd403..bce9ede 100644
--- a/exporter/collector/spandata.go
+++ b/exporter/collector/spandata.go
@@ -18,7 +18,6 @@ import (
 	"context"
 	"time"
 
-	"go.opentelemetry.io/collector/model/pdata"
 	"go.opentelemetry.io/collector/pdata/pcommon"
 	"go.opentelemetry.io/collector/pdata/ptrace"
 	"go.opentelemetry.io/otel/attribute"
@@ -29,7 +28,7 @@ import (
 	apitrace "go.opentelemetry.io/otel/trace"
 )
 
-func pdataResourceSpansToOTSpanData(rs pdata.ResourceSpans) []sdktrace.ReadOnlySpan {
+func pdataResourceSpansToOTSpanData(rs ptrace.ResourceSpans) []sdktrace.ReadOnlySpan {
 	resource := rs.Resource()
 	var sds []sdktrace.ReadOnlySpan
 	ss := rs.ScopeSpans()
@@ -46,9 +45,9 @@ func pdataResourceSpansToOTSpanData(rs pdata.ResourceSpans) []sdktrace.ReadOnlyS
 }
 
 func pdataSpanToOTSpanData(
-	span pdata.Span,
-	resource pdata.Resource,
-	is pdata.InstrumentationScope,
+	span ptrace.Span,
+	resource pcommon.Resource,
+	is pcommon.InstrumentationScope,
 ) spanSnapshot {
 	sc := apitrace.SpanContextConfig{
 		TraceID: span.TraceID().Bytes(),
@@ -122,10 +121,10 @@ func pdataStatusCodeToOTCode(c ptrace.StatusCode) codes.Code {
 	}
 }
 
-func pdataAttributesToOTAttributes(attrs pdata.Map, resource pdata.Resource) []attribute.KeyValue {
+func pdataAttributesToOTAttributes(attrs pcommon.Map, resource pcommon.Resource) []attribute.KeyValue {
 	otAttrs := make([]attribute.KeyValue, 0, attrs.Len())
-	appendAttrs := func(m pdata.Map) {
-		m.Range(func(k string, v pdata.Value) bool {
+	appendAttrs := func(m pcommon.Map) {
+		m.Range(func(k string, v pcommon.Value) bool {
 			switch v.Type() {
 			case pcommon.ValueTypeString:
 				otAttrs = append(otAttrs, attribute.String(k, v.StringVal()))
@@ -144,7 +143,7 @@ func pdataAttributesToOTAttributes(attrs pdata.Map, resource pdata.Resource) []a
 	return otAttrs
 }
 
-func pdataLinksToOTLinks(links pdata.SpanLinkSlice) []sdktrace.Link {
+func pdataLinksToOTLinks(links ptrace.SpanLinkSlice) []sdktrace.Link {
 	size := links.Len()
 	otLinks := make([]sdktrace.Link, 0, size)
 	for i := 0; i < size; i++ {
@@ -154,20 +153,20 @@ func pdataLinksToOTLinks(links pdata.SpanLinkSlice) []sdktrace.Link {
 		sc.SpanID = link.SpanID().Bytes()
 		otLinks = append(otLinks, sdktrace.Link{
 			SpanContext: apitrace.NewSpanContext(sc),
-			Attributes:  pdataAttributesToOTAttributes(link.Attributes(), pdata.NewResource()),
+			Attributes:  pdataAttributesToOTAttributes(link.Attributes(), pcommon.NewResource()),
 		})
 	}
 	return otLinks
 }
 
-func pdataEventsToOTMessageEvents(events pdata.SpanEventSlice) []sdktrace.Event {
+func pdataEventsToOTMessageEvents(events ptrace.SpanEventSlice) []sdktrace.Event {
 	size := events.Len()
 	otEvents := make([]sdktrace.Event, 0, size)
 	for i := 0; i < size; i++ {
 		event := events.At(i)
 		otEvents = append(otEvents, sdktrace.Event{
 			Name:       event.Name(),
-			Attributes: pdataAttributesToOTAttributes(event.Attributes(), pdata.NewResource()),
+			Attributes: pdataAttributesToOTAttributes(event.Attributes(), pcommon.NewResource()),
 			Time:       time.Unix(0, int64(event.Timestamp())),
 		})
 	}
diff --git a/exporter/collector/traces.go b/exporter/collector/traces.go
index a626de7..e6334cd 100644
--- a/exporter/collector/traces.go
+++ b/exporter/collector/traces.go
@@ -26,7 +26,7 @@ import (
 	traceapi "cloud.google.com/go/trace/apiv2"
 	"go.opencensus.io/plugin/ocgrpc"
 	"go.opencensus.io/stats/view"
-	"go.opentelemetry.io/collector/model/pdata"
+	"go.opentelemetry.io/collector/pdata/ptrace"
 	"go.opentelemetry.io/otel/attribute"
 	sdktrace "go.opentelemetry.io/otel/sdk/trace"
 	"golang.org/x/oauth2/google"
@@ -140,7 +140,7 @@ func mappingFuncFromAKM(akm []AttributeMapping) func(attribute.Key) attribute.Ke
 }
 
 // PushTraces calls texporter.ExportSpan for each span in the given traces
-func (te *TraceExporter) PushTraces(ctx context.Context, td pdata.Traces) error {
+func (te *TraceExporter) PushTraces(ctx context.Context, td ptrace.Traces) error {
 	resourceSpans := td.ResourceSpans()
 	spans := make([]sdktrace.ReadOnlySpan, 0, td.SpanCount())
 	for i := 0; i < resourceSpans.Len(); i++ {


Test patch:
diff --git a/exporter/collector/googlemanagedprometheus/monitoredresource_test.go b/exporter/collector/googlemanagedprometheus/monitoredresource_test.go
index ca3c1a3..8c382e4 100644
--- a/exporter/collector/googlemanagedprometheus/monitoredresource_test.go
+++ b/exporter/collector/googlemanagedprometheus/monitoredresource_test.go
@@ -18,7 +18,7 @@ import (
 	"testing"
 
 	"github.com/stretchr/testify/assert"
-	"go.opentelemetry.io/collector/model/pdata"
+	"go.opentelemetry.io/collector/pdata/pcommon"
 	monitoredrespb "google.golang.org/genproto/googleapis/api/monitoredres"
 )
 
@@ -122,7 +122,7 @@ func TestMapToPrometheusTarget(t *testing.T) {
 		},
 	} {
 		t.Run(tc.desc, func(t *testing.T) {
-			r := pdata.NewResource()
+			r := pcommon.NewResource()
 			for k, v := range tc.resourceLabels {
 				r.Attributes().InsertString(k, v)
 			}
diff --git a/exporter/collector/googlemanagedprometheus/naming_test.go b/exporter/collector/googlemanagedprometheus/naming_test.go
index 055942d..de8ae10 100644
--- a/exporter/collector/googlemanagedprometheus/naming_test.go
+++ b/exporter/collector/googlemanagedprometheus/naming_test.go
@@ -17,7 +17,6 @@ package googlemanagedprometheus
 import (
 	"testing"
 
-	"go.opentelemetry.io/collector/model/pdata"
 	"go.opentelemetry.io/collector/pdata/pmetric"
 )
 
@@ -86,7 +85,7 @@ func TestGetMetricName(t *testing.T) {
 		},
 	} {
 		t.Run(tc.desc, func(t *testing.T) {
-			metric := pdata.NewMetric()
+			metric := pmetric.NewMetric()
 			metric.SetDataType(tc.datatype)
 			got, err := GetMetricName(tc.baseName, metric)
 			if tc.expectErr == (err == nil) {
diff --git a/exporter/collector/integrationtest/go.mod b/exporter/collector/integrationtest/go.mod
index 23951cd..afe1738 100644
--- a/exporter/collector/integrationtest/go.mod
+++ b/exporter/collector/integrationtest/go.mod
@@ -10,7 +10,6 @@ require (
 	github.com/stretchr/testify v1.7.1
 	go.opencensus.io v0.23.0
 	go.opentelemetry.io/collector v0.49.0
-	go.opentelemetry.io/collector/model v0.49.0
 	go.opentelemetry.io/collector/pdata v0.49.0
 	go.uber.org/zap v1.21.0
 	google.golang.org/api v0.74.0
@@ -43,6 +42,7 @@ require (
 	github.com/mitchellh/mapstructure v1.4.3 // indirect
 	github.com/mitchellh/reflectwalk v1.0.2 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
+	go.opentelemetry.io/collector/semconv v0.51.0 // indirect
 	go.opentelemetry.io/otel v1.6.3 // indirect
 	go.opentelemetry.io/otel/metric v0.29.0 // indirect
 	go.opentelemetry.io/otel/sdk v1.6.3 // indirect
diff --git a/exporter/collector/integrationtest/go.sum b/exporter/collector/integrationtest/go.sum
index a53b5e6..93a1668 100644
--- a/exporter/collector/integrationtest/go.sum
+++ b/exporter/collector/integrationtest/go.sum
@@ -318,10 +318,10 @@ go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
 go.opentelemetry.io/collector v0.49.0 h1:brKMIUwlL1bt0Faxqqxvj7549KWm9FEN77Z4i4RAlDE=
 go.opentelemetry.io/collector v0.49.0/go.mod h1:ErYGC1VzzrpK/uM134DJIbARX3jl9vtTqgIXsiWxjGE=
-go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c=
-go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw=
 go.opentelemetry.io/collector/pdata v0.49.0 h1:aYj5rOlRC0x7lGXbc185LMsMMoY/pjOTXr5s1O2SzXs=
 go.opentelemetry.io/collector/pdata v0.49.0/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY=
+go.opentelemetry.io/collector/semconv v0.51.0 h1:Almgp3RZKDZNIp5491LfQ/oF2GG5gPK14IghjUxgkPg=
+go.opentelemetry.io/collector/semconv v0.51.0/go.mod h1:SxK0rUnUP7YeDakexzbE/vhimTOHwE6m/4aKKd9e27Q=
 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0 h1:li8u9OSMvLau7rMs8bmiL82OazG6MAkwPz2i6eS8TBQ=
 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0 h1:woM+Mb4d0A+Dxa3rYPenSN5ZeS9qHUvE8rlObiLRXTY=
 go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE=
diff --git a/exporter/collector/integrationtest/testcase.go b/exporter/collector/integrationtest/testcase.go
index f009375..7b75cb9 100644
--- a/exporter/collector/integrationtest/testcase.go
+++ b/exporter/collector/integrationtest/testcase.go
@@ -28,8 +28,6 @@ import (
 	monitoringpb "google.golang.org/genproto/googleapis/monitoring/v3"
 
 	"github.com/stretchr/testify/require"
-	"go.opentelemetry.io/collector/model/otlp"
-	"go.opentelemetry.io/collector/model/pdata"
 	"go.opentelemetry.io/collector/pdata/pcommon"
 	"go.opentelemetry.io/collector/pdata/plog"
 	"go.opentelemetry.io/collector/pdata/pmetric"
@@ -142,25 +140,25 @@ func (tc *TestCase) LoadOTLPMetricsInput(
 	t testing.TB,
 	startTime time.Time,
 	endTime time.Time,
-) pdata.Metrics {
+) pmetric.Metrics {
 	bytes, err := ioutil.ReadFile(tc.OTLPInputFixturePath)
 	require.NoError(t, err)
-	metrics, err := otlp.NewJSONMetricsUnmarshaler().UnmarshalMetrics(bytes)
+	metrics, err := pmetric.NewJSONUnmarshaler().UnmarshalMetrics(bytes)
 	require.NoError(t, err)
 
 	// Interface with common fields that pdata metric points have
 	type point interface {
-		StartTimestamp() pdata.Timestamp
-		Timestamp() pdata.Timestamp
-		SetStartTimestamp(pdata.Timestamp)
-		SetTimestamp(pdata.Timestamp)
+		StartTimestamp() pcommon.Timestamp
+		Timestamp() pcommon.Timestamp
+		SetStartTimestamp(pcommon.Timestamp)
+		SetTimestamp(pcommon.Timestamp)
 	}
 	updatePoint := func(p point) {
 		if p.StartTimestamp() != 0 {
-			p.SetStartTimestamp(pdata.NewTimestampFromTime(startTime))
+			p.SetStartTimestamp(pcommon.NewTimestampFromTime(startTime))
 		}
 		if p.Timestamp() != 0 {
-			p.SetTimestamp(pdata.NewTimestampFromTime(endTime))
+			p.SetTimestamp(pcommon.NewTimestampFromTime(endTime))
 		}
 	}
 
diff --git a/exporter/collector/internal/datapointstorage/datapointcache_test.go b/exporter/collector/internal/datapointstorage/datapointcache_test.go
index 8cf743d..124ee01 100644
--- a/exporter/collector/internal/datapointstorage/datapointcache_test.go
+++ b/exporter/collector/internal/datapointstorage/datapointcache_test.go
@@ -19,8 +19,8 @@ import (
 	"time"
 
 	"github.com/stretchr/testify/assert"
-	"go.opentelemetry.io/collector/model/pdata"
 	"go.opentelemetry.io/collector/pdata/pcommon"
+	"go.opentelemetry.io/collector/pdata/pmetric"
 	monitoredrespb "google.golang.org/genproto/googleapis/api/monitoredres"
 )
 
@@ -38,7 +38,7 @@ func TestSetAndGet(t *testing.T) {
 	point, found = c.GetNumberDataPoint("bar")
 	assert.Nil(t, point)
 	assert.False(t, found)
-	setPoint := pdata.NewNumberDataPoint()
+	setPoint := pmetric.NewNumberDataPoint()
 	c.SetNumberDataPoint("bar", &setPoint)
 	point, found = c.GetNumberDataPoint("bar")
 	assert.Equal(t, point, &setPoint)
@@ -106,7 +106,7 @@ func TestGetPreventsGC(t *testing.T) {
 	}
 	fakeTicker := make(chan time.Time)
 
-	setPoint := pdata.NewNumberDataPoint()
+	setPoint := pmetric.NewNumberDataPoint()
 	c.SetNumberDataPoint("bar", &setPoint)
 	// bar exists since we just set it
 	_, found := c.numberCache["bar"]
@@ -131,9 +131,9 @@ func TestGetPreventsGC(t *testing.T) {
 }
 
 func TestIdentifier(t *testing.T) {
-	metricWithName := pdata.NewMetric()
+	metricWithName := pmetric.NewMetric()
 	metricWithName.SetName("custom.googleapis.com/test.metric")
-	dpWithAttributes := pdata.NewNumberDataPoint()
+	dpWithAttributes := pmetric.NewNumberDataPoint()
 	dpWithAttributes.Attributes().Insert("string", pcommon.NewValueString("strval"))
 	dpWithAttributes.Attributes().Insert("bool", pcommon.NewValueBool(true))
 	dpWithAttributes.Attributes().Insert("int", pcommon.NewValueInt(123))
@@ -153,39 +153,39 @@ func TestIdentifier(t *testing.T) {
 		want        string
 		resource    *monitoredrespb.MonitoredResource
 		extraLabels map[string]string
-		metric      pdata.Metric
-		labels      pdata.Map
+		metric      pmetric.Metric
+		labels      pcommon.Map
 	}{
 		{
 			desc:   "empty",
 			want:   " - map[] -  -",
-			metric: pdata.NewMetric(),
-			labels: pdata.NewNumberDataPoint().Attributes(),
+			metric: pmetric.NewMetric(),
+			labels: pmetric.NewNumberDataPoint().Attributes(),
 		},
 		{
 			desc:   "with name",
 			want:   " - map[] - custom.googleapis.com/test.metric -",
 			metric: metricWithName,
-			labels: pdata.NewNumberDataPoint().Attributes(),
+			labels: pmetric.NewNumberDataPoint().Attributes(),
 		},
 		{
 			desc:   "with attributes",
 			want:   " - map[] -  - bool=true int=123 string=strval",
-			metric: pdata.NewMetric(),
+			metric: pmetric.NewMetric(),
 			labels: dpWithAttributes.Attributes(),
 		},
 		{
 			desc:     "with resource",
 			want:     "map[location:us-central1-b project:project-foo] - map[] -  -",
 			resource: monitoredResource,
-			metric:   pdata.NewMetric(),
-			labels:   pdata.NewNumberDataPoint().Attributes(),
+			metric:   pmetric.NewMetric(),
+			labels:   pmetric.NewNumberDataPoint().Attributes(),
 		},
 		{
 			desc:        "with extra labels",
 			want:        " - map[foo:bar hello:world] -  -",
-			metric:      pdata.NewMetric(),
-			labels:      pdata.NewNumberDataPoint().Attributes(),
+			metric:      pmetric.NewMetric(),
+			labels:      pmetric.NewNumberDataPoint().Attributes(),
 			extraLabels: extraLabels,
 		},
 		{
diff --git a/exporter/collector/metrics_test.go b/exporter/collector/metrics_test.go
index 2d5ce8f..509b651 100644
--- a/exporter/collector/metrics_test.go
+++ b/exporter/collector/metrics_test.go
@@ -23,7 +23,6 @@ import (
 	"github.com/google/go-cmp/cmp"
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
-	"go.opentelemetry.io/collector/model/pdata"
 	"go.opentelemetry.io/collector/pdata/pcommon"
 	"go.opentelemetry.io/collector/pdata/pmetric"
 	"go.uber.org/zap"
@@ -59,13 +58,13 @@ func TestMetricToTimeSeries(t *testing.T) {
 	t.Run("Sum", func(t *testing.T) {
 		mapper, shutdown := newTestMetricMapper()
 		defer shutdown()
-		metric := pdata.NewMetric()
+		metric := pmetric.NewMetric()
 		metric.SetDataType(pmetric.MetricDataTypeSum)
 		sum := metric.Sum()
 		sum.SetIsMonotonic(true)
 		sum.SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative)
-		startTs := pdata.NewTimestampFromTime(start)
-		endTs := pdata.NewTimestampFromTime(start.Add(time.Hour))
+		startTs := pcommon.NewTimestampFromTime(start)
+		endTs := pcommon.NewTimestampFromTime(start.Add(time.Hour))
 		// Add three points
 		point := sum.DataPoints().AppendEmpty()
 		point.SetDoubleVal(10)
@@ -92,14 +91,14 @@ func TestMetricToTimeSeries(t *testing.T) {
 	t.Run("Sum without timestamps", func(t *testing.T) {
 		mapper, shutdown := newTestMetricMapper()
 		defer shutdown()
-		metric := pdata.NewMetric()
+		metric := pmetric.NewMetric()
 		metric.SetDataType(pmetric.MetricDataTypeSum)
 		sum := metric.Sum()
 		sum.SetIsMonotonic(true)
 		sum.SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative)
-		zeroTs := pdata.Timestamp(0)
-		startTs := pdata.NewTimestampFromTime(start)
-		endTs := pdata.NewTimestampFromTime(start.Add(time.Hour))
+		zeroTs := pcommon.Timestamp(0)
+		startTs := pcommon.NewTimestampFromTime(start)
+		endTs := pcommon.NewTimestampFromTime(start.Add(time.Hour))
 		// Add three points without start timestamps.
 		// The first one should be dropped to set the start timestamp for the rest
 		point := sum.DataPoints().AppendEmpty()
@@ -129,14 +128,14 @@ func TestMetricToTimeSeries(t *testing.T) {
 	t.Run("Sum with reset timestamp", func(t *testing.T) {
 		mapper, shutdown := newTestMetricMapper()
 		defer shutdown()
-		metric := pdata.NewMetric()
+		metric := pmetric.NewMetric()
 		metric.SetDataType(pmetric.MetricDataTypeSum)
 		sum := metric.Sum()
 		sum.SetIsMonotonic(true)
 		sum.SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative)
-		startTs := pdata.NewTimestampFromTime(start)
-		middleTs := pdata.NewTimestampFromTime(start.Add(30 * time.Minute))
-		endTs := pdata.NewTimestampFromTime(start.Add(time.Hour))
+		startTs := pcommon.NewTimestampFromTime(start)
+		middleTs := pcommon.NewTimestampFromTime(start.Add(30 * time.Minute))
+		endTs := pcommon.NewTimestampFromTime(start.Add(time.Hour))
 		// Add three points
 		point := sum.DataPoints().AppendEmpty()
 		point.SetDoubleVal(10)
@@ -166,13 +165,13 @@ func TestMetricToTimeSeries(t *testing.T) {
 	t.Run("Sum with no value", func(t *testing.T) {
 		mapper, shutdown := newTestMetricMapper()
 		defer shutdown()
-		metric := pdata.NewMetric()
+		metric := pmetric.NewMetric()
 		metric.SetDataType(pmetric.MetricDataTypeSum)
 		sum := metric.Sum()
 		sum.SetIsMonotonic(true)
 		sum.SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative)
-		startTs := pdata.NewTimestampFromTime(start)
-		endTs := pdata.NewTimestampFromTime(start.Add(time.Hour))
+		startTs := pcommon.NewTimestampFromTime(start)
+		endTs := pcommon.NewTimestampFromTime(start.Add(time.Hour))
 		// Add three points
 		point := sum.DataPoints().AppendEmpty()
 		point.SetDoubleVal(10)
@@ -198,7 +197,7 @@ func TestMetricToTimeSeries(t *testing.T) {
 	t.Run("Gauge", func(t *testing.T) {
 		mapper, shutdown := newTestMetricMapper()
 		defer shutdown()
-		metric := pdata.NewMetric()
+		metric := pmetric.NewMetric()
 		metric.SetDataType(pmetric.MetricDataTypeGauge)
 		gauge := metric.Gauge()
 		// Add three points
@@ -218,7 +217,7 @@ func TestMetricToTimeSeries(t *testing.T) {
 	t.Run("Gauge with no value", func(t *testing.T) {
 		mapper, shutdown := newTestMetricMapper()
 		defer shutdown()
-		metric := pdata.NewMetric()
+		metric := pmetric.NewMetric()
 		metric.SetDataType(pmetric.MetricDataTypeGauge)
 		gauge := metric.Gauge()
 		// Add three points
@@ -260,7 +259,7 @@ func TestHistogramPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myhist")
 	metric.SetDataType(pmetric.MetricDataTypeHistogram)
 	unit := "1"
@@ -268,17 +267,17 @@ func TestHistogramPointToTimeSeries(t *testing.T) {
 	hist := metric.Histogram()
 	point := hist.DataPoints().AppendEmpty()
 	end := start.Add(time.Hour)
-	point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.SetBucketCounts([]uint64{1, 2, 3, 4, 5})
 	point.SetCount(15)
 	point.SetSum(42)
 	point.SetExplicitBounds([]float64{10, 20, 30, 40})
 	exemplar := point.Exemplars().AppendEmpty()
 	exemplar.SetDoubleVal(2)
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(end))
-	exemplar.SetTraceID(pdata.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
-	exemplar.SetSpanID(pdata.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(end))
+	exemplar.SetTraceID(pcommon.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
+	exemplar.SetSpanID(pcommon.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
 	exemplar.FilteredAttributes().InsertString("test", "extra")
 
 	tsl := mapper.histogramToTimeSeries(mr, labels{}, metric, hist, point)
@@ -327,7 +326,7 @@ func TestHistogramPointWithoutTimestampToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myhist")
 	metric.SetDataType(pmetric.MetricDataTypeHistogram)
 	unit := "1"
@@ -336,48 +335,48 @@ func TestHistogramPointWithoutTimestampToTimeSeries(t *testing.T) {
 	hist.SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative)
 	point := hist.DataPoints().AppendEmpty()
 	// leave start time unset with the intended start time
-	point.SetTimestamp(pdata.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(start))
 	point.SetBucketCounts([]uint64{1, 0, 0, 0, 0})
 	point.SetCount(1)
 	point.SetSum(2)
 	point.SetExplicitBounds([]float64{10, 20, 30, 40})
 	exemplar := point.Exemplars().AppendEmpty()
 	exemplar.SetDoubleVal(2)
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(start))
-	exemplar.SetTraceID(pdata.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
-	exemplar.SetSpanID(pdata.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(start))
+	exemplar.SetTraceID(pcommon.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
+	exemplar.SetSpanID(pcommon.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
 	exemplar.FilteredAttributes().InsertString("test", "extra")
 
 	// second point
 	point = hist.DataPoints().AppendEmpty()
 	end := start.Add(time.Hour)
 	// leave start time unset
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.SetBucketCounts([]uint64{2, 2, 3, 4, 5})
 	point.SetCount(16)
 	point.SetSum(44)
 	point.SetExplicitBounds([]float64{10, 20, 30, 40})
 	exemplar = point.Exemplars().AppendEmpty()
 	exemplar.SetDoubleVal(2)
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(end))
-	exemplar.SetTraceID(pdata.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
-	exemplar.SetSpanID(pdata.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(end))
+	exemplar.SetTraceID(pcommon.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
+	exemplar.SetSpanID(pcommon.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
 	exemplar.FilteredAttributes().InsertString("test", "extra")
 
 	// third point
 	point = hist.DataPoints().AppendEmpty()
 	end2 := end.Add(time.Hour)
 	// leave start time unset
-	point.SetTimestamp(pdata.NewTimestampFromTime(end2))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end2))
 	point.SetBucketCounts([]uint64{3, 2, 3, 4, 5})
 	point.SetCount(17)
 	point.SetSum(445)
 	point.SetExplicitBounds([]float64{10, 20, 30, 40})
 	exemplar = point.Exemplars().AppendEmpty()
 	exemplar.SetDoubleVal(2)
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(end2))
-	exemplar.SetTraceID(pdata.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
-	exemplar.SetSpanID(pdata.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(end2))
+	exemplar.SetTraceID(pcommon.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
+	exemplar.SetSpanID(pcommon.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
 	exemplar.FilteredAttributes().InsertString("test", "extra")
 
 	tsl := mapper.metricToTimeSeries(mr, labels{}, metric)
@@ -464,7 +463,7 @@ func TestNoValueHistogramPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myhist")
 	metric.SetDataType(pmetric.MetricDataTypeHistogram)
 	unit := "1"
@@ -473,8 +472,8 @@ func TestNoValueHistogramPointToTimeSeries(t *testing.T) {
 	point := hist.DataPoints().AppendEmpty()
 	point.SetFlags(pmetric.MetricDataPointFlags(pmetric.MetricDataPointFlagNoRecordedValue))
 	end := start.Add(time.Hour)
-	point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.SetBucketCounts([]uint64{1, 2, 3, 4, 5})
 	point.SetCount(15)
 	point.SetSum(42)
@@ -490,7 +489,7 @@ func TestNoSumHistogramPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myhist")
 	metric.SetDataType(pmetric.MetricDataTypeHistogram)
 	unit := "1"
@@ -498,8 +497,8 @@ func TestNoSumHistogramPointToTimeSeries(t *testing.T) {
 	hist := metric.Histogram()
 	point := hist.DataPoints().AppendEmpty()
 	end := start.Add(time.Hour)
-	point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.SetBucketCounts([]uint64{1, 2, 3, 4, 5})
 	point.SetCount(15)
 	// Leave the sum unset
@@ -515,7 +514,7 @@ func TestEmptyHistogramPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myhist")
 	metric.SetDataType(pmetric.MetricDataTypeHistogram)
 	unit := "1"
@@ -523,8 +522,8 @@ func TestEmptyHistogramPointToTimeSeries(t *testing.T) {
 	hist := metric.Histogram()
 	point := hist.DataPoints().AppendEmpty()
 	end := start.Add(time.Hour)
-	point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.SetBucketCounts([]uint64{0, 0, 0, 0, 0})
 	point.SetCount(0)
 	point.SetSum(0)
@@ -562,7 +561,7 @@ func TestNaNSumHistogramPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myhist")
 	metric.SetDataType(pmetric.MetricDataTypeHistogram)
 	unit := "1"
@@ -570,8 +569,8 @@ func TestNaNSumHistogramPointToTimeSeries(t *testing.T) {
 	hist := metric.Histogram()
 	point := hist.DataPoints().AppendEmpty()
 	end := start.Add(time.Hour)
-	point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.SetBucketCounts([]uint64{1, 2, 3, 4, 5})
 	point.SetCount(15)
 	point.SetSum(math.NaN())
@@ -609,7 +608,7 @@ func TestExponentialHistogramPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myexphist")
 	metric.SetDataType(pmetric.MetricDataTypeExponentialHistogram)
 	unit := "1"
@@ -617,8 +616,8 @@ func TestExponentialHistogramPointToTimeSeries(t *testing.T) {
 	hist := metric.ExponentialHistogram()
 	point := hist.DataPoints().AppendEmpty()
 	end := start.Add(time.Hour)
-	point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.Positive().SetBucketCounts([]uint64{1, 2, 3})
 	point.Negative().SetBucketCounts([]uint64{4, 5})
 	point.SetZeroCount(6)
@@ -627,9 +626,9 @@ func TestExponentialHistogramPointToTimeSeries(t *testing.T) {
 	point.SetSum(42)
 	exemplar := point.Exemplars().AppendEmpty()
 	exemplar.SetDoubleVal(2)
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(end))
-	exemplar.SetTraceID(pdata.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
-	exemplar.SetSpanID(pdata.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(end))
+	exemplar.SetTraceID(pcommon.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
+	exemplar.SetSpanID(pcommon.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
 	exemplar.FilteredAttributes().InsertString("test", "extra")
 
 	// Add a second point with no value
@@ -682,7 +681,7 @@ func TestExponentialHistogramPointWithoutStartTimeToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myexphist")
 	metric.SetDataType(pmetric.MetricDataTypeExponentialHistogram)
 	unit := "1"
@@ -693,7 +692,7 @@ func TestExponentialHistogramPointWithoutStartTimeToTimeSeries(t *testing.T) {
 	// First point will be dropped, since it has no start time.
 	point := hist.DataPoints().AppendEmpty()
 	// Omit start timestamp
-	point.SetTimestamp(pdata.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(start))
 	point.Positive().SetOffset(2)
 	point.Positive().SetBucketCounts([]uint64{1, 1, 1})
 	point.Negative().SetOffset(1)
@@ -704,16 +703,16 @@ func TestExponentialHistogramPointWithoutStartTimeToTimeSeries(t *testing.T) {
 	point.SetSum(10)
 	exemplar := point.Exemplars().AppendEmpty()
 	exemplar.SetDoubleVal(2)
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(start))
-	exemplar.SetTraceID(pdata.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
-	exemplar.SetSpanID(pdata.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(start))
+	exemplar.SetTraceID(pcommon.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
+	exemplar.SetSpanID(pcommon.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
 	exemplar.FilteredAttributes().InsertString("test", "extra")
 
 	// Second point
 	point = hist.DataPoints().AppendEmpty()
 	end := start.Add(time.Hour)
 	// Omit start timestamp
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.Positive().SetOffset(1)
 	point.Positive().SetBucketCounts([]uint64{1, 2, 3, 4})
 	point.Negative().SetOffset(0)
@@ -724,16 +723,16 @@ func TestExponentialHistogramPointWithoutStartTimeToTimeSeries(t *testing.T) {
 	point.SetSum(56)
 	exemplar = point.Exemplars().AppendEmpty()
 	exemplar.SetDoubleVal(2)
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(end))
-	exemplar.SetTraceID(pdata.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
-	exemplar.SetSpanID(pdata.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(end))
+	exemplar.SetTraceID(pcommon.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
+	exemplar.SetSpanID(pcommon.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
 	exemplar.FilteredAttributes().InsertString("test", "extra")
 
 	// Third point
 	point = hist.DataPoints().AppendEmpty()
 	end2 := end.Add(time.Hour)
 	// Omit start timestamp
-	point.SetTimestamp(pdata.NewTimestampFromTime(end2))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end2))
 	point.Positive().SetOffset(0)
 	point.Positive().SetBucketCounts([]uint64{1, 1, 3, 4, 5})
 	point.Negative().SetOffset(0)
@@ -744,9 +743,9 @@ func TestExponentialHistogramPointWithoutStartTimeToTimeSeries(t *testing.T) {
 	point.SetSum(72)
 	exemplar = point.Exemplars().AppendEmpty()
 	exemplar.SetDoubleVal(2)
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(end2))
-	exemplar.SetTraceID(pdata.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
-	exemplar.SetSpanID(pdata.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(end2))
+	exemplar.SetTraceID(pcommon.NewTraceID([16]byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6}))
+	exemplar.SetSpanID(pcommon.NewSpanID([8]byte{0, 1, 2, 3, 4, 5, 6, 7}))
 	exemplar.FilteredAttributes().InsertString("test", "extra")
 
 	tsl := mapper.metricToTimeSeries(mr, labels{}, metric)
@@ -837,7 +836,7 @@ func TestNaNSumExponentialHistogramPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myexphist")
 	metric.SetDataType(pmetric.MetricDataTypeExponentialHistogram)
 	unit := "1"
@@ -845,8 +844,8 @@ func TestNaNSumExponentialHistogramPointToTimeSeries(t *testing.T) {
 	hist := metric.ExponentialHistogram()
 	point := hist.DataPoints().AppendEmpty()
 	end := start.Add(time.Hour)
-	point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.Positive().SetBucketCounts([]uint64{1, 2, 3})
 	point.Negative().SetBucketCounts([]uint64{4, 5})
 	point.SetZeroCount(6)
@@ -887,7 +886,7 @@ func TestZeroCountExponentialHistogramPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mapper.cfg.ProjectID = "myproject"
 	mr := &monitoredrespb.MonitoredResource{}
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetName("myexphist")
 	metric.SetDataType(pmetric.MetricDataTypeExponentialHistogram)
 	unit := "1"
@@ -895,8 +894,8 @@ func TestZeroCountExponentialHistogramPointToTimeSeries(t *testing.T) {
 	hist := metric.ExponentialHistogram()
 	point := hist.DataPoints().AppendEmpty()
 	end := start.Add(time.Hour)
-	point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 	point.Positive().SetBucketCounts([]uint64{0, 0, 0})
 	point.Negative().SetBucketCounts([]uint64{0, 0})
 	point.SetZeroCount(0)
@@ -935,8 +934,8 @@ func TestZeroCountExponentialHistogramPointToTimeSeries(t *testing.T) {
 func TestExemplarNoAttachements(t *testing.T) {
 	mapper, shutdown := newTestMetricMapper()
 	defer shutdown()
-	exemplar := pdata.NewExemplar()
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(start))
+	exemplar := pmetric.NewExemplar()
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(start))
 	exemplar.SetDoubleVal(1)
 
 	result := mapper.exemplar(exemplar)
@@ -948,8 +947,8 @@ func TestExemplarNoAttachements(t *testing.T) {
 func TestExemplarOnlyDroppedLabels(t *testing.T) {
 	mapper, shutdown := newTestMetricMapper()
 	defer shutdown()
-	exemplar := pdata.NewExemplar()
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(start))
+	exemplar := pmetric.NewExemplar()
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(start))
 	exemplar.SetDoubleVal(1)
 	exemplar.FilteredAttributes().InsertString("test", "drop")
 
@@ -968,13 +967,13 @@ func TestExemplarOnlyTraceId(t *testing.T) {
 	mapper, shutdown := newTestMetricMapper()
 	defer shutdown()
 	mapper.cfg.ProjectID = "p"
-	exemplar := pdata.NewExemplar()
-	exemplar.SetTimestamp(pdata.NewTimestampFromTime(start))
+	exemplar := pmetric.NewExemplar()
+	exemplar.SetTimestamp(pcommon.NewTimestampFromTime(start))
 	exemplar.SetDoubleVal(1)
-	exemplar.SetTraceID(pdata.NewTraceID([16]byte{
+	exemplar.SetTraceID(pcommon.NewTraceID([16]byte{
 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
 	}))
-	exemplar.SetSpanID(pdata.NewSpanID([8]byte{
+	exemplar.SetSpanID(pcommon.NewSpanID([8]byte{
 		0, 0, 0, 0, 0, 0, 0, 2,
 	}))
 
@@ -994,8 +993,8 @@ func TestSumPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mr := &monitoredrespb.MonitoredResource{}
 
-	newCase := func() (pdata.Metric, pdata.Sum, pdata.NumberDataPoint) {
-		metric := pdata.NewMetric()
+	newCase := func() (pmetric.Metric, pmetric.Sum, pmetric.NumberDataPoint) {
+		metric := pmetric.NewMetric()
 		metric.SetDataType(pmetric.MetricDataTypeSum)
 		sum := metric.Sum()
 		point := sum.DataPoints().AppendEmpty()
@@ -1014,8 +1013,8 @@ func TestSumPointToTimeSeries(t *testing.T) {
 		var value int64 = 10
 		point.SetIntVal(value)
 		end := start.Add(time.Hour)
-		point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-		point.SetTimestamp(pdata.NewTimestampFromTime(end))
+		point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+		point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 
 		tsl := mapper.sumPointToTimeSeries(mr, labels{}, metric, sum, point)
 		assert.Equal(t, 1, len(tsl))
@@ -1054,8 +1053,8 @@ func TestSumPointToTimeSeries(t *testing.T) {
 		sum.SetAggregationTemporality(pmetric.MetricAggregationTemporalityDelta)
 		point.SetIntVal(10)
 		end := start.Add(time.Hour)
-		point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-		point.SetTimestamp(pdata.NewTimestampFromTime(end))
+		point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+		point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 
 		// Should output a "pseudo-cumulative" with same interval as the delta
 		tsl := mapper.sumPointToTimeSeries(mr, labels{}, metric, sum, point)
@@ -1075,8 +1074,8 @@ func TestSumPointToTimeSeries(t *testing.T) {
 		sum.SetAggregationTemporality(pmetric.MetricAggregationTemporalityDelta)
 		point.SetIntVal(10)
 		end := start.Add(time.Hour)
-		point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-		point.SetTimestamp(pdata.NewTimestampFromTime(end))
+		point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+		point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 
 		// Should output a gauge regardless of temporality, only setting end time
 		tsl := mapper.sumPointToTimeSeries(mr, labels{}, metric, sum, point)
@@ -1100,8 +1099,8 @@ func TestSumPointToTimeSeries(t *testing.T) {
 	t.Run("Add labels", func(t *testing.T) {
 		metric, sum, point := newCase()
 		end := start.Add(time.Hour)
-		point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-		point.SetTimestamp(pdata.NewTimestampFromTime(end))
+		point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+		point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 		extraLabels := map[string]string{"foo": "bar"}
 		tsl := mapper.sumPointToTimeSeries(mr, labels(extraLabels), metric, sum, point)
 		assert.Equal(t, 1, len(tsl))
@@ -1122,8 +1121,8 @@ func TestGaugePointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mr := &monitoredrespb.MonitoredResource{}
 
-	newCase := func() (pdata.Metric, pdata.Gauge, pdata.NumberDataPoint) {
-		metric := pdata.NewMetric()
+	newCase := func() (pmetric.Metric, pmetric.Gauge, pmetric.NumberDataPoint) {
+		metric := pmetric.NewMetric()
 		metric.SetDataType(pmetric.MetricDataTypeGauge)
 		gauge := metric.Gauge()
 		point := gauge.DataPoints().AppendEmpty()
@@ -1139,7 +1138,7 @@ func TestGaugePointToTimeSeries(t *testing.T) {
 	var value int64 = 10
 	point.SetIntVal(value)
 	end := start.Add(time.Hour)
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 
 	tsl := mapper.gaugePointToTimeSeries(mr, labels{}, metric, gauge, point)
 	assert.Len(t, tsl, 1)
@@ -1189,7 +1188,7 @@ func TestSummaryPointToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mr := &monitoredrespb.MonitoredResource{}
 
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetDataType(pmetric.MetricDataTypeSummary)
 	summary := metric.Summary()
 	point := summary.DataPoints().AppendEmpty()
@@ -1205,8 +1204,8 @@ func TestSummaryPointToTimeSeries(t *testing.T) {
 	quantile.SetQuantile(1.0)
 	quantile.SetValue(1.0)
 	end := start.Add(time.Hour)
-	point.SetStartTimestamp(pdata.NewTimestampFromTime(start))
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetStartTimestamp(pcommon.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 
 	// Add a second point with no value
 	summary.DataPoints().AppendEmpty().SetFlags(pmetric.MetricDataPointFlags(pmetric.MetricDataPointFlagNoRecordedValue))
@@ -1267,7 +1266,7 @@ func TestSummaryPointWithoutStartTimeToTimeSeries(t *testing.T) {
 	defer shutdown()
 	mr := &monitoredrespb.MonitoredResource{}
 
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	metric.SetDataType(pmetric.MetricDataTypeSummary)
 	summary := metric.Summary()
 	point := summary.DataPoints().AppendEmpty()
@@ -1280,7 +1279,7 @@ func TestSummaryPointWithoutStartTimeToTimeSeries(t *testing.T) {
 	quantile.SetQuantile(1.0)
 	quantile.SetValue(1.0)
 	// Don't set start timestamp.  This point will be dropped
-	point.SetTimestamp(pdata.NewTimestampFromTime(start))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(start))
 
 	point = summary.DataPoints().AppendEmpty()
 	metric.SetName("mysummary")
@@ -1292,7 +1291,7 @@ func TestSummaryPointWithoutStartTimeToTimeSeries(t *testing.T) {
 	quantile.SetValue(1.0)
 	end := start.Add(time.Hour)
 	// Don't set start timestamp.  This point will be normalized
-	point.SetTimestamp(pdata.NewTimestampFromTime(end))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end))
 
 	point = summary.DataPoints().AppendEmpty()
 	metric.SetName("mysummary")
@@ -1304,7 +1303,7 @@ func TestSummaryPointWithoutStartTimeToTimeSeries(t *testing.T) {
 	quantile.SetValue(1.0)
 	end2 := end.Add(time.Hour)
 	// Don't set start timestamp.  This point will be normalized
-	point.SetTimestamp(pdata.NewTimestampFromTime(end2))
+	point.SetTimestamp(pcommon.NewTimestampFromTime(end2))
 
 	ts := mapper.metricToTimeSeries(mr, labels{}, metric)
 	assert.Len(t, ts, 6)
@@ -1408,7 +1407,7 @@ func TestSummaryPointWithoutStartTimeToTimeSeries(t *testing.T) {
 func TestMetricNameToType(t *testing.T) {
 	mapper, shutdown := newTestMetricMapper()
 	defer shutdown()
-	metric := pdata.NewMetric()
+	metric := pmetric.NewMetric()
 	got, err := mapper.metricNameToType("foo", metric)
 	assert.NoError(t, err)
 	assert.Equal(
@@ -1474,7 +1473,7 @@ func TestAttributesToLabels(t *testing.T) {
 }
 
 func TestNumberDataPointToValue(t *testing.T) {
-	point := pdata.NewNumberDataPoint()
+	point := pmetric.NewNumberDataPoint()
 
 	point.SetIntVal(12)
 	value, valueType := numberDataPointToValue(point)
@@ -1489,7 +1488,7 @@ func TestNumberDataPointToValue(t *testing.T) {
 
 type metricDescriptorTest struct {
 	name          string
-	metricCreator func() pdata.Metric
+	metricCreator func() pmetric.Metric
 	extraLabels   labels
 	expected      []*metricpb.MetricDescriptor
 }
@@ -1498,8 +1497,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 	tests := []metricDescriptorTest{
 		{
 			name: "Gauge",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeGauge)
 				metric.SetName("custom.googleapis.com/test.metric")
 				metric.SetDescription("Description")
@@ -1529,8 +1528,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 		},
 		{
 			name: "Cumulative Monotonic Sum",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeSum)
 				metric.SetName("custom.googleapis.com/test.metric")
 				metric.SetDescription("Description")
@@ -1562,8 +1561,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 		},
 		{
 			name: "Delta Monotonic Sum",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeSum)
 				metric.SetName("test.metric")
 				metric.SetDescription("Description")
@@ -1595,8 +1594,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 		},
 		{
 			name: "Non-Monotonic Sum",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeSum)
 				metric.SetName("test.metric")
 				metric.SetDescription("Description")
@@ -1628,8 +1627,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 		},
 		{
 			name: "Cumulative Histogram",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeHistogram)
 				metric.SetName("test.metric")
 				metric.SetDescription("Description")
@@ -1659,8 +1658,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 		},
 		{
 			name: "Cumulative Exponential Histogram",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeExponentialHistogram)
 				metric.SetName("test.metric")
 				metric.SetDescription("Description")
@@ -1684,8 +1683,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 		},
 		{
 			name: "Summary",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeSummary)
 				metric.SetName("test.metric")
 				metric.SetDescription("Description")
@@ -1743,8 +1742,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 		},
 		{
 			name: "Multiple points",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeGauge)
 				metric.SetName("custom.googleapis.com/test.metric")
 				metric.SetDescription("Description")
@@ -1777,8 +1776,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 		},
 		{
 			name: "with extraLabels from resource",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeSum)
 				metric.SetName("custom.googleapis.com/test.metric")
 				metric.SetDescription("Description")
@@ -1824,8 +1823,8 @@ func TestMetricDescriptorMapping(t *testing.T) {
 		},
 		{
 			name: "Attributes that collide",
-			metricCreator: func() pdata.Metric {
-				metric := pdata.NewMetric()
+			metricCreator: func() pmetric.Metric {
+				metric := pmetric.NewMetric()
 				metric.SetDataType(pmetric.MetricDataTypeGauge)
 				metric.SetName("custom.googleapis.com/test.metric")
 				metric.SetDescription("Description")
@@ -1918,7 +1917,7 @@ func TestKnownDomains(t *testing.T) {
 	for _, test := range tests {
 		t.Run(fmt.Sprintf("%v to %v", test.name, test.metricType), func(t *testing.T) {
 			mapper, shutdown := newTestMetricMapper()
-			metric := pdata.NewMetric()
+			metric := pmetric.NewMetric()
 			defer shutdown()
 			if len(test.knownDomains) > 0 {
 				mapper.cfg.MetricConfig.KnownDomains = test.knownDomains
@@ -1932,8 +1931,8 @@ func TestKnownDomains(t *testing.T) {
 }
 
 func TestInstrumentationScopeToLabels(t *testing.T) {
-	newInstrumentationScope := func(name, version string) pdata.InstrumentationScope {
-		is := pdata.NewInstrumentationScope()
+	newInstrumentationScope := func(name, version string) pcommon.InstrumentationScope {
+		is := pcommon.NewInstrumentationScope()
 		is.SetName(name)
 		is.SetVersion(version)
 		return is
@@ -1941,7 +1940,7 @@ func TestInstrumentationScopeToLabels(t *testing.T) {
 
 	tests := []struct {
 		name                 string
-		InstrumentationScope pdata.InstrumentationScope
+		InstrumentationScope pcommon.InstrumentationScope
 		metricConfig         MetricConfig
 		output               labels
 	}{{
@@ -1957,7 +1956,7 @@ func TestInstrumentationScopeToLabels(t *testing.T) {
 	}, {
 		name:                 "notSetInInstrumentationScope",
 		metricConfig:         MetricConfig{InstrumentationLibraryLabels: true},
-		InstrumentationScope: pdata.NewInstrumentationScope(),
+		InstrumentationScope: pcommon.NewInstrumentationScope(),
 		output:               labels{"instrumentation_source": "", "instrumentation_version": ""},
 	}}
 
@@ -2001,8 +2000,8 @@ func TestAttributesToLabelsUTF8(t *testing.T) {
 }
 
 func TestInstrumentationScopeToLabelsUTF8(t *testing.T) {
-	newInstrumentationScope := func(name, version string) pdata.InstrumentationScope {
-		is := pdata.NewInstrumentationScope()
+	newInstrumentationScope := func(name, version string) pcommon.InstrumentationScope {
+		is := pcommon.NewInstrumentationScope()
 		is.SetName(name)
 		is.SetVersion(version)
 		return is
@@ -2013,7 +2012,7 @@ func TestInstrumentationScopeToLabelsUTF8(t *testing.T) {
 
 	tests := []struct {
 		name                 string
-		InstrumentationScope pdata.InstrumentationScope
+		InstrumentationScope pcommon.InstrumentationScope
 		output               labels
 	}{{
 		name:                 "valid",
diff --git a/exporter/collector/monitoredresource_test.go b/exporter/collector/monitoredresource_test.go
index 65f0b1c..a4e9e34 100644
--- a/exporter/collector/monitoredresource_test.go
+++ b/exporter/collector/monitoredresource_test.go
@@ -18,7 +18,7 @@ import (
 	"testing"
 
 	"github.com/stretchr/testify/assert"
-	"go.opentelemetry.io/collector/model/pdata"
+	"go.opentelemetry.io/collector/pdata/pcommon"
 	monitoredrespb "google.golang.org/genproto/googleapis/api/monitoredres"
 )
 
@@ -287,7 +287,7 @@ func TestResourceMetricsToMonitoredResource(t *testing.T) {
 
 	for _, test := range tests {
 		t.Run(test.name, func(t *testing.T) {
-			r := pdata.NewResource()
+			r := pcommon.NewResource()
 			for k, v := range test.resourceLabels {
 				r.Attributes().InsertString(k, v)
 			}
@@ -464,7 +464,7 @@ func TestResourceToMetricLabels(t *testing.T) {
 			if test.updateMapper != nil {
 				test.updateMapper(&mapper)
 			}
-			r := pdata.NewResource()
+			r := pcommon.NewResource()
 			for k, v := range test.resourceLabels {
 				r.Attributes().InsertString(k, v)
 			}
@@ -510,7 +510,7 @@ func TestResourceMetricsToMonitoredResourceUTF8(t *testing.T) {
 		{Prefix: "valid_"},
 		{Prefix: "invalid_"},
 	}
-	r := pdata.NewResource()
+	r := pcommon.NewResource()
 	for k, v := range resourceLabels {
 		r.Attributes().InsertString(k, v)
 	}
diff --git a/exporter/collector/spandata_test.go b/exporter/collector/spandata_test.go
index 581ddf8..662143c 100644
--- a/exporter/collector/spandata_test.go
+++ b/exporter/collector/spandata_test.go
@@ -19,7 +19,7 @@ import (
 	"time"
 
 	"github.com/stretchr/testify/assert"
-	"go.opentelemetry.io/collector/model/pdata"
+	"go.opentelemetry.io/collector/pdata/pcommon"
 	"go.opentelemetry.io/collector/pdata/ptrace"
 	"go.opentelemetry.io/otel/attribute"
 	"go.opentelemetry.io/otel/codes"
@@ -30,14 +30,14 @@ import (
 
 func TestPDataResourceSpansToOTSpanData_endToEnd(t *testing.T) {
 	// The goal of this test is to ensure that each span in
-	// pdata.ResourceSpans is transformed to its *trace.SpanData correctly!
+	// ptrace.ResourceSpans is transformed to its *trace.SpanData correctly!
 
 	endTime := time.Now().Round(time.Second)
-	pdataEndTime := pdata.NewTimestampFromTime(endTime)
+	pdataEndTime := pcommon.NewTimestampFromTime(endTime)
 	startTime := endTime.Add(-90 * time.Second)
-	pdataStartTime := pdata.NewTimestampFromTime(startTime)
+	pdataStartTime := pcommon.NewTimestampFromTime(startTime)
 
-	rs := pdata.NewResourceSpans()
+	rs := ptrace.NewResourceSpans()
 	resource := rs.Resource()
 	resource.Attributes().InsertString("namespace", "kube-system")
 	ilss := rs.ScopeSpans()
@@ -45,9 +45,9 @@ func TestPDataResourceSpansToOTSpanData_endToEnd(t *testing.T) {
 	il.SetName("test_il_name")
 	il.SetVersion("test_il_version")
 	span := ilss.At(0).Spans().AppendEmpty()
-	traceID := pdata.NewTraceID([16]byte{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F})
-	spanID := pdata.NewSpanID([8]byte{0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8})
-	parentSpanID := pdata.NewSpanID([8]byte{0xEF, 0xEE, 0xED, 0xEC, 0xEB, 0xEA, 0xE9, 0xE8})
+	traceID := pcommon.NewTraceID([16]byte{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F})
+	spanID := pcommon.NewSpanID([8]byte{0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8})
+	parentSpanID := pcommon.NewSpanID([8]byte{0xEF, 0xEE, 0xED, 0xEC, 0xEB, 0xEA, 0xE9, 0xE8})
 	span.SetTraceID(traceID)
 	span.SetSpanID(spanID)
 	span.SetParentSpanID(parentSpanID)
@@ -72,11 +72,11 @@ func TestPDataResourceSpansToOTSpanData_endToEnd(t *testing.T) {
 
 	links := span.Links()
 	link0 := links.AppendEmpty()
-	link0.SetTraceID(pdata.NewTraceID([16]byte{0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}))
-	link0.SetSpanID(pdata.NewSpanID([8]byte{0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7}))
+	link0.SetTraceID(pcommon.NewTraceID([16]byte{0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF}))
+	link0.SetSpanID(pcommon.NewSpanID([8]byte{0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7}))
 	link1 := links.AppendEmpty()
-	link1.SetTraceID(pdata.NewTraceID([16]byte{0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF}))
-	link1.SetSpanID(pdata.NewSpanID([8]byte{0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7}))
+	link1.SetTraceID(pcommon.NewTraceID([16]byte{0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF}))
+	link1.SetSpanID(pcommon.NewSpanID([8]byte{0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7}))
 
 	span.Attributes().InsertBool("cache_hit", true)
 	span.Attributes().InsertInt("timeout_ns", 12e9)
diff --git a/exporter/collector/traces_test.go b/exporter/collector/traces_test.go
index e686975..5f60baa 100644
--- a/exporter/collector/traces_test.go
+++ b/exporter/collector/traces_test.go
@@ -22,7 +22,8 @@ import (
 
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
-	"go.opentelemetry.io/collector/model/pdata"
+	"go.opentelemetry.io/collector/pdata/pcommon"
+	"go.opentelemetry.io/collector/pdata/ptrace"
 	cloudtracepb "google.golang.org/genproto/googleapis/devtools/cloudtrace/v2"
 	"google.golang.org/grpc"
 	"google.golang.org/protobuf/types/known/emptypb"
@@ -104,14 +105,14 @@ func TestGoogleCloudTraceExport(t *testing.T) {
 			testTime := time.Now()
 			spanName := "foobar"
 
-			resource := pdata.NewResource()
-			traces := pdata.NewTraces()
+			resource := pcommon.NewResource()
+			traces := ptrace.NewTraces()
 			rspans := traces.ResourceSpans().AppendEmpty()
 			resource.CopyTo(rspans.Resource())
 			ispans := rspans.ScopeSpans().AppendEmpty()
 			span := ispans.Spans().AppendEmpty()
 			span.SetName(spanName)
-			span.SetStartTimestamp(pdata.NewTimestampFromTime(testTime))
+			span.SetStartTimestamp(pcommon.NewTimestampFromTime(testTime))
 			span.Attributes().InsertString("service.name", "myservice")
 			err = sde.PushTraces(ctx, traces)
 			assert.NoError(t, err)