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

396 Commits

Author SHA1 Message Date
Tyler Yahn
1f527a52ab
Update trace API config creation functions (#2212)
* Update trace API config creation funcs

Follow our style guide and return the config struct instead of pointers.

* Update changelog with changes

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-09-01 15:44:13 -04:00
Robert Pająk
361a209680
Fix RC2 header in changelog (#2215) 2021-09-01 11:53:11 -04:00
Roni Lichtman
c0c5ef65eb
Fix typos in resource.go. (#2201)
* Fix typos in resource.go.

* Add a line to CHANGELOG.md with an identifier for the relevant PR.

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-08-30 14:22:06 -04:00
Lucas Käldström
c912b179fd
Print JSON objects to stdout without a wrapping array (#2196)
* Encode JSON objects to stdout one by one; not wrapped in lists

* Add changelog entry
2021-08-25 08:48:48 -07:00
Lucas Käldström
add511c105
Make WithoutTimestamps work (#2195)
* Make WithoutTimestamps work

* Add changes to changelog

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Tyler Yahn <codingalias@gmail.com>
2021-08-23 14:29:51 -07:00
Tyler Yahn
3a26ed216a
Deprecate the oteltest package (#2188)
* Deprecate the oteltest package

* Add PR number to changes in changelog

* Ignore oteltest deprecation in oteltest
2021-08-18 13:34:48 -07:00
Bhautik Pipaliya
dfc866bd03
Support capturing stack trace (#2163)
* capturing stack trace support

* added changelog entry

* remove error package stack trace support

* modified unnecessary changes to go.sum files

* added EventOption to enable stack trace capturing

* added tests

* added runtime.Stack method and minor changes

* minor changes

* remove redundant line

* fix gihub check on linter

* fix tests

* fix tests

* Update sdk/trace/trace_test.go

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

* Update sdk/trace/trace_test.go

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

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-08-13 17:44:18 -04:00
Tyler Yahn
41588fea26
Deprecate the attribute.Any function (#2181)
* Deprecate the attribute.Any func

* Update CHANGELOG.md
2021-08-13 08:57:33 -07:00
Joshua MacDonald
4e8d667f6e
Support a single Resource per MeterProvider in the SDK (#2120)
* Remove resource from export.Record

* fix bridge/opencensus

* partial fixes in exporters/otlp/otlpmetric

* Use go-cmp to simplify exporter_test

* OTLP http/grpc

* prometheus

* fix stdout (pending PR 2015)

* oc bridge cleanups

* Lint and changelog

* pr num

* cleanup

* revert

* fix multiple

* always merge the environment

* lint

* precommit

* qualify package names in changelog
2021-08-12 15:44:58 -07:00
Tyler Yahn
87d09df346
Deprecate Array attribute in favor of *Slice types (#2162)
* Deprecate Array attribute in favor of *Slice types

* Use new attr types in Jaeger exporter

* Use slice attr types in otlpmetric

* Use slice attr types in otlptrace

* Use slice attr types in zipkin exporter

* Remove array attr test from deprectated oteltest func

* Use StringSlice for cmd arg resource attr

* Add changes to the changelog

* Remove use of deprecated Array func
2021-08-12 08:05:42 -07:00
Joshua MacDonald
df384a9a33
Move InstrumentKind into the new metric/sdkapi package (#2091)
* Move InstrumentKind into the new metric/sdkapi package

* remove the alias

* remove the alias (everywhere)

* Changelog

* Add a test

* merge updates

* fix changelog

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-08-11 16:02:28 -07:00
Tyler Yahn
5d25c4d20e
Add support for int32 in attribute.Any (#2169)
* Support int32 for Any func in attribute pkg

* Add changes to changelog

* Update PR number in CHANGELOG.md
2021-08-11 09:32:00 -07:00
Tyler Yahn
a3d4ff5c0c
Deprecated the bridge/opencensus/utils package (#2166)
* Deprecated the bridge/opencensus/utils package

* Update PR number in CHANGELOG.md

* Apply suggestions from code review
2021-08-09 11:33:25 -07:00
Tyler Yahn
56c743ba79
Allow global ErrorHandler to be set multiple times (#2160)
* Add benchmarks for error handler

* All multiple global ErrorHandler sets

* Use ioutil instead of io for Discard

* Add changes to changelog

* Add unit tests for delegation
2021-08-06 10:05:32 -07:00
Koenraad Verheyden
21d4686f4f
Add ErrorHandlerFunc to simplify creating ErrorHandlers (#2149)
* Add ErrorHandlerFunc to simplify creating ErrorHandlers

* Add CHANGELOG entry

* Apply suggestions from code review

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

* Add interface assertion

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-08-03 15:15:54 -07:00
Robert Pająk
fd7c327b55
Fix Jaeger exporter agent port default value and docs (#2131)
* Fix Jaeger exporter agent port default value and docs

* Update changelog

* Revert example
2021-07-29 13:48:04 -04:00
Sean Schade
b8561785c0
fix(2138): add guard to constructOTResources to return an empty resource (#2139)
* fix(2138): add guard to constructOTResources to return an empty resource when attributes are not supplied

Fixes: https://github.com/open-telemetry/opentelemetry-go/issues/2138

* Update CHANGELOG.md

Co-authored-by: Robert Pająk <pellared@hotmail.com>

Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-07-29 10:09:07 -07:00
Tyler Yahn
11f62640ee
Add a SpanRecorder to the sdk/trace/tracetest (#2132)
* Add a SpanRecorder to the sdk/trace/tracetest

* Add changes to changelog

* Run make precommit

* Rename tests
2021-07-29 10:00:58 -07:00
Anthony Mirabella
7939841868
pre-release v1.0.0-RC2 (#2133)
* update versions for 1.0.0-RC2

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Prepare for versions v1.0.0-RC2

* Update CHANGELOG

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-07-26 15:09:33 -04:00
Tyler Yahn
bbe6ca40a7
Deprecate oteltest.Harness for removal (#2123)
* Deprecate oteltest.Harness for removal

* Add changes to changelog

* Alias oteltest.Harness to internaltest

* Update oteltest/tracer_test.go

remove `oteltest` import.

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-07-26 11:40:36 -04:00
Tyler Yahn
7a624ac21c
Deprecated the oteltest.TraceStateFromKeyValues function (#2122)
* Deprecated the oteltest.TraceStateFromKeyValues func

* Update changelog

* make precommit
2021-07-26 11:12:53 -04:00
Nelson Ghezzi
ece1879fae
Removed dropped link's attributes field from API package (#2118)
* Removed DroppedAttributeCount field from Link struct

* Reintroduced DroppedAttributeCount with a wrapper struct

* Added Link type in otel/sdk package and used it instead of Trace API equivalent

* Added changelog entry

* Linting fix in changelog

* Deleted duplicated changelog section added by mistake

* Expanded changelog entry and moved it under the 'Added' section

* Explicitly mentioned otel/trace library in changelog entry under 'Removed' section to avoid ambiguity
2021-07-26 11:06:41 -04:00
Tyler Yahn
cb607b0ab1
Unify OTLP exporter retry logic (#2095)
* Add retry internal package

* Use retry package in connection

* Use retry package for otlpconfig

* Use the retry package in otlptracegrpc

* Use the retry package in otlptracehttp

* Add changes to CHANGELOG

* Lint internal

* Update otlptracehttp tests

* Update dependencies

* Add retry tests to otlptracehttp

* Remove TestRetry from otlptracehttp
2021-07-22 15:07:38 -07:00
Bhautik Pipaliya
abe2243718
API: create new linked span from current context (#2115)
* API: create new linked span from current context

* ran make precommit

* Update trace/trace.go

* Updated CHANGELOG

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-07-22 11:39:27 -07:00
Tyler Yahn
7f10ef72d4
Remove propagation testing types from oteltest (#2116)
* Add propagationtest package

* Update internal/global to use propagationtest

* Move propagationtest into internal
2021-07-22 08:16:57 -07:00
csuzhang
25d739b0a0
Remove resource.WithBuiltinDetectors() which has not been maintained (#2097)
* remove resource.WithBuiltinDetectors() which has not been maintained

* add changelog file

* Update CHANGELOG.md

Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>

* resolved a repeated conflict

* fix unittest error

* fix unittest error

* fix the PR according to suggestion

* fix unittest fail and del repeated testcase in CI system

* Update CHANGELOG.md

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

Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-07-22 06:47:09 -07:00
Joshua MacDonald
d57c5a5604
Remove several metrics test helpers (#2105)
* Remove several metrics test helpers

* Lint

* Changelog

* Lint
2021-07-21 13:06:38 -04:00
Tyler Yahn
49359495c7
Simplify trace_context tests (#2108)
* Simplify trace_context tests

Refactor the propagation/trace_context tests to be targeted at testing
the propagator functionality only and remove extraneous dependencies.

Fix the TraceContext Inject method from injecting the tracestate header
if no value exists.

* Add changes to changelog
2021-07-21 09:15:40 -07:00
Tyler Yahn
63dfe64aae
Correct status transform in OTLP exporter (#2102)
* Correct status transform in OTLP exporter

* Add changes to changelog
2021-07-20 09:06:18 -07:00
Tyler Yahn
ab78dbd05b
Update release URL (#2106) 2021-07-20 11:34:08 -04:00
Anthony Mirabella
647af3a0f9
Pre release experimental metrics v0.22.0 (#2101)
* update metrics version set

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Prepare for releasing v0.22.0

* Update CHANGELOG for metrics v0.22.0 release

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Fixup CHANGELOG linking

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-07-19 16:59:45 -04:00
Nelson Ghezzi
0a56233717
Fixed OS type value for DragonFly BSD (#2092)
* Added explicit mapping between GOOS and semconv OS type attribute value

* Added tests for OS type mappings

* Added changelog entry

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-07-19 11:40:30 -04:00
Anthony Mirabella
12f737c7a5
oteltest: ensure valid SpanContext created for span started WithNewRoot (#2073)
* oteltest: ensure valid SpanContext created for span started WithNewRoot

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Add CHANGELOG entry

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-07-09 13:01:44 -07:00
Nelson Ghezzi
484258eb36
OS description attribute detector (#1840)
* Added Linux-specific detector for the os.description attribute

* Generalized OS description detector with placeholder function for unimplemented OSes

* Extended osDescription function to *nix OSes based on golang.org/x/sys/unix

* Added WithOS resource configuration function to configure all of the OS resource attributes

* Implemented osDescription funtion for Windows OS

* Improved documentation header for *nix version of the osDescription function

* Added support for reading os-release file

* Added/updated documentation headers for *nix implementation of osDescription and related functions

* Changelog update

* Added support for reading macOS version information

* Mock approach to test OS description attribute

* Extracted common function getFirstAvailableFile to read the first available file from a list of candidates

* Upgraded golang.org/x/sys

* Changelog update

* Fixed wrong function name in documentation header for WithOSDescription

* Updated documentation header for platformOSDescription function

* Renamed restoreProcessAttributesProviders test helper function

The function restoreProcessAttributesProviders was renamed to simply
restoreAttributesProviders to better reflect its broader scope, which
not only applies to process attribute's providers.

* Fixed os_linux.go overriding build tags defined inside the file

The suffix on os_linux.go was overriding the build tags already defined
in that file. The file was renamed to os_release_unix.go, reflecting
the main function defined in the file.

For consistency, os_darwin.go was renamed to os_release_darwing.go, as
its primary purpose is to also define the osRelease function.

* Removed use of discontinued function resource.WithoutBuiltin

* Added PR number to changelog entries

* Updated go.sum files after run of make lint

* Linux implementation: ignore lines with an empty key

* Linux implementation: avoid unquoting strings less than two chars

* WIP: added tests for Linux support functions

* WIP: added tests for charsToString and getFirstAvailableFile functions

* Replaced os.CreateTemp with ioutil.TempFile as the former only exists in Go 1.16

* Added unameProvider type to decouple direct reference to unix.Uname function inside Uname()

* Added tests for Uname() function

* Replaced *os.File with io.Reader in parseOSReleaseFile to ease testing

* Added tests for parseOSReleaseFile function

* Darwin implementation: added tests for buildOSRelease function

* Replaced *os.File with io.Reader in parsePlistFile to ease testing

* Darwin implementation: added tests for parsePlistFile function

* Type in documentation header for Linux osRelease function

* Extracted logic for reading specific registry values into helper functions

* Added basic tests for Windows version of platformOSDescription and helper functions

* Manually formatted uint64 to strings to have an uniform interface for test assertions

* Asserts there's no error when opening registry key for testing

Co-authored-by: Robert Pająk <pellared@hotmail.com>

* Simplified subtests by using a single test with multiple asserts

* go.sum update after running make

* Fix typo

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

* WIP: added placeholder implementation of platformOSDescription for unsupported OSes

* Fixed typo on osRelease documentation header

Co-authored-by: Chris Bandy <bandy.chris@gmail.com>

* Fixed typo on test case name for ParsePlistFile tests

Co-authored-by: Chris Bandy <bandy.chris@gmail.com>

* Linter fix in changelog

* go.sum updates after running make

* Used strings.Replacer instead of multiple strings.ReplaceAll calls

* Optimized implementation of charsToString

* Safer temporary file deletion with t.TempDir()

* Used t.Cleanup() for safer mocking of runtime providers in OS resource tests

* Handled optionality of DisplayVersion registry key.

For example, CI machine runs on:
Windows Server 2019 Datacenter (1809) [Version 10.0.17763.1999]

So, to not add an extra white space due to missing DisplayVersion,
this value is checked to be not empty, and only in such case a
trailing space is added for that component.

* Workaround to handle the case of DisplayVersion registry key not present

* Excluded unsupported GOOSes by negation of supported ones

* go.sum update after running make

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Chris Bandy <bandy.chris@gmail.com>
2021-07-08 13:35:27 -07:00
David Ashpole
9e8f523d75
when using WithNewRoot, don't use the parent context for sampling (#2032)
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-06-28 09:17:12 -07:00
coryb
16f83ce689
export ToZipkinSpanModels for use outside this library (#2027)
* export ToZipkinSpanModels for use outside this library

* Update CHANGELOG.md
2021-06-23 18:30:15 -04:00
csuzhang
d5d4c87f6d
Add HTTP metrics exporter for OTLP (#2022)
* add HTTP support for OTLP metrics exporter

* add to changelog

* fix unit test not covered before

* add otlpmetrichttp module to .github/dependabot.yml

* add test file for client.go

* run make commit to clean repository

* fix err occurs in TestCancelledContext

* fix err in TestCancelledContext which is nil

* fix err in TestCancelledContext which is nil, occurs occasionally

* fix unittest err in TestCancelledContext which occurs occasionally

* fix ineffectual assignment to err when running lint

* Update CHANGELOG.md

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

* Update exporters/otlp/otlpmetric/otlpmetrichttp/doc.go

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

* Update exporters/otlp/otlpmetric/otlpmetrichttp/doc.go

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

* del options that not used in http exporter metrics

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-06-22 11:45:17 -07:00
Tyler Yahn
51dbe3cb41
Remove deprecated exporters (#2020)
* Remove deprecated exporters

* Remove codecov config entry for Jaeger exporter

* Remove exporters from dependabot config
2021-06-19 17:29:56 -04:00
Anthony Mirabella
ced177b795
Pre-release 1.0.0-RC1 (#2013)
* Add versions.yaml to specify module version sets
* Prepare for releasing v1.0.0-RC1
* Update experimental-metrics and bridge module sets to v0.21.0
* Prepare for releasing v0.21.0
* Fixup go.mod version references
* Update version.go
* Update CHANGELOG
* Update godoc references to "pre-GA phase" for RC1 packages
* Update website_docs for 1.0.0-RC1

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-06-18 11:22:16 -04:00
Anthony Mirabella
39fe8092ed
Add span.TracerProvider() (#2009)
* Ensure that no-op tracer still progates non-recording spans

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Add `TracerProvider` to the `trace.Span` interface

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Remove config from oteltest.Tracer as it can be accessed through the provider

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-06-17 12:05:44 -04:00
Anthony Mirabella
c30cd1d0fd
Split stdout exporter into stdouttrace and stdoutmetric (#2005)
* Split stdout exporter into stdouttrace and stdoutmetric

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Remove unused options from stdouttrace and stdoutmetric exporters

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Update stdout exporter references in website docs

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Update docs to include correct import paths, properly describe exporter scope

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Remove pointless options to disable signals from what are now single-signal exporters

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-06-16 11:32:42 -04:00
Tõnis Tiigi
80ca2b1ea1
otlp: mark unix endpoints to work without transport security (#2001)
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-06-15 14:10:52 -07:00
Tyler Yahn
3be9813d56
Deprecate the exporters in the "trace" and "metric" sub-directories (#1993)
* Rename exporters/metric/prometheus

* Rename exporters/trace/jaeger

* Rename exporters/trace/zipkin

* Fix dependabot config and make test

* Update README docs

* Deprecate exporters instead of remove them

* Update dependabot with old modules

* Run crosslink

* Add lint override for known deprecated pkg

* Update PR number
2021-06-12 11:39:22 -07:00
Gustavo Silva Paiva
b33edaa552
OTLP metrics gRPC exporter (#1991)
* OTLP metrics gRPC exporter

* add newline

* address comments
2021-06-11 13:25:56 -07:00
Anthony Mirabella
64b640cc26
Remove old OTLP exporter (#1990)
* Remove trace export support from exporters/otlp

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Update otlp exporter example test to use metric/global package

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Update CHANGELOG

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* completely excise exporters/otlp

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-06-11 11:18:17 -04:00
Anthony Mirabella
7728a52135
Remove dependency on metrics packages (#1988)
* Declare internal/metric module to version it separately

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Remove dependency on metrics module from soon-to-be-stable modules

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Add PR ID to CHANGELOG

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* rename metric/oteltest to metric/metrictest

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Fix metrictest package name in CHANGELOG

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-06-10 15:05:25 -04:00
Anthony Mirabella
cdf67ddfa3
Update semantic conventions to v1.4.0, move to versioned package (#1987)
* Update semantic conventions to v1.4.0, move to versioned package

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* precommit wants explicit import path renaming for semconv/v1.4.0

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Fix semconv import path in stdout exporter example

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-06-10 13:03:43 -04:00
Tyler Yahn
4883cb119d
Refactor exporter creation functions (#1985)
* Remove InstallNewPipeline/NewExportPipeline funcs

* Rename stdout NewExporter to New

* Rename prometheus NewExporter func to New

* Rename Jaeger exporter NewRawExporter func to New

* Rename zipkin exporter NewRawExporter func to New

* Rename otlp exporter creation funcs

* Rename processortest exporter creation funcs

* Update PR number in changelog

* Fix spelling error

* Rename remaining NewUnstartedExporter in otlp

* Remove unused testing file
2021-06-10 09:22:47 -07:00
Tigran Najaryan
46d9687a35
Add Schema URL support to Resource (#1938)
This implements specification requirement:
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md#resource-creation

- Changes `resource.NewWithAttributes` to require a schema URL. The old function
  is still available as `resource.NewSchemaless`. This is a breaking change.
  We want to encourage using schema URL and make it a conscious choice to have a
  resource without schema.

- Merge schema URLs acccording to the spec in resource.Merge.

- Several builtin resource detectors now correctly populate the schema URL.

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-06-08 09:46:42 -07:00
csuzhang
208860127a
Bugfix jaeger exporter test panic (#1973)
* fix jaeger exporter test panic with close closed channel

* add change to CHANGELOG.md

* Update CHANGELOG.md

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

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-06-08 08:34:43 -07:00
Tyler Yahn
4bf6150fa9
Add baggage implementation based on the W3C and OpenTelemetry specification (#1967)
* Rename baggage context file

* Initial baggage implementation

* Initial tests

* More tests

* Update baggage context functionality

* Add New method to baggage pkg

* Update namedtracer example

* URL encode baggage values

* Refactor and use internal baggage pkg

* Update OpenTracing bridge

* Update baggage propagator

* Fix lint and test errors

* Add changes to changelog

* Apply suggestions from code review

* Rename testcase field per suggestion

* Update test to verify last-one-wins semantics

* Explicitly seed random numbers with static seed in tests

* Parse Member key/value with string split

* Add test for member parse with equal signs in value

* Trim whitespaces for member key/value
2021-06-08 08:06:37 -07:00
Gustavo Silva Paiva
2371bb0a09
add otlp trace http exporter (#1963)
* add otlp trace http exporter

* remove `WithTraces*` options

* address discussions

* run make precommit

* rename WithURLPath option
2021-06-07 07:57:58 -07:00
Anthony Mirabella
a75ade4edb
sdk/resource: honor OTEL_SERVICE_NAME in fromEnv resource detector (#1969)
* sdk/resource: honor OTEL_SERVICE_NAME in fromEnv resource detector

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* go fmt is still my friend, even if I forget about it occasionally

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Fix import ordering

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-06-04 11:19:15 -07:00
Gustavo Silva Paiva
dfe2b6f143
OTLP trace gRPC exporter (#1922)
* draft: otlp exporter trace grpc

* address comments and improve usability

* change passthrough example to go 1.15

* code cleanups

* copy dependencies to `otlptrace`

* fix typo on makefile

* address comments

* update code with latest changes

* fix comments

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-05-27 13:47:01 -07:00
Tigran Najaryan
bd935866f4
Add schema URL support to Tracer (#1889)
This adds support for schema URL to the Tracer according to the specification:
https://github.com/open-telemetry/opentelemetry-specification/pull/1666
(Link to replaced by the link to the spec after that PR is merged)

For the future: once the proto is updated we will need to populate the
schema_url field in the messages.
2021-05-27 15:22:38 -04:00
Aaron Clawson
c1f460e097
Update API configs. (#1921)
* Added Reason to Contributing and Updated TracerConfig

* PR comment fixup

* Changed how span Options work.

* Fix Markdown linting

* Added meter configs.

* Fixes from PR comments

* fix for missing instrument

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-05-27 07:53:56 -07:00
Tyler Yahn
0eeb8f87e9
Refactor Tracestate (#1931)
* Refactor TraceState

* Update tracecontext propagator to use new TraceState

* Add TraceStateFromKeyValues to oteltest

* Use oteltest to test TraceState

* Replace IsEmpty with Len for TraceState

* Replace ParseTraceState with ParseTraceStateString

* Clean up naming

* Add immutability test for TraceState

* Add changes to changelog

* Fixes

* Document argument type change in changelog

* Address feedback

Remove circularity of TestTraceStateLen.
2021-05-24 07:53:26 -07:00
David Ashpole
d3b1280863
Add Passthrough example (#1912)
* Add passthrough example

* Update example/passthrough/handler/handler.go

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

* Update example/passthrough/README.md

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

* Apply suggestions from code review

Co-authored-by: Robert Pająk <pellared@hotmail.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
2021-05-18 14:03:10 -07:00
Robert Pająk
d23cc61b93
Refactor configs (#1882)
* trace: Refactor sampling config

* tracer: Refactor TracerProviderConfig

* Update the changelog

* Refactor sdk/metric/controller/basic config

* Refactor sdk/metric/processor/basic config

* Refactor sdk/resource config

* Refactor oteltest config

* Refactor exporters/otlp configs

* Refactor exporters/stdout config

* Refactor exporters/trace/jaeger configs

* Refactor exporters/trace/zipkin config

* Unexport stdout.NewConfig

* Refactor zipkin.go

* Refactor provider.go
2021-05-14 13:28:28 -07:00
Tyler Yahn
6324adaa66
Add tracer option argument to global Tracer function (#1902)
* Add tracer opt arg to global Tracer func

* Update PR number
2021-05-13 14:43:19 -07:00
Anthony Mirabella
035fc650a2
Do not include authentication information in the http.url attribute (#1919)
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-05-13 13:05:44 -04:00
Marco Hofstetter
21c1641831
Add support for scheme in OTEL_EXPORTER_OTLP_ENDPOINT (#1886)
* Add support for scheme in OTEL_EXPORTER_OTLP_ENDPOINT according to the spec

* Changes after review from pellared

* Changes after review from pellared - 2

* Changes after review from pellared - 3

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-05-12 19:17:37 -04:00
Anthony Mirabella
5cb6263624
Semantic Convention generation tooling (#1891)
* Add semantic convention generator

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Update semantic conventions from generator

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Use existing internal/tools module

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Fix lint issues, more initialisms

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Update changelog

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* semconvgen: Faas->FaaS

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Fix a few more key names with replacements

* Update replacements from PR feedback

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* rename commonInitialisms to capitalizations, move some capitalizations there

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Regenerate semantic conventions with updated capitalizations and replacements

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Generate semantic conventions from spec v1.3.0

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Cleanup semconv generator util a bit

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* No need to put internal tooling additions in the CHANGELOG

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Fix HTTP semconv tests

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>

* Add semconv generation notes to RELEASING.md

Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-05-12 19:10:56 -04:00
Tyler Yahn
6219221fc5
Move the unit package to the metric module (#1903) 2021-05-12 11:51:26 -07:00
Tyler Yahn
63e0ecfc22
Implement global default non-recording span (#1901)
* Remove the Tracer method from the Span API

* Update CHANGELOG with changes

* Update CHANGELOG.md

* Fix misspell

* Address feedback

* Implement global default non-recording span

* Add changes to CHANGELOG

* Update PR number in changelog
2021-05-12 13:11:56 -04:00
Tyler Yahn
b6d5442ff6
Remove the Tracer method from the Span API (#1900)
* Remove the Tracer method from the Span API

* Update CHANGELOG with changes

* Update CHANGELOG.md

* Fix misspell

* Address feedback
2021-05-12 11:19:50 -04:00
Robert Pająk
cabf0c0782
Fix default Jaeger collector endpoint (#1898)
* Fix default Jeager collector endpoint

* Update CHANGELOG.md
2021-05-11 21:20:16 -04:00
Gábor Lipták
d20e722830
CI builds validate against last two versions of Go, dropping 1.14 and adding 1.16 (#1865)
Signed-off-by: Gábor Lipták <gliptak@gmail.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-05-06 17:14:11 -04:00
Tyler Yahn
cbcd4b1a3d
Redefine ExportSpans of SpanExporter with ReadOnlySpan (#1873)
* Remove TODO from ReadOnlySpan interface

* Remove the Tracer method from the ReadOnlySpan

This is not required by the specification nor the use of this interface.

* Remove IsRecording from the ReadOnlySpan interface

A read-only span value does not need to know if updates to it will be
recorded. It by definition cannot be updated so no point in
communicating if an update would be recorded.

* Document the ReadOnlySpan interface

* Rename messageEvent* to just event*

* Move the SpanSnapshot into its own file

* Update ReadOnlySpan interface with meta info methods

Add the DroppedAttributes, DroppedLinks, DroppedEvents, and
ChildSpanCount methods to the interface to return additional information
about the span not specified by the specification, but that we are
already providing.

* Add SpanStub to the sdk/trace/tracetest pkg

* Redefine ExportSpans of SpanExporter with ReadOnlySpan

* Rename SpanSnapshot to snapshot and purge docs

* Remove Snapshot method from snapshot type

This method is a hold-over from previous version of the ReadOnlySpan
interface is not needed.

* Update CHANGELOG with changes
2021-05-04 16:45:13 -07:00
Alex
c99d5e999c
Split large jaeger span batch to admire the udp packet size limit (#1853)
* Split large jaeger span batch to admire the udp packet size

* Refactory EmitBatch and produce complaining error msg when serialization fails

* Add tests for large jaeger spans
Update CHANGELOG.md

* Update CHANGELOG.md

* Fix compatibility-test on windows.

* Add test case for exporting spans with multiple errors.
2021-05-04 14:31:41 -04:00
Iris Song
42a845093e
Unembed SpanContext (#1877)
* Unembed SpanContext

rebase branch

* Update CHANGELOG
2021-05-03 20:10:02 -04:00
Tyler Yahn
b7d02db147
Add Status type to SDK (#1874)
Add Status type to SDK

Use this type to encapsulate the Span status similar to the Event type
encapsulating a Span event and the Link type a span link.

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-05-03 12:00:54 -07:00
Tony Li
a1349944c0
Update resource.go (#1871)
* Update resource.go

* Update CHANGELOG.md

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-05-03 09:50:36 -07:00
Gustavo Silva Paiva
2bd4840c30
remove Set.Encoded(Encoder) enconding cache (#1855)
* remove Set.Encoded(Encoder) enconding cache

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-29 11:28:04 -07:00
Aaron Clawson
7674eebf56
Removed different types of Detectors for Resources. (#1810)
* Removed different types of Detectors for Resources.

This change simplifies different types of collectors into one list. The
order of this list determines how they are applied.  Defaults are
applied when the user does not supply any detectors.  To achieve
default behavior and additional behavior a DefaultDetectors struct has been
created

* missed prometheus test.

* Changed behavior around WithDetectors(nil)

Added examples of use of WithDetectors.

* Added NoOp example

* Changed test to reflect acutal default case

This changes because WithDetector() no longer is the same as not using WithDetector()

* Unexports the noOp detector

* Updated changelog

* Fixes to spelling mistakes.

* Added NewEmptyResouce and unexported builtin detectors

* Fix for prometheus example

* Resource has two Rs

I need to get a new R key it seems.

Co-authored-by: Sam Xie <xsambundy@gmail.com>

* Replaced NewEmptyResource() with New()

* Fix test function name

* Comment fixups.

* Apply suggestions from code review

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

Co-authored-by: Sam Xie <xsambundy@gmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-29 11:12:48 -07:00
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
Tyler Yahn
8e55f10ad5
Move the Event type from the API to the SDK (#1846)
* Move the Event type from the API to the SDK

This type is not used in the API. It is used in the SDK and then through
the processing pipelines. Move it to the package that originates its use.

* Add changes to changelog

* Update CHANGELOG.md

Co-authored-by: Gustavo Silva Paiva <guustavo.paiva@gmail.com>

Co-authored-by: Gustavo Silva Paiva <guustavo.paiva@gmail.com>
2021-04-29 10:29:48 -07:00
Gustavo Silva Paiva
e399d355cb
drop failed to exporter batches and return error when forcing flush a span processor (#1860)
* drop failed to exporter batches and return error when forcing flush a span processor

* changelog

* changelog

* change should export condition

* cleanup
2021-04-29 09:42:11 -07:00
Tyler Yahn
f6a9279a86
Honor context deadline or cancellation in SimpleSpanProcessor.Shutdown (#1856)
* Honor context Done in SSP Shutdown

* Update PR number in changelog

* Update comment

* Add tests

* Make tests more concise

* Restructure tests for readability
2021-04-28 10:15:00 -07:00
Jerry You
cb0972504e
fixed typo (#1857) 2021-04-28 07:57:33 -07:00
Tyler Yahn
62cd933da5
Handle Resource env error when non-nil (#1851)
* Handle Resource env error when non-nil

* Add changes to changelog

* Update PR number
2021-04-27 09:52:48 -07:00
Tyler Yahn
ca130e54e8
Markdownlint (#1842) 2021-04-26 08:42:41 -07:00
ET
1144a83dce
Small typo fixes to existing CHANGELOG entries (#1839)
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-04-24 17:02:36 -04:00
bryan-aguilar
0f4e454c91
Change NewSplitDriver paramater and initialization (#1798)
* Change NewSplitDriver paramater and initialization

* Update CHANGELOG.md

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

* Update CHANGELOG.md

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

* Update exporters/otlp/protocoldriver.go

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

* Update exporters/otlp/protocoldriver.go

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

* Update exporters/otlp/protocoldriver.go

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

* Update exporters/otlp/protocoldriver.go

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

* Move splitdriver option into options.go and rename

* Update CHANGELOG.md

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

* Change option name and nil test to snapshots

* Update exporters/otlp/protocoldriver.go

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

* Update exporters/otlp/protocoldriver.go

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

* Update exporters/otlp/protocoldriver.go

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

* Update exporters/otlp/protocoldriver.go

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

* Update exporters/otlp/options.go

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

* Update exporters/otlp/options.go

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

* Update exporters/otlp/options.go

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

* Update exporters/otlp/options.go

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

* Change SplitDriverOption to match spec

* Update changelog entry

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-23 14:51:55 -04:00
Tyler Yahn
02d8bdd5d9
Release v0.20.0 (#1837)
* Prepare for releasing v0.20.0

* Update changelog

* Add version validation test

* lint
2021-04-23 11:19:07 -07:00
Nelson Ghezzi
aa66fe75e4
OS and Process resource detectors (#1788)
* WIP: OS and Process resource detectors

* Completed documentation headers

* Added empty test files for OS and Process resource functions

* Split long line

* Added resource.WithOS function test

* Added resource.WithProcess* functions tests

* Renamed osDetector and WithOS function to better reflect they only add the os.type attribute

* Updated changelog

* WIP: possible use of wrappers for getting attribute values

* Refined implementation of wrapper functions providing os/runtime/user information

* Added PR number to new changelog entries

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

* Fix wrong function name in documentation header

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

* Fixed wording in WithProcessOwner documentation header

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

* Updated osTypeDetector

* Replaced ToUpper with ToLower to match the current convention.
* Used runtimeOS provider to get the OS name.

* Adapted WithOSType test to mock runtime providers

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-23 08:28:13 -07:00
Tyler Yahn
0fdc3d78a2
Remove bundler from Jaeger exporter (#1830)
* Remove bundler from Jaeger exporter

* Update dependencies

* Add changes to changelog

* Add PR number to changelog
2021-04-22 10:47:27 -04:00
Sai Nadendla
e43d9c00bc
Update Default Value for Jaeger Exporter Endpoint (#1824)
* Update Default Value for OTEL_EXPORTER_JAEGER_ENDPOINT Env Var

* update comments

* fix documentation

* update CHANGELOG

* add missing tab

* fix lint issue

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-04-21 15:02:06 -04:00
Dhruv Vora
0032bd6499
Fix default merging of resource attributes from environment variable (#1785)
* updated controller to merge default resource with environment resource

* updated TracerProvider to merge default resource with environment resource

* Added Changelog entry

* Added resource.Environment(), modified resource.Default() for environment vairable and WithResource() configuration for TracerProvider and Controller

* Update CHANGELOG.md

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

* Moved environment detector to defaultResource initialization, added test cases

* Changes to default resource initialization

* made changes to the test cases

* added merging of resource with environment resource

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-04-21 14:53:12 -04:00
Tyler Yahn
543c8144b9
Remove the WithSDKOptions from the Jaeger exporter (#1825)
* Remove the WithSDKOptions from the Jaeger exporter

* Lint

* Setup SDK in Jaeger example
2021-04-20 16:48:34 -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
081cc61d98
Update Jaeger exporter convenience functions (#1822)
* Update Jaeger exporter convenience functions

* Update changelog PR numbers

* Update CHANGELOG.md

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

* Revert removed raw exporter test

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-04-20 09:31:59 -07:00
Tyler Yahn
1b9f16d3af
Remove the WithDisabled option from Jaeger exporter (#1806)
* Remove the WithDisabled option from Jaeger exporter

* Update PR number
2021-04-19 09:09:19 -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
Gustavo Silva Paiva
a2cecb6e80
add support for env var configuration to otlp/gRPC (#1811)
* move options to `otlpconfig` internal package

* add support for env configs on otel/gRPC

* remove duplicate code

* refactor options

* format imports

* move marshal option to oltphttp

* clone tls configs and tests grpc certificates

* add more context to http errors

* add todo

* add entry to changelog

* update changelog with pr number

* apply suggestions

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-16 14:52:24 -07:00
Aaron Clawson
b09df84a24
Changes stdout to expose the *sdktrace.TracerProvider (#1800)
* Changes stdout to expose the actual tracerProvider

This enables flushing and stopping the exporter.

* updated changelog

* Update CHANGELOG.md

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

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-14 08:51:41 -07:00
Tyler Yahn
6db20e008d
Remove the abandoned Process struct in Jaeger exporter (#1804)
* Remove the abandoned Process struct in Jaeger exporter

Use of this struct was removed in #1776.

* Update changelog
2021-04-13 10:08:04 -07:00
Szymon Łągiewka
086abf342d
docs: use test example to document prometheus.InstallNewPipeline (#1796)
* docs: update InstallNewPipeline example comment

* docs: update changelog after PR submit

* fix: wrap issue number in parens

* docs: use test example to document prometheus.InstallNewPipeline

* fix: update CHANGELOG to reflect PR state

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-13 09:03:18 -07:00
Huy Vo
99c477feb8
Fixed typo for default service name in Jaeger Exporter (#1797)
* Fix typo in jaeger exporter

* Update changelog

* Add PR number to changelog

* Move entry in changelog to Fixed

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-12 08:49:55 -07:00
sicong.huang
9b25164481
Zipkin Exporter: Use default resouce's serviceName as default serivce name (#1777) (#1786)
Signed-off-by: lastchiliarch <lastchiliarch@163.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-04-12 08:36:21 -07:00