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

822 Commits

Author SHA1 Message Date
Andy Schweig
5438916f62
Expose optional ResponseWriter interfaces. (#979)
http.ResponseWriters may implement additional interfaces
(http.CloseNotifier, http.Flusher, http.Hijacker, http.Pusher,
io.ReaderFrom) that get lost when the ResponseWriter is wrapped in
another object. This change uses the httpsnoop package to wrap the
ResponseWriter so that the resulting object implements any of the
optional interfaces that the original ResponseWriter implements as
well as using the replacement ResponseWriter methods that gather
information for tracing.
2020-07-30 10:30:47 -07:00
Tyler Yahn
fd61d2edec
Release v0.10.0 (#990)
* Prepare for releasing v0.10.0

* Update CHANGELOG

* Correct Changelog

Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
2020-07-30 08:57:24 -07:00
MitchellDumovic
12992106de
Change default Sampler to ParentOrElse(AlwaysOn) (#989)
* Change default Sampler to ParentOrElse(AlwaysOn)

* add note to changelog
2020-07-29 19:10:12 -07:00
Rey Abolofia
fa883d426b
testtrace.Span tracks and returns its SpanKind. (#987)
* Span tracks and returns its SpanKind.

* Include SpanKind addition in CHANGELOG.

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-29 16:06:20 -07:00
Sam Xie
26e85e1830
Add propagator option for gRPC instrumentation (#986)
* Add propagator option for gRPC instrumentation

* Update CHANGELOG

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-29 15:58:34 -07:00
Tyler Yahn
8fbaa9d432
Make the SDK into its own Go module (#985)
* Remove otel/sdk dependency from grpctrace

Use otel/trace/testtrace instead and cleanup testing code.

* Update httptrace to not depend on the SDK

Update testing to use api/trace/testtrace instead.

* Add changes to Changelog

* Make the SDK its own Go module

* Upgrade go.mod to 1.14 project wide

* go mod tidy
2020-07-29 15:54:26 -07:00
Tyler Yahn
d6bf2fbfc3
Decouple instrumentation from SDK (#983)
* Remove otel/sdk dependency from grpctrace

Use otel/trace/testtrace instead and cleanup testing code.

* Update httptrace to not depend on the SDK

Update testing to use api/trace/testtrace instead.

* Add changes to Changelog

* Restore check for `http.local` attr on `http.getconn`
2020-07-28 19:59:04 -07:00
Tyler Yahn
42c2a86ea4
Move grpctrace examples from comment to code (#984)
* Move grpctrace examples from comment to code

The example use of the interceptors in the grpctrace package includes
invalid syntax and semantics. Instead of doing this, move the example
use to example tests that will be rendered in the godocs.

* Add changes to Changelog
2020-07-28 15:59:35 -07:00
Eundoo Song
e06c9da916
Rename aggregator/test to aggregatortest (#980)
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-28 14:31:56 -07:00
Tyler Yahn
67a2c23016
Update Changelog (#982) 2020-07-28 14:22:35 -07:00
Tyler Yahn
2833212bd9
Decouple API from SDK (#977)
* Remove SDK from othttp instrumentation

* Remove dependency on SDK in api/kv pkg

Benchmark the kv package not the SDK here.

* Update api/global benchmarks

Move SDK related tests to SDK where applicable

* Add internal testing SDK implementation

To be used by the API for testing so it does not depend on the actual
SDK.

* Update api/global/internal to use internal/sdk

* Fix lint on sdk/metric benchmark

* Lint internal/sdk

* Merge internal/sdk into api/trace/testtrace

* Update Changelog
2020-07-28 10:47:08 -07:00
Tyler Yahn
7f1dc4a237
Update Contributing style guide section (#971)
* Update Contributing style guide section

* Update CONTRIBUTING.md

Correct spelling.
2020-07-28 10:23:47 -07:00
Y.Horie
6917167123
Rename kv.Infer to kv.Any (#969) (#972)
* Consider renaming Infer to Any. Any is a commonly used concept in Go.
2020-07-27 09:29:22 -07:00
Tyler Yahn
c9c8137954
Remove IndexedAttribute from api/label (#970)
* Remove IndexedAttribute from api/label

IndexedAttribute is a synonym for IndexedLabel and a hold over from when
this iterator pattern had multiple implementations. Given it no longer
is uses, remove it to avoid introducing confusion to users.

* Update Changelog

* Update Changelog PR number
2020-07-24 21:09:19 -07:00
Tyler Yahn
3b01a854d1
Make the stdout exporter a package (#963)
* Make the stdout exporter its own package

Follow the pattern of the other exporters.

* Update dependabot with stdout exporter

* Add replace directives for stdout exporter

* Remove outdated example test from metric SDK

* go mod tidy

* Update othttp example test

Remove unused stdout exporter.

* Remove tests in API that depend on stdout exporter

The global package does not need to be validated with the SDK. A more
properly constructed end-to-end integration test should be built if this
is actually needed.

* Add replace clause for otel in stdout go.mod
2020-07-24 20:44:51 -07:00
Tyler Yahn
c6611f4478
Move export test package to SDK (#962)
* Move export test package to SDK

* Rename package to metrictest

Follow Go std lib conventions in test package naming.

* Update import paths
2020-07-24 20:32:52 -07:00
Tyler Yahn
d99ac0993e
Remove sub-package value from kv (#968)
* Remove sub-package value from kv

* Update refs to `go.opentelemetry.io/api/kv/value`

* Update Changelog
2020-07-24 12:25:27 -07:00
Liz Fong-Jones
fd54b6c642
paivagustavo to emeritus for now (#960)
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-23 11:19:58 -07:00
Brandon Philips
7918070617
README: fixup spaces on code example (#961)
The code example was rendering oddly in github.com because the first
line had 4 spaces instead of tabs like the rest of the example. Fix
this.
2020-07-23 09:08:26 -07:00
Tyler Yahn
452256cbf4
Unify trace and metric stdout exporters (#956)
* Consolidate stdout exporter

* Move config to own file and match project standard

* Abstract Exporter into unified struct

* Rename trace part of the exporter

* Update import paths and configuration

* Update tests

* Update InstallNewPipeline to not return traceProvider

It is a registered global, access it that way.

* Update example_test

* Update docs

* Update example to be for whole package

* Update metric output

Closer match the span output.

* Clean up span output

Print as a batch and cleanup marshaling.

* Correct spelling error in doc

* Add Exporters README

* Update Changelog

* Propagate changes to rest of project

* Lint fixes

* Fix example test in metric SDK

* Add disable config options for trace and metric

Co-authored-by: Liz Fong-Jones <lizf@honeycomb.io>
2020-07-22 12:34:44 -07:00
Matej Gera
f31d8ec1d0
Unify trace and metric exporter helpers (#944)
* Adjust Jaeger and Zipkin exporters helper methods

* Update and add tests, examples, various minor improvements

* Update changelog

* Correct the Zipkin example

- wait for the spans to be exported
- rebuild the example

* Zipkin service name as argument

* Rework Jaeger and Zipkin tests

* Include more detailed Changelog

Co-authored-by: ET <evantorrie@users.noreply.github.com>
Co-authored-by: Liz Fong-Jones <lizf@honeycomb.io>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-22 11:57:48 -07:00
dependabot[bot]
c5d77d234c
Bump github.com/google/go-cmp from 0.5.0 to 0.5.1 (#957)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
2020-07-22 10:03:41 -04:00
alrex
c8b657eb6c
use global handler for span export err in otlp (#946)
Currently there is no way to report errors using the global handlers for spans in the OTLP exporter, this change fixes that. Errors for the metrics exporter are already handled by the global handler.

Co-authored-by: Liz Fong-Jones <lizf@honeycomb.io>
2020-07-21 11:18:15 -07:00
dependabot[bot]
f6b51df544
Bump github.com/golangci/golangci-lint from 1.28.3 to 1.29.0 in /tools (#953)
* Bump github.com/golangci/golangci-lint from 1.28.3 to 1.29.0 in /tools

Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.28.3 to 1.29.0.
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/golangci/golangci-lint/compare/v1.28.3...v1.29.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Auto-fix go.sum changes in dependent modules

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
2020-07-21 08:43:51 -04:00
Tyler Yahn
58e50e249f
Release v0.9.0 (#952)
* Prepare for releasing v0.9.0

* Update Changelog
2020-07-20 12:40:42 -07:00
Kanji Yomoda
e6537c6aa6
Fix typo in comment (#951)
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-20 08:49:35 -07:00
YANYZP
99c299877d
OT resource detector (#939)
* first

* all included

* constant

* res keys

* env detector

* Update sdk/detect/env.go

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

* new test cases and strings operation to handle labels

* solved conflict

* typo

* corrected comments

* deleted env var handling

* push again

* rerun

* restructuring

* new way to aggregate errors

* all in resources package and verbose comments

* solved merge conflicts

* included new error types

* improved error handling

* updated changelog.md

* updated changelog

* updated changelog.md

* updated changelog

* Update CHANGELOG.md

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Liz Fong-Jones <lizf@honeycomb.io>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-20 08:43:51 -07:00
Liz Fong-Jones
b2b23e15e5
supports marshaling values as json (#948) 2020-07-17 16:10:19 -04:00
Michal Hruby
d6ad4d4d6e
[jaeger] Stop ignoring uints (#945)
* Stop ignoring uints

* Ignore values that overflow
2020-07-17 09:00:58 -07:00
ET
4f3fab3ba7
Remove github.com/open-telemetry/opentelemetry-collector dependency (#943) 2020-07-16 17:18:45 -04:00
ET
166c703bd0
Import open-telemetry/opentelemetry-proto submodule and generate protobuf bindings locally (#942)
* Import open-telemetry/opentelemetry-proto submodule under internal

* Commit changes in updated/new protobuf files

* Refer to new location of .pb.go files after rewrite from import

* Describe in CHANGELOG
2020-07-16 13:59:14 -07:00
ET
dd79483e20
Create protobuf generation GitHub action (#938)
* Add protogen workflow

* Move out protobuf generation to Makefile.proto

* Include in Changelog

* Update Makefile.proto

Move file-local mode variable to line by itself.

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

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-16 10:07:59 -07:00
dependabot[bot]
31dd06af9d
Bump github.com/golangci/golangci-lint from 1.28.2 to 1.28.3 in /tools (#936)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
2020-07-14 12:03:45 -04:00
Tyler Yahn
9edcad3829
Backport tag script from contrib repo (#934)
Also, update the releasing docs to match new command and clean up new
structure.
2020-07-13 16:09:59 -04:00
Tyler Yahn
aff7a80d5a
Release v0.8.0 (#929)
* Prepare for releasing v0.8.0

* Update Changelog

* Update Changelog
2020-07-10 09:23:53 -07:00
dependabot[bot]
9e99b441d2
Bump github.com/golangci/golangci-lint from 1.28.1 to 1.28.2 in /tools (#930)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Co-authored-by: Liz Fong-Jones <lizf@honeycomb.io>
2020-07-10 10:35:48 -04:00
Michal Hruby
4dec0addb0
[jaeger] Added WithBatchMaxCount as an option (#931) 2020-07-10 10:28:45 -04:00
Tyler Yahn
d979977a40
Add semantic conventions for OS process as resource attributes (#919)
* Add sem-conv for OS process as resource attr keys

Resolves #891

* Add PR number to Changelog

* Apply suggestions from code review

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

* Update comments to Linux

Co-authored-by: ET <evantorrie@users.noreply.github.com>
2020-07-09 15:02:03 -07:00
Tyler Yahn
54fffd6467
Update grpctrace instrumentation span names (#922)
* Update grpctrace instrumentation span names

Span names MUST not contain the leading slash (`/`) that the grpc
package prepends to all `FullMethod` values. This replaces the
`serviceFromFullMethod` function with a parsing function. This parsing
function returns an span name adhering to the OpenTelemetry semantic
conventions as well as formatted span attributes.

Additionally, the service name needs to include the package if one
exists. This updates that attribute accordingly.

Once #900 is merged the method attributes can be added by uncommenting.

Resolves #916

* Update Changelog

* Update comment to plural

* Switch from regexp to string parsing

* Consolidate attributes before creating span

* Update Changelog with addition of rpc.method in grpctrace

* Fix test spanMap lookup key

* Update instrumentation/grpctrace/interceptor.go

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

* Unify on explicit typed return value

* Fix copy paste error

Co-authored-by: ET <evantorrie@users.noreply.github.com>
2020-07-09 13:12:00 -07:00
dependabot[bot]
d2913b735c
Bump google.golang.org/api from 0.28.0 to 0.29.0 in /exporters/trace/jaeger (#925)
* Bump google.golang.org/api in /exporters/trace/jaeger

Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.28.0 to 0.29.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/master/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.28.0...v0.29.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Auto-fix go.sum changes in dependent modules

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-09 12:09:18 -07:00
Anthony Mirabella
c719588733
Avoid replacing existing correlation map data in context when correlation context extractor does not find any valid data (#923)
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-09 12:02:49 -07:00
Tyler Yahn
fab431e455
Fix api/standard constant names and documentation (#920)
* Update spec version sem-conv implement in doc.go

* Update FaaS key const names to match convention

* Add PR number to Changelog
2020-07-09 11:56:47 -07:00
dependabot[bot]
cf6462c01e
Bump github.com/itchyny/gojq from 0.10.4 to 0.11.0 in /tools (#926)
* Bump github.com/itchyny/gojq from 0.10.4 to 0.11.0 in /tools

Bumps [github.com/itchyny/gojq](https://github.com/itchyny/gojq) from 0.10.4 to 0.11.0.
- [Release notes](https://github.com/itchyny/gojq/releases)
- [Changelog](https://github.com/itchyny/gojq/blob/master/CHANGELOG.md)
- [Commits](https://github.com/itchyny/gojq/compare/v0.10.4...v0.11.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Auto-fix go.sum changes in dependent modules

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
2020-07-09 10:26:53 -07:00
Sam Xie
03cd779f0e
Add http content size semantic conventions (#905)
* Add http content size to standard package

Signed-off-by: Sam Xie <xsambundy@gmail.com>

* Include `http.request_content_length` in HTTP request basic attributes

Signed-off-by: Sam Xie <xsambundy@gmail.com>

* Add test for api.standard package

Signed-off-by: Sam Xie <xsambundy@gmail.com>

* Update CHANGELOG

Signed-off-by: Sam Xie <xsambundy@gmail.com>

* Fix http content size naming

Signed-off-by: Sam Xie <xsambundy@gmail.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-08 10:39:15 -07:00
Matej Gera
1c9aab619d
Extend semantic convetions for RPC (#900)
* Extend semantic convetions for RPC

* Update changelog

* make service attribute conform to spec

* Update api/standard/trace.go

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

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-08 08:26:09 -07:00
Tyler Yahn
918c6547c9
Update Changelog with omitted changes (#921) 2020-07-08 07:57:56 -07:00
Tyler Yahn
c506e99b01
Fix B3 propagator and add tests (#882)
* Correct B3 propagators and add tests

* Break up external integration and internal unit tests

* Add changes to Changelog.

* Update Changelog with PR number

* Fix lint issues

* Update trace flags

Add a new "not sampled" mask to complement the existing "sampled" one.

Rename `FlagsUnused` to `FlagsUnset`.

Add documentation for each of the flags to help understand their
purpose.

* Update extractSingle to support unset sampling

* Update existing tests to appropriately use FlagsUnset

* Remove bogus debug flag test

The B3 specification states "Debug is encoded as `X-B3-Flags: 1`. Absent
or any other values can be ignored", so testing of other values should
not result in an error.

* B3 Extract now supports parsing both headers

Remove test cases that would fail if the fallback header format was
expected to not be used.

* Feedback

* Switch to bitmask inject encoding field

Add the B3Encoding and valid HTTP based values. Change the B3 propagator
to use these bitmask fields to specify the inject encoding it will
propagate.

* Add comments

* Migrate B3 integration tests to existing testtrace

* Update comment

* Benchmark invalid B3 injects as well

* Update trace flags

Add a FlagsDebug and FlagsDeferred to track the B3 trace state.

Add helper methods to the SpanContext to check the debug and deferred
bit of the trace flags.

Update SpanContext.IsSampled to return if the sampling decision is to
sample rather than if the sample bit is set. This means that if the
debug bit is also set it will return true.

* Revert SpanContext.IsSampled back

* Add comment to b3 test data generation

* Update Changelog

* Fix trace flag name in Changelog

* Fix Changelog formatting

* Update Changelog

* Remove valid check at start of B3 injectg

This check makes sample only headers not propagate.

* Update B3 inject integration tests

Use the passed SpanContext and check directly the span ID.

* Update B3 integration tests

Run update checked SpanID to match sent.

Add tests to validate sample only transmissions and debug flag support.

* Rename injectTest parentSc to sc

This is no longer the parent.

* Update GetAllKeys for B3

* Un-Export the B3 headers

The B3SingleHeader name will conflict with the upcoming change to prefix
the SingleHeader encoding with "B3". There are a few options to address
this conflict, but in the end we do not need to be exporting these
values. They are duplicates of the OpenZipkin package and users should
use those.

* Rename B3 encodings and move support method to B3Encoding

Include a `B3` prefix to scope the encoding names.

Move the related support method to the B3Encoding itself, instead of the
B3 propagator.

Add tests to provide a sanity check for encoding bitmasks.

* Update span_context_test tests

Update test name to better describe how unused bits have no affect on
the sampling decision. Include the inverse of this test as well: not
sampled but has unused bits.

* Use named const for Single Header decoding widths

* Update api/trace/b3_propagator.go

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

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2020-07-07 16:38:52 -07:00
Joshua MacDonald
3475d5575e
Fix incorrect aggregation; Prometheus exporter behavior (#903)
* Avoid applying stale udpates; add a test

* Add Memory option to basic processor

* Always use memory in the pull controller

* Test the memory option

* Precommit

* Add a Prometheus-specific test

* More comment on Memory option

* Link to 862

* Remove sleep

* Update changelog

* Comment on stale and stateless aggregators

* Update sdk/metric/processor/basic/config.go

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

Co-authored-by: Liz Fong-Jones <lizf@honeycomb.io>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-07 12:52:35 -07:00
Tyler Yahn
808345cbf6
Bump CircleCI instance size (#917)
Related to #907
2020-07-07 10:35:37 -07:00
Anthony Mirabella
c219029606
Update otel-collector example to use collector v0.5.0 (#915)
* Update otel-collector example to use collector v0.5.0

* Apply suggestions from code review

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

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-07 10:26:47 -07:00