1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-01-18 03:22:12 +02:00

294 Commits

Author SHA1 Message Date
Tyler Yahn
5e66340594
Add Baggage API and move Baggage propagator (#1217)
* Move api/baggage to the propagators package

* Create Baggage API to match specification

* Update CHANGELOG.md

* Baggage API unit tests

* Rename and add unit test

* Update unit test value checking

* Update TODO with issue tracking work.
2020-10-05 11:25:09 -04:00
Stanley Nguyen
de50711fcc
feat(span): remove SetAttribute method (#1216)
* feat(span): remove SetAttribute method

* Update CHANGELOG.md

Revert markdown lint changes and unify the `Removed` section.

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-10-02 14:41:15 -07:00
Tyler Yahn
6e184cd16f
Update propagation to conform with OpenTelemetry specification (#1212)
* Move propagation package contents to the otel package

* Implement package relocation

* Update propagation to OTel spec

* Add changes to changelog

* Add propagation tests
2020-10-02 12:27:16 -07:00
huikang
dc79f7fe25
Remove duplicate hostname in Resource (#1219)
* Remove duplicate hostname in Resource

- Refer to opentelemetry-specification

Signed-off-by: Hui Kang <kangh@us.ibm.com>

* Update CHANGELOG.md

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-10-01 08:28:27 -07:00
huikang
423c891359
Set default propagator to no-op propagator (#1204)
- add set propagator to examples

Signed-off-by: Hui Kang <kangh@us.ibm.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2020-09-29 16:50:58 -07:00
ET
04297f4d04
Enable exporting Histogram aggregation to OTLP metric (#1209)
* Add Count() to Histogram interface

* Fix copy/pasted comment for Count() interface

* Implement Histogram conversion to OTLP protobuf

* Add CHANGELOG message

* Filled in PR # for Changelog

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-28 17:58:15 -07:00
huikang
a69f8fbe7a
Add integration tests for span processor ordering (#1208)
- Test by span attributes added by processors in the order
  they were registered.

Signed-off-by: Hui Kang <kangh@us.ibm.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-28 09:29:14 -07:00
Anthony Mirabella
0b348c345f
Prepare v0.12.0 release (#1205)
* Prepare for releasing v0.12.0

* Update CHANGELOG.md for v0.12.0 release

* Update CHANGELOG.md

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-24 19:01:48 -04:00
Joshua MacDonald
8c3cc43992
Use LastValue by default for ValueObserver instruments (#1165)
* Use LastValue by default for ValueObserver instruments

* Update test

* Update test with feedback

* Update fix

* Update changelog

* sum->scalar

* Tests pass

* Add a test

* Undo incorrect proto adds

* Restore origin protos

* Restore

* Upstream

* Add more tests

* Precommit

* Typo

* ore test feedback
2020-09-24 18:30:55 -04:00
David Ashpole
304d4cdffc
ensure batch span processors are shutdown in examples (#1199) 2020-09-24 18:25:20 -04:00
huikang
b97533a74b
Register/unregister in the fixed order (#1198)
- change the processors' map to array
- increase test coverage

Signed-off-by: Hui Kang <kangh@us.ibm.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-24 11:43:23 -07:00
Dan Rusei
559fecd73e
Update the attribute names for the OTel attributes for the zipkin exporter (#1201)
Based on the spec change: https://github.com/open-telemetry/opentelemetry-specification/pull/967
2020-09-23 22:42:05 -04:00
Tyler Yahn
7d71867644
Rename *Provider names (#1190)
* Rename *Provider names

There is overlap in naming with MeterProviders and TracerProviders. This
is means the specification is not implemented and these types can not
exist in the same package (#1179). This makes each type and related
functions and types explicit.

* Add changes to CHANGELOG
2020-09-23 18:16:13 -04:00
Cole Packingham
5dd2962202
Remove semantic convention for http status text (#1194)
* Remove http status text

* Updated changelog

* More descriptive changelog

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-23 14:52:44 -04:00
ET
038f505d12
Remove B3 propagator from otel repo (#1191)
* Remove B3 propagator

* Add to Changelog

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-22 11:02:31 -07:00
ET
e7e1dce982
Update sampling decision names (#1192)
* Rename SamplingDecision enum values

As prescribed in
https://github.com/open-telemetry/opentelemetry-specification/pull/938
and https://github.com/open-telemetry/opentelemetry-specification/pull/956.

* Include in Changelog

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-22 10:34:43 -07:00
Tyler Yahn
4b46365d1d
Move api/unit to top level (#1185)
* Move api/unit to top level

* Add changes to CHANGELOG
2020-09-20 13:54:21 -04:00
huikang
930b4d01f6
Fix missing shutdown of the batch processor (#1186)
Signed-off-by: Hui Kang <kangh@us.ibm.com>

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2020-09-20 13:40:47 -04:00
Anthony Mirabella
995be31f42
Add ForceFlush() method to SpanProcessor interface (#1166)
* Add ForceFlush() method to SpanProcessor interface

* Add a stub implementation to SimpleSpanProcessor
* Add a working implementation to BatchSpanProcessor

* add CHANGELOG.md entry

* Eliminate sleep from BatchSpanProcessor.ForceFlush() test

* Generating test spans serially should reduce test flakiness
2020-09-20 13:35:44 -04:00
Matej Gera
a12224a454
Ensure exported interfaces have named method parameters (#1172)
* Ensure exported interface types have named arguments

* Update Styling Guide

* update CHANGELOG
2020-09-16 09:09:45 -07:00
JBD
2621bd4847
Convert XConfigure into constructor for metrics (#1175)
* Convert XConfigure into constructor for metrics

A follow up of #1155.

* Add to CHANGELOG

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-15 07:49:18 -07:00
Matej Gera
1f7c220652
Don't consider unset env var to be an error during resource detection (#1170)
* Don't consider unset env var an error during detection

* update CHANGELOG
2020-09-14 12:08:05 -04:00
Matej Gera
77de1998cf
Minor change: ParentSampler -> ParentBased in Zipkin example description (#1171)
* ParentSampler -> ParentBased in Zipkin example description

* update CHANGELOG
2020-09-13 14:45:46 -04:00
Sam Xie
6f048eb832
Add more semantic conventions for k8s as resource attributes (#1167)
* Add more semantic conventions for k8s

* Update CHANGELOG

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-11 14:46:24 -07:00
Anthony Mirabella
d91de437b2
Recommend use of initializers for config structs (#1163)
* Recommend use of initializers for config structs

Updates style guide and changes existing configure() implementations to
newConfig() as appropriate.

* Add CHANGELOG.md entry

* Update stdout exporter config initializer

* Add documentation to exported functions

* Convert otlp.Config to unexported otlp.config
2020-09-11 14:14:25 -07:00
Matej Gera
0041e2d26e
Rename ParentOrElse sampler to ParentBased and enhance it according to the spec (#1153)
* Rename ParentOrElse to ParentBased and enhance it according to the spec

- Renaming of type and sampler function
- Enhancing ParentBased with sampler options
- Set default samplers for each applicable parent-based case
- Adjust ShouldSample(...) func accordingly

* Adjust existing tests for ParentBased and add new ones

- add tests for ParentBased sampler options and description
- renaming in trace_test.go

* Update CHANGELOG.md

* PR feedback

- More clearer naming of structs; add comments where missing
- Adhere to the configuration style guide

* PR feedback - punctuation
2020-09-10 12:39:04 -07:00
ET
34c02d1d24
Add Skip Changelog label to Dependabot-sourced PRs (#1161)
* Add "Skip Changelog" label to all dependabot PR requests

* Update CHANGELOG

* Include PR# in CHANGELOG

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2020-09-10 12:24:04 -07:00
JBD
9f4525847f
Convert XConfigure into constructors (#1155)
* Convert XConfigure into constructors

Previously, we discussed the possibility of converting
the config types into internal ones. But due to the
cyclic dependencies it introduces, we are only
converting XConfigure into constructors and document that
XConfig types are most likely are not going to be directly
used by developers.

In package documents, constructors will be nicely listed
under the config types and they won't be yet another
standalone symbol developers need to learn about.

Fixes #1130.

* Add the changes to the CHANGELOG
2020-09-10 15:15:17 -04:00
Anthony Mirabella
06689a01bd
Rename CorrelationContext to Baggage (#1142)
* Rename 'correlation' to 'baggage'

* Rename CorrelationContext progator to Baggage

* Update CHANGELOG
2020-09-09 14:13:37 -04:00
Tyler Yahn
422188a85f
Correct SDK trace Exporter interface (#1078)
* Update trace export interface

Move to conforming to the specification.

* Update documentation in export trace

* Update sdk trace provider to support new trace exporter

* Update SpanProcessors

Support the Provider changes and new trace exporter.

* Update the SDK to support the changes

* Update trace Provider to not return an error

* Update sdk with new Provider return

Also fix the testExporter ExportSpans method

* Update exporters with changes

* Update examples with changes

* Update Changelog

* Move error handling to end of shutdown

* Update exporter interface

Rename to SpanExporter to match specification. Add an error return value
to the Shutdown method based on feedback. Propagate these changes.

Remove the Stop method from the OTLP exporter to avoid confusion and
redundancy.

* Add test to check OTLP Shutdown honors context

* Add Jaeger exporter test for shutdown

* Fix race in Jaeger test

* Unify shutdown behavior and testing

* Update sdk/trace/simple_span_processor.go

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2020-09-09 10:19:03 -07:00
Anthony Mirabella
2e221fdf3e
Move tools package under internal (#1141)
It is not user-facing, so there is no reason to leave it in an
importable location. Fixes #1126.
2020-09-09 09:14:03 -07:00
Tyler Yahn
f1dad21e47
Move propagators out of API and into their own package (#1118)
* Add new propagators package

* Move B3 propagator to propagators

Update all `api/trace` dependencies in the propagator.

Export the isDeferred and isDebug methods of the SpanContext. These are
needed by the B3 propagator to track trace state.

* Move W3C trace context propagator to propagators

* Update package docs with supported encodings

* Move unified propagators code to own file

* Update b3 exported documentation

* Update trace_context exported documentation

* Add code examples for B3 propagator

* Add TraceContext example code

* Remove internal package

Move common testing declarations to the propagators_test.go file.

* Add changes to Changelog

* Add test to check default propagators
2020-09-08 19:07:59 -04:00
Tyler Yahn
d143b8fbf8
Unify API Span Start/End Options (#1108)
* Unify API Span Start/End Options

Replace both with `SpanOption`. Add a unified `SpanConfig` to match and
a `SpanConfigure` function to parse a `SpanConfig` from `SpanOption`s.

Update all the related options to use new `SpanOption`s.

* No non-zero SpanConfig defaults

The SDK uses an internal clock for the current time that cannot be use
if it does not know the time has not been set.

* Append attributes for WithAttributes

This preserves existing behavior.

* Add unit test for SpanConfigure

* Propagate changes

* Update append option documentation

* Update testing comments

* Move comments on guarantees to appropriate function

* Add documentation for SDK methods

Include SDK implementation specific information in the Tracer Start
method and Span End method.

* Add changes to Changelog

* Apply suggestions from code review

Co-authored-by: ET <evantorrie@users.noreply.github.com>

* Update the SpanKind comment in the  SpanConfig

Try for a less tautological comment.

Co-authored-by: ET <evantorrie@users.noreply.github.com>
2020-09-03 07:34:36 -07:00
ET
4d83d5b571
Change name of ProbabilitySampler to TraceIdRatioBased (#1115)
* Change name of ProbabilitySampler to TraceIdRatioBased

* Modify behavior to ignore parent span
* Add test for inclusivity property on TraceIdRatioBased sampler
* Modify tests in `trace_test.go` to reflect change in parent
  span behavior

* Add to CHANGELOG

* Satisfy golint

* Update CHANGELOG.md

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-03 07:28:01 -07:00
ET
f38e1902f9
Add InstrumentationLibrary info to Zipkin/Jaeger exporters (#1119)
* Add InstrumentationLibrary info to Zipkin/Jaeger exporters

This addresses spec issues
 https://github.com/open-telemetry/opentelemetry-specification/pull/800
 https://github.com/open-telemetry/opentelemetry-specification/pull/801
and opentelemetry-go issues
 https://github.com/open-telemetry/opentelemetry-go/issues/1086
 https://github.com/open-telemetry/opentelemetry-go/issues/1087

* Reflect change in CHANGELOG
2020-09-03 07:22:05 -07:00
Tyler Yahn
0fec28040d
Update trace API TracerOption (#1109)
* Update Tracer configuration.

Conform to API option design outlined in #536.

Add tests to validate new TracerConfigure function

Drop the `instrumentation` prefix.

* Stick with instrumentationVersion for now

* Propagate changes

* Add changes to Changelog
2020-09-02 07:20:52 -07:00
Trevor Foster
a304e8280d
Add reconnecting udp connection type to jaeger exporter (#1063)
* port reconnecting udp client from jaeger-client-go

* Fix precommit issues

* Fix license check

* Add initial value for max packet size

* Fix for atomic usage on 386 arch

* Modify reconnecting option to an affirmative

* Add changelog entry

* Dont hold rlock for writes

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-09-01 09:08:11 -07:00
Anthony Mirabella
1f2eba2cdb
Release v0.11.0 (#1089)
* Prepare for releasing v0.11.0

* Update CHANGELOG.md to reflect scope of v0.11.0 release

* Update CHANGELOG.md

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-08-24 22:38:37 -04:00
Thomas Meire
e17e3caec8 Remove the orphaned RegisterSpanProcessor and UnregisterSpanProcessor #1077 2020-08-22 12:38:13 +02:00
dengliming
77b7778a54
Integration tests for OTel Collector Attributes. (#1062)
* Integration tests for OTel Collector Attributes.

* Update CHANGELOG.md

* Fix review

* Fix review.

* Fix test.

* Fix test.

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-08-18 08:45:50 -07:00
Tyler Yahn
f995380e58
Unify api/label and api/kv in new label package (#1060)
* Move `api/label` to `label`

* Move `api/kv` package contents into `label` package

* Unify label package name

* Move `api/internal/rawhelpers.go` to `internal`

* Propagate replacing `api/kv` with `label` pkg

* golint

* Fix over-aggressive change

* Update Changelog
2020-08-17 20:25:03 -07:00
dengliming
f8ed8332d6 Fix review. 2020-08-17 00:45:21 +08:00
Tyler Yahn
8f9f2d84cf
Move OTLP to the OTLP exporter (#1050)
* Move proto to OTLP exporter

* Update OTLP exporter import of proto

* Use gogo protobuf

To stop using the deprecated github.com/golang/protobuf and match what
the collector is doing, switch to generating OTLP with the
github.com/gogo/protobuf/proto instead of
github.com/golang/protobuf/proto.

* Clean dependencies

Remove all protobuf dependencies from otel package and all of its
dependencies.

* Update CHANGELOG

* Clean OTLP exporter go mod

Remove submodule beforehand to avoid unneeded direct dependencies.

* Use default ref for GitHub workflow

* Update path that triggers proto gen action

* Correct license-check exclusion for OTLP

* Update commented location of the OTLP and code
2020-08-10 19:55:52 -07:00
Eundoo Song
4d0101ae12
Rename test packages (#1049)
* Rename processor/test to processortest

* Rename controller/test to controllertest

* Rename testharness to apitest

* Rename testtrace to tracetest
2020-08-10 13:35:15 -07:00
Tyler Yahn
efd4e3a383
Remove google.golang.org/grpc/codes dependency from API by adding an equivalent codes package (#1046)
* Add otel/codes package to replace google.golang.org/grpc/codes

* Replace google.golang.org/grpc/codes with otel/codes

* Update opentracing bridge to use OTel codes

* Update semconv to use OTel codes

* Update SDK to convert from OTel codes to gRPC

* go mod tidy

* Add change to CHANGELOG

* Fix word from feedback
2020-08-10 09:17:09 -07:00
Tyler Yahn
2dfa5e4fe1
Remove WithSpan method from Tracer interface (#1043)
* Remove WithSpan method from Tracer interface

Also remove implementation in SDK.

* Add panic event reporting to span End

* Update Changelog with changes

* Update CHANGELOG.md

* Update README.md

Fix code tabs

* Refactor span End

* Fix un-ended span from feedback.
2020-08-08 12:10:36 -07:00
Sam Xie
f9ba15f2d1
Replace WithSyncer with WithBatcher in examples (#1044)
* Replace `WithSyncer` with `WithBatcher` in examples

* update CHANGELOG

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-08-07 09:16:43 -07:00
alrex
f88f5e4a1a
Renaming OTEL_RESOURCE_LABELS env var (#1042)
* Renaming OTEL_RESOURCE_LABELS env var

As per the specification here https://github.com/open-telemetry/opentelemetry-specification/pull/758

* update changelog
2020-08-06 17:05:11 -07:00
Tyler Yahn
799c178925
Make opentracing bridge into own Go module (#1038)
* Make opentracing bridge into own Go module

* Update dependabot config

* Clean dependencies of project

Now the bridge is a module, clean all upstream modules that no longer
implicitly depend on it.

* Update Changelog

* go mod tidy
2020-08-06 07:59:41 -07:00
Tyler Yahn
f0620dc0ad
Move grpctrace to contrib repo (#1027)
* Remove grpctrace package

This is being moved to the contrib repo with
https://github.com/open-telemetry/opentelemetry-go-contrib/pull/189
as part of #976.

* Update Changelog

* Remove the grpc example

Moved to contrib repo

* Fix spelling error

* Update Changelog
2020-08-05 20:24:39 -07:00