* Allow to specify service name and hostPort for zipkin tracing
This patch allows to specify service name and hostPort for zipkin tracing.
Currently the serviceName(display in the console) and
hostPort(endpoint) must be same name.
To make matters worse, the hostPort only supports `80` port.
This patch allows to specify both serviceName and hostPort. Also,
hostPort can be `IP:PORT` format for port customization.
* Fix review comments
* Remove port
* Add a b3tracecontext.HTTPFormat.
It will utilize either B3 or TraceContext propagation formats coming in (preferring TraceContext) and while sending both.
* hack/update-deps.sh
* PR comments.
* Move to HTTPFormatSequence.
* Remove the struct.
* Allow distinct ingress and egress formats.
* ConfigOptions return an error, so we can react to things failing, rather than only reading it in the logs.
* Add unit tests.
* PR comments.
* PR comment - remove TODO.
* Add tracing.HTTPSpanMiddlewareIgnoringPaths which will turn off tracing for the specified paths.
This is intended to allow us to ignore automated requests, such as liveness and readiness checks.
* PR comments.
* Rename HTTPSpanMiddlewareIgnoringPaths to HTTPSPanIgnoringPaths.
* Expand the tracing package to support stackdriver.
This makes an assortment of changes to support the use of non-Zipkin tracing backends for publishing traces from system components based on config-tracing.
The changes to the config are modeled after config-observability, which already has support for prometheus and stackdriver backends for metrics.
* Incorporate review feedback.
* Incorporate feedback from @mdemirhan downstream
This moves around the code within the tracing package in preparation for adding support for other exporter options.
As the fields changed are all private, this should be a no-op for consumers of this package.
The goal of this change is to make it so that no files mention zipkin other than zipkin.go (or tests, which I left alone).