Files
MarioandGitHub e0354d1bed Update Prometheus to v0.307.2, OTel collector contrib to v0.138.0, OTel to v1.44.0 (#5810)
* Update Prometheus to v0.307.2

* Update otel collector

* Update OTel collector
2025-10-28 11:30:17 +01:00

63 lines
1.8 KiB
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package pmetric // import "go.opentelemetry.io/collector/pdata/pmetric"
import (
"go.opentelemetry.io/collector/pdata/internal"
)
var _ MarshalSizer = (*ProtoMarshaler)(nil)
type ProtoMarshaler struct{}
func (e *ProtoMarshaler) MarshalMetrics(md Metrics) ([]byte, error) {
size := internal.SizeProtoOrigExportMetricsServiceRequest(md.getOrig())
buf := make([]byte, size)
_ = internal.MarshalProtoOrigExportMetricsServiceRequest(md.getOrig(), buf)
return buf, nil
}
func (e *ProtoMarshaler) MetricsSize(md Metrics) int {
return internal.SizeProtoOrigExportMetricsServiceRequest(md.getOrig())
}
func (e *ProtoMarshaler) ResourceMetricsSize(md ResourceMetrics) int {
return internal.SizeProtoOrigResourceMetrics(md.orig)
}
func (e *ProtoMarshaler) ScopeMetricsSize(md ScopeMetrics) int {
return internal.SizeProtoOrigScopeMetrics(md.orig)
}
func (e *ProtoMarshaler) MetricSize(md Metric) int {
return internal.SizeProtoOrigMetric(md.orig)
}
func (e *ProtoMarshaler) NumberDataPointSize(md NumberDataPoint) int {
return internal.SizeProtoOrigNumberDataPoint(md.orig)
}
func (e *ProtoMarshaler) SummaryDataPointSize(md SummaryDataPoint) int {
return internal.SizeProtoOrigSummaryDataPoint(md.orig)
}
func (e *ProtoMarshaler) HistogramDataPointSize(md HistogramDataPoint) int {
return internal.SizeProtoOrigHistogramDataPoint(md.orig)
}
func (e *ProtoMarshaler) ExponentialHistogramDataPointSize(md ExponentialHistogramDataPoint) int {
return internal.SizeProtoOrigExponentialHistogramDataPoint(md.orig)
}
type ProtoUnmarshaler struct{}
func (d *ProtoUnmarshaler) UnmarshalMetrics(buf []byte) (Metrics, error) {
md := NewMetrics()
err := internal.UnmarshalProtoOrigExportMetricsServiceRequest(md.getOrig(), buf)
if err != nil {
return Metrics{}, err
}
return md, nil
}