mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-04-13 11:30:31 +02:00
change UploadMetrics signature from slice to single Resource (#2491)
* change UploadMetrics signature from slice to single Resource * add changelog * fix otlp exporter bug. * Update exporters/otlp/otlpmetric/exporter_test.go Co-authored-by: Anthony Mirabella <a9@aneurysm9.com> * Update CHANGELOG.md Co-authored-by: Anthony Mirabella <a9@aneurysm9.com> Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
This commit is contained in:
parent
776bfdcb23
commit
4b815ff70c
@ -21,6 +21,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
||||
### Fixed
|
||||
|
||||
- Fixes the instrument kind for noop async instruments. (#2461)
|
||||
- Change the `otlpmetric.Client` interface's `UploadMetrics` method to accept a single `ResourceMetrics` instead of a slice of them. (#2491)
|
||||
|
||||
## [1.3.0] - 2021-12-10
|
||||
|
||||
|
@ -39,5 +39,5 @@ type Client interface {
|
||||
// UploadMetrics should transform the passed metrics to the
|
||||
// wire format and send it to the collector. May be called
|
||||
// concurrently.
|
||||
UploadMetrics(ctx context.Context, protoMetrics []*metricpb.ResourceMetrics) error
|
||||
UploadMetrics(ctx context.Context, protoMetrics *metricpb.ResourceMetrics) error
|
||||
}
|
||||
|
@ -24,7 +24,6 @@ import (
|
||||
"go.opentelemetry.io/otel/sdk/metric/export"
|
||||
"go.opentelemetry.io/otel/sdk/metric/export/aggregation"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
metricpb "go.opentelemetry.io/proto/otlp/metrics/v1"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -57,7 +56,7 @@ func (e *Exporter) Export(ctx context.Context, res *resource.Resource, ilr expor
|
||||
// call, as per the specification. We can change the
|
||||
// signature of UploadMetrics correspondingly. Here create a
|
||||
// singleton list to reduce the size of the current PR:
|
||||
return e.client.UploadMetrics(ctx, []*metricpb.ResourceMetrics{rm})
|
||||
return e.client.UploadMetrics(ctx, rm)
|
||||
}
|
||||
|
||||
// Start establishes a connection to the receiving endpoint.
|
||||
|
@ -63,8 +63,8 @@ func (m *stubClient) Stop(ctx context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *stubClient) UploadMetrics(ctx context.Context, protoMetrics []*metricpb.ResourceMetrics) error {
|
||||
m.rm = append(m.rm, protoMetrics...)
|
||||
func (m *stubClient) UploadMetrics(ctx context.Context, protoMetrics *metricpb.ResourceMetrics) error {
|
||||
m.rm = append(m.rm, protoMetrics)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -180,7 +180,7 @@ var errShutdown = errors.New("the client is shutdown")
|
||||
//
|
||||
// Retryable errors from the server will be handled according to any
|
||||
// RetryConfig the client was created with.
|
||||
func (c *client) UploadMetrics(ctx context.Context, protoMetrics []*metricpb.ResourceMetrics) error {
|
||||
func (c *client) UploadMetrics(ctx context.Context, protoMetrics *metricpb.ResourceMetrics) error {
|
||||
// Hold a read lock to ensure a shut down initiated after this starts does
|
||||
// not abandon the export. This read lock acquire has less priority than a
|
||||
// write lock acquire (i.e. Stop), meaning if the client is shutting down
|
||||
@ -197,7 +197,7 @@ func (c *client) UploadMetrics(ctx context.Context, protoMetrics []*metricpb.Res
|
||||
|
||||
return c.requestFunc(ctx, func(iCtx context.Context) error {
|
||||
_, err := c.msc.Export(iCtx, &colmetricpb.ExportMetricsServiceRequest{
|
||||
ResourceMetrics: protoMetrics,
|
||||
ResourceMetrics: []*metricpb.ResourceMetrics{protoMetrics},
|
||||
})
|
||||
// nil is converted to OK.
|
||||
if status.Code(err) == codes.OK {
|
||||
|
@ -144,9 +144,9 @@ func (d *client) Stop(ctx context.Context) error {
|
||||
}
|
||||
|
||||
// UploadMetrics sends a batch of metrics to the collector.
|
||||
func (d *client) UploadMetrics(ctx context.Context, protoMetrics []*metricpb.ResourceMetrics) error {
|
||||
func (d *client) UploadMetrics(ctx context.Context, protoMetrics *metricpb.ResourceMetrics) error {
|
||||
pbRequest := &colmetricpb.ExportMetricsServiceRequest{
|
||||
ResourceMetrics: protoMetrics,
|
||||
ResourceMetrics: []*metricpb.ResourceMetrics{protoMetrics},
|
||||
}
|
||||
rawRequest, err := proto.Marshal(pbRequest)
|
||||
if err != nil {
|
||||
|
Loading…
x
Reference in New Issue
Block a user