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

1863 Commits

Author SHA1 Message Date
Tyler Yahn
36904e4463
Deprecate the syncint64/syncfloat64/asyncint64/asyncfloat64 packages (#3575)
* Dep async/sync pkgs for new inst in instrument pkg

* Replace use of deprecated instruments

* Add changelog entry

* Update changelog entry PR number
2023-01-10 15:06:24 -08:00
Tyler Yahn
78a55822f8
Upgrade all semconv dependencies to v1.16.0 (#3581)
* Upgrade all semconv ref to v1.16.0

* Add changes to changelog
2023-01-10 10:57:28 -08:00
Tyler Yahn
479c5c5840
Generate semconv/v1.16.0 (#3579)
* Generate semconv/v1.16.0

* Add changes to changelog
2023-01-08 08:12:25 -08:00
Tyler Yahn
b08ebeb187
Generate semconv/v1.15.0 (#3578)
* Add generated semconv/v1.15.0

* Add changelog entry for changes

* Update PR number in changelog entry
2023-01-08 08:01:08 -08:00
Tyler Yahn
82882dfbd3
Have multi-instrument callback return an error (#3576)
* Have multi-inst callback return an error

* Update PR number in changelog entry

Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2023-01-08 07:53:07 -08:00
Tyler Yahn
75a19d1910
Generate semconv/v1.14.0 (#3566)
* Update semconv cmd in Makefile

Fixes the template render for new upstream semantic conventions yaml.

* Fix semconvkit to ensure dest dir

* Generate v1.14.0 semconv package

* Add changes to changelog

* Update Makefile

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

* Revert removal of -p

* Update go.opentelemetry.io/build-tools/*

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2023-01-06 14:30:32 -08:00
Tyler Yahn
1f9cc3036b
Add single instrument callback and split metric instrument configuration (#3507)
* Split metric inst config

Instead of having the same configuration for both the Synchronous and
Asynchronous instruments, use specific options for both.

* Use Async/Sync opt for appropriate inst

* Update noop inst providers

* Update internal global impl

* Update sdk

* Remove unused method for callbackOption

* Test instrument configuration

* Lint imports

* Add changes to changelog

* Refactor callbacks and further split opts

Define callbacks to return the value observed. Because of the different
types returned for different observables, the callbacks and options are
move to the sync/async packages.

* Update noop impl

* Fix example_test.go

* Fix internal impl

* Update Callbacks

Return observations for distinct attr sets.

* Refactor common code in sdk/metric inst provider

* Update examples and prom exporter

* Generalize callback

* Update changelog

* Add unit tests for callback

* Add meter tests for cbacks on creation

* Rename Observations to Measurements

* Update Callback to accept an Observer

* Update SDK impl

* Move conf to instrument pkg

* Apply suggestions from code review
2023-01-06 09:20:49 -08:00
Tyler Yahn
0851690095
Move the semconv/v1.13.0 add to unreleased sec (#3567) 2023-01-05 19:50:39 -05:00
Tyler Yahn
112fbaaba4
Add v1.13 semantic conventions (#3499)
* WIP

* Add NetConv unit tests

* Add ServerRequest unit tests

* Unit test ClientRequest

* Remove unneeded

* Unit test helper funcs

* Add unit tests for remaining funcs

* Update exported docs

* Fix lint

* Add changelog entry

* Add Client/Server func to semconv/internal/v2

* Generate Client/Server func for semconv ver

* Update RELEASING

Add note about compatibility.

Update example TAG.

* Fix errors

* Update changelog
2023-01-05 14:58:42 -08:00
Tyler Yahn
e368276257
Create metric API Callback type (#3564)
* Create metric API Callback type

Document the type according the OTel specification requirements.

* Update all impls of the metric API with new type

* Add changes to changelog

* Update PR number in changelog entry
2023-01-05 14:22:06 -08:00
Joshua MacDonald
efd8a7df6d
OTLP exporter: Let final retry error include last retryable error message (#3514)
* Let retry return the first retryable error

* examples/otel-collector: use default collector port

* use correct port

* revert example change

* tidy

* changelog

* lint

* Address comments in PR.

* Updated Changelog.

* Fixes for PR.

* merge changelog

* remove one error

Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
Co-authored-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2023-01-04 12:56:59 -08:00
Tyler Yahn
4607516316
Rename metric SDK instrument kind to match API (#3562)
* Rename metric SDK instrument kind to match API

Follow up to #3530.

* Update CHANGELOG

Fix trailing spaces and update PR number.
2023-01-04 12:47:18 -08:00
Tyler Yahn
a54167d2c9
Remove metric instrument provider API (#3530)
* Remove all InstrumentProvider APIs

* Fix noop impl

* Fix metric/example_test.go

* Update global impl

* Update sdk/metric impl

* Fix examples

* Fix prometheus exporter

* Add changes to changelog

Co-authored-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>
2023-01-03 10:34:10 -08:00
dependabot[bot]
aac35a80c4
Bump github.com/itchyny/gojq from 0.12.10 to 0.12.11 in /internal/tools (#3558)
Bumps [github.com/itchyny/gojq](https://github.com/itchyny/gojq) from 0.12.10 to 0.12.11.
- [Release notes](https://github.com/itchyny/gojq/releases)
- [Changelog](https://github.com/itchyny/gojq/blob/main/CHANGELOG.md)
- [Commits](https://github.com/itchyny/gojq/compare/v0.12.10...v0.12.11)

---
updated-dependencies:
- dependency-name: github.com/itchyny/gojq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-03 10:12:43 -08:00
Ziqi Zhao
c82dbddc31
TracerProvider shutdown release resources (#3551)
* TracerProvider shutdown release resources

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* add changelog

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* Update CHANGELOG.md

Co-authored-by: David Ashpole <dashpole@google.com>

* prevent registered span processors after shutdown

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>

* Update CHANGELOG.md

Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>
Co-authored-by: David Ashpole <dashpole@google.com>
Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2023-01-03 09:51:56 -08:00
Tyler Yahn
ad4d54e0f1
Warn metric Exporters of ResourceMetrics reuse (#3556)
To potentially optimize the collection code path (#3047) ResourceMetrics
sent to the Exporter may be reused in the future. Warn users of this.

Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2023-01-03 08:15:07 -08:00
Daniel Metz
9d633d2ed5
traceIDRatioSampler: use rightmost bits (#3557)
* use bottom bits

* add changelog entry

Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2022-12-30 14:06:06 -05:00
darkfeline
69e44a337b
Fix ParentBased comment formatting (#3553)
godoc doesn't have an unordered list syntax
2022-12-24 10:16:11 -08:00
David Ashpole
a724cf8842
Update OpenCensus metric bridge to use the metric.Producer interface (#3541)
* update OpenCensus metric bridge to use the metric.Producer interface

* return nil for empty metrics

* fix nits

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2022-12-19 08:05:46 -08:00
Bogdan Drutu
0617172787
Global logger uses an atomic value instead of a mutex. (#3545)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2022-12-19 07:56:52 -08:00
Tyler Yahn
4014204d42
Allow multi-instrument callbacks to be unregistered (#3522)
* Update Meter RegisterCallback method

Return a Registration from the method that can be used by the caller to
unregister their callback.

Update documentation of the method to better explain expectations of
use and implementation.

* Update noop impl

* Update global impl

* Test global Unregister concurrent safe

* Use a map to track reg in global impl

* Update sdk impl

* Use a list for global impl

* Fix prom example

* Lint metric/meter.go

* Fix metric example

* Placeholder for changelog

* Update PR number in changelog

* Update sdk/metric/pipeline.go

Co-authored-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>

* Add test unregistered callback is not called

Co-authored-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>
2022-12-16 12:02:42 -08:00
Bogdan Drutu
ca4cdfe4c0
small contingency improvement in global error handler (#3543)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2022-12-16 11:38:01 -08:00
dependabot[bot]
7a60bc785d
Bump golang.org/x/tools from 0.3.0 to 0.4.0 in /internal/tools (#3535)
Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.3.0...v0.4.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-15 12:49:55 -08:00
David Ashpole
14a17b3ad6
Add Metric Producer as a new interface, which returns scope metrics (#3524)
* add RegisterProducer method and metric.Producer interface

* rename testProducer to testSDKProducer

* rename testMetrics to testResourceMetrics

* add testExternalProducer for testing bridges

* add test data for testing external producers

* clean up help text

* unit tests for external Producer

* changelog

* improve test coverage

* Update CHANGELOG.md

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

* support partial errors

* fix lint

* add additional test

* unallocate producers on shutdown

* don't register Producers after shutdown

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2022-12-15 07:50:45 -08:00
aniaan
4e763472ee
feat(exporter): Jaeger and Zipkin exporter use logr as the logging interface (#3500)
* feat(exporter): Jaeger and Zipkin exporter use `github.com/go-logr/logr` as the logging interface, and add the WithLogr option

* fix(exporter): reuse code

* fix(exporter): lint

* fix(exporter): add comment

* fix(changelog): update
2022-12-08 08:04:43 -08:00
Tyler Yahn
8644a79dcf
Fix changelog header (#3521)
Increment the removed header from previous release.
2022-12-07 12:41:50 -08:00
Tyler Yahn
9c61547163
Remove the deprecated view package (#3520)
* Remove the deprecated view package

* Add change to changelog

* Fix changelog header
2022-12-07 11:38:22 -08:00
dependabot[bot]
4146bd1403
Bump github.com/itchyny/gojq from 0.12.9 to 0.12.10 in /internal/tools (#3510)
* Bump github.com/itchyny/gojq from 0.12.9 to 0.12.10 in /internal/tools

Bumps [github.com/itchyny/gojq](https://github.com/itchyny/gojq) from 0.12.9 to 0.12.10.
- [Release notes](https://github.com/itchyny/gojq/releases)
- [Changelog](https://github.com/itchyny/gojq/blob/main/CHANGELOG.md)
- [Commits](https://github.com/itchyny/gojq/compare/v0.12.9...v0.12.10)

---
updated-dependencies:
- dependency-name: github.com/itchyny/gojq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Update build-tools

* Update golangci-lint

* Run dependabot config gen

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyler Yahn <codingalias@gmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2022-12-06 07:38:06 -08:00
Aaron Clawson
bc5cf7eb26
Release v1.11.2/v0.34.0 (#3512)
* Update Versions

Signed-off-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>

* Prepare stable-v1 for version v1.11.2

* Prepare experimental-metrics for version v0.34.0

* Update Changelog

Signed-off-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>

* Update CHANGELOG version.md

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

Signed-off-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2022-12-05 13:43:20 -06:00
Ziqi Zhao
22434311ae
Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com> (#3469)
prevent conflict metric info
2022-12-05 10:17:38 -06:00
Aaron Clawson
e97704c1ec
Fix a typo in the manual reader (#3509)
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2022-12-05 07:56:48 -08:00
dependabot[bot]
a436ae76f7
Bump github.com/Masterminds/semver/v3 from 3.1.1 to 3.2.0 in /schema (#3511)
Bumps [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/Masterminds/semver/releases)
- [Changelog](https://github.com/Masterminds/semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Masterminds/semver/compare/v3.1.1...v3.2.0)

---
updated-dependencies:
- dependency-name: github.com/Masterminds/semver/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-04 09:41:44 -08:00
Raymond
69ad652afb
change jaeger tag version in otel-collector (#3495)
Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2022-12-01 13:53:52 -08:00
Tyler Yahn
291aaa0221
Redefine gauge in Prometheus example to be a Gauge (#3498)
* Rename gauge var name in Prometheus example

Fix #3493

* Switch to actual gauge
2022-11-30 14:00:57 -06:00
Aaron Clawson
289a612e6a
Adds an Attribute assertion to metric data test (#3487)
* Adds an Attribute assertion to metric data test

Signed-off-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>
2022-11-29 14:32:15 -06:00
Yuri Shkuro
aa868d506b
Clarify HTTP/gRPC exporter examples (#3492)
Signed-off-by: Yuri Shkuro <github@ysh.us>
2022-11-28 09:22:59 -06:00
Aaron Clawson
d7b31155b5
Make the AsType functions not panic (#3489)
* Make the AsType functions not panic

* Adds changelog

Signed-off-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>

Signed-off-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>
Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2022-11-25 15:27:47 -08:00
Vasi Vasireddy
1f5e6adbf2
Update the usage of set-output command in GH actions (#3485) 2022-11-23 07:53:48 -08:00
dependabot[bot]
14efbb3169
Bump lycheeverse/lychee-action from 1.5.2 to 1.5.4 (#3462)
Bumps [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action) from 1.5.2 to 1.5.4.
- [Release notes](https://github.com/lycheeverse/lychee-action/releases)
- [Commits](https://github.com/lycheeverse/lychee-action/compare/v1.5.2...v1.5.4)

---
updated-dependencies:
- dependency-name: lycheeverse/lychee-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22 16:14:53 -08:00
Aaron Clawson
e36a361b68
Move otlpmetrics Client to an internal package. (#3486)
* Move otlp client to an internal package

* update changelog

* Apply suggestions from code review

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

* Update CHANGELOG.md

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2022-11-22 16:01:53 -08:00
Tyler Yahn
c4333a9687
Deprecate the sdk/metric/view package (#3476)
* Deprecate the sdk/metric/view package

* Add deprecation to changelog
2022-11-21 08:05:07 -08:00
Tyler Yahn
dbf960c8e1
Add view example tests (#3460)
* Add the InstrumentKind type and vars to sdk/metric

* Add the Instrument type to sdk/metric

* Add the Stream type to sdk/metric

* Add the View type to sdk/metric

* Add NewView to create Views matching OTel spec

* Add unit tests for NewView

* Add changes to changelog

* Apply suggestions from code review

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

* Update CHANGELOG.md

* Update match and mask comments of Instrument

* Explain wildcard logic in NewView with comment

* Drop views that replace name for multi-inst match

* Comment how users are expected to match zero-vals

* Remove InstrumentKind and Scope from Stream

* Fix redundant word in NewView comment

* Add view example tests

* Update comments to examples

* Fix broken English

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2022-11-21 07:45:47 -08:00
github-actions[bot]
0847081c47
dependabot updates Sun Nov 20 16:06:32 UTC 2022 (#3484)
Bump github.com/cenkalti/backoff/v4 from 4.1.3 to 4.2.0 in /exporters/otlp/internal/retry
Bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /exporters/otlp/otlpmetric/otlpmetricgrpc
Bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /exporters/otlp/otlpmetric
Bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /exporters/otlp/otlptrace
Bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /exporters/otlp/otlptrace/otlptracegrpc
Bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /example/otel-collector
Bump lycheeverse/lychee-action from 1.5.2 to 1.5.4

Co-authored-by: MrAlias <MrAlias@users.noreply.github.com>
2022-11-20 12:40:48 -08:00
Tyler Yahn
037719b646
Replace view use from sdk/metric/view to sdk/metric (#3461)
* Replace view usage in sdk/metric

* Replace view use in stdoutmetric

* Replace view use in prometheus exporter

* Replace view use in otlpmetric exporters

* Replace view use in view example
2022-11-19 09:05:20 -08:00
darkfeline
b0618095a4
Fix doc comment typo (#3470)
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2022-11-16 08:40:04 -08:00
Tyler Yahn
2e780d8e39
Add View, NewView, Instrument, Stream, and InstrumentKind to sdk/metric with unit tests (#3459)
* Add the InstrumentKind type and vars to sdk/metric

* Add the Instrument type to sdk/metric

* Add the Stream type to sdk/metric

* Add the View type to sdk/metric

* Add NewView to create Views matching OTel spec

* Add unit tests for NewView

* Add changes to changelog

* Apply suggestions from code review

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

* Update CHANGELOG.md

* Update match and mask comments of Instrument

* Explain wildcard logic in NewView with comment

* Drop views that replace name for multi-inst match

* Comment how users are expected to match zero-vals

* Remove InstrumentKind and Scope from Stream

* Fix redundant word in NewView comment

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2022-11-16 08:18:02 -08:00
github-actions[bot]
404f999fd0
dependabot updates Sun Nov 13 15:54:30 UTC 2022 (#3466)
Bump golang.org/x/tools from 0.2.0 to 0.3.0 in /internal/tools
Bump github.com/prometheus/client_golang from 1.13.1 to 1.14.0 in /example/view
Bump lycheeverse/lychee-action from 1.5.2 to 1.5.4

Co-authored-by: MrAlias <MrAlias@users.noreply.github.com>
2022-11-13 08:06:23 -08:00
Tyler Yahn
308d0362e6
Only registers callbacks if non-drop aggregation is used (#3408)
* Do not return an error for Drop aggs

The async instruments currently return an error if and only if there are
no aggregators returned from a resolve. Returning no aggregators means
the instrument aggregation is drop. Do not include this in the error
reporting decision.

* Only registers callbacks if non-drop agg is used

The instruments passed to RegisterCallback need to have some aggregation
defined otherwise it is implied they have a Drop aggregation. Check that
at least one instrument passed has an aggregation other than Drop before
registering the callback with the pipelines.

Also, return an error if the user passed another API implementation of
an asynchronous instrument.

* Remove unneeded TODO from pipeline

* Add changes to changelog

* Test callback not called for all drop instruments

* Test RegisterCallback returns err for non-SDK inst

* Fail gracefully for non-SDK instruments

Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2022-11-11 09:10:59 -08:00
Tyler Yahn
d091ba88e4
Do not export aggregations without any data points (#3436)
* Return empty nil aggs if no meas

* Update tests with new expected behavior

* Add change to changelog

* Set PR number in changelog

* Run lint

* Fix pipeline_test

* Scope change in changelog to pkg

* Clean up init of agg types
2022-11-11 07:22:27 -08:00
Tyler Yahn
acd87773e2
Restructure instrument creation code paths (#3256)
* Add BenchmarkInstrumentCreation

* Unify instrument provider

* Resolve import shadow

* Update sdk/metric/pipeline.go

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

* Punctuate to fix lint

Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2022-11-10 16:04:53 -08:00