1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2024-12-14 10:13:10 +02:00
Commit Graph

5 Commits

Author SHA1 Message Date
Gustavo Silva Paiva
f92a6d8361
Implement retry policy for the OTLP/gRPC exporter (#1832)
This was heavily inspired by the retry policy from the https://github.com/open-telemetry/opentelemetry-collector code.

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-29 11:07:21 -07:00
Gustavo Silva Paiva
70bc9eb391
Adds support for timeout on the otlp/gRPC exporter (#1821)
* initial support for timeout on otlp grpc exporter

* fix tests

* run make

* update changelog

* update changelog

* apply suggestions

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-20 10:02:02 -07:00
Tyler Yahn
d9566abea9
Fix OTLP testing flake: signal connection from mock collector (#1816)
* Wrap TCP listener

The mock collector listener now signals when it receives a connection
instead of waiting an arbitrary time an hoping the event happens.

* Only close the listener C chan once

* Apply PR feedback

* Backwards compatible support for closed listener check

* Cleanup
2021-04-17 09:26:06 -07:00
Tyler Yahn
234862136d
Migrate to using go.opentelemetry.io/proto/otlp (#1713)
Migrate to using go.opentelemetry.io/proto/otlp
2021-03-20 09:25:07 -07:00
Krzesimir Nowak
8d80981465
Move gRPC driver to a subpackage and add an HTTP driver (#1420)
* Move grpc stuff to separate package

* Drop duplicated retryable status code

* Set default port to 4317

This is what the specification says for both gRPC and HTTP.

* Document gRPC option type

* Add an HTTP protocol driver for OTLP exporter

Currently it supports only binary protobuf payloads.

* Move end to end test to a separate package

It also adds some common code mock collectors can use. This will be
useful for testing the HTTP driver.

* Move export data creators to otlptest

It also extends the one record checkpointer a bit. This will be useful
for testing the HTTP driver.

* Add an HTTP mock collector and tests for HTTP driver

* Update changelog

* Do not depend on DefaultTransport

We create our own instance of the transport, which is based on
golang's DefaultTransport. That way we sidestep the issue of the
DefaultTransport being modified/overwritten. We won't have any panics
at init. The cost of it is to keep the transport fields in sync with
DefaultTransport.

* Read the whole response body before closing it

This may help with connection reuse.

* Change options to conform to our style guide

* Add jitter to backoff time

* Test TLS option

* Test extra headers

* Fix a comment

* Increase coverage

* Add a source of the backoff strategy
2021-01-11 22:55:24 -05:00