Andrew Wilkins
e2da30d7d0
trace,metric,log: change WithInstrumentationAttributes to not de-depuplicate the passed attributes in a closure ( #7266 )
...
WithInstrumentationAttributes is creating a closure with a reference to
a slice which is later passed to attribute.NewSet.
attribute.NewSet may mutate the slice, so this will lead to a data race
when the option is applied concurrently. We can fix this by moving the
call to attribute.NewSet outside the closure.
Fixes #7217
<details>
<summary>benchstat for New*Config</summary>
```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/log
cpu: Intel(R) Core(TM) Ultra 7 155U
│ /tmp/old.txt │ /tmp/new.txt │
│ sec/op │ sec/op vs base │
NewLoggerConfig/with_no_options-14 2.961n ± 6% 3.091n ± 6% ~ (p=0.132 n=6)
NewLoggerConfig/with_an_instrumentation_version-14 24.75n ± 4% 25.04n ± 5% ~ (p=0.126 n=6)
NewLoggerConfig/with_a_schema_url-14 24.97n ± 6% 24.79n ± 4% ~ (p=0.974 n=6)
NewLoggerConfig/with_instrumentation_attribute-14 55.32n ± 4% 25.32n ± 4% -54.23% (p=0.002 n=6)
NewLoggerConfig/with_instrumentation_attribute_set-14 24.77n ± 3% 24.96n ± 4% ~ (p=0.394 n=6)
geomean 19.05n 16.47n -13.52%
│ /tmp/old.txt │ /tmp/new.txt │
│ B/op │ B/op vs base │
NewLoggerConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewLoggerConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewLoggerConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewLoggerConfig/with_instrumentation_attribute-14 64.00 ± 0% 0.00 ± 0% -100.00% (p=0.002 n=6)
NewLoggerConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
│ /tmp/old.txt │ /tmp/new.txt │
│ allocs/op │ allocs/op vs base │
NewLoggerConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewLoggerConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewLoggerConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewLoggerConfig/with_instrumentation_attribute-14 1.000 ± 0% 0.000 ± 0% -100.00% (p=0.002 n=6)
NewLoggerConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
pkg: go.opentelemetry.io/otel/metric
│ /tmp/old.txt │ /tmp/new.txt │
│ sec/op │ sec/op vs base │
NewMeterConfig/with_no_options-14 3.255n ± 2% 3.045n ± 4% -6.42% (p=0.002 n=6)
NewMeterConfig/with_an_instrumentation_version-14 22.84n ± 6% 23.14n ± 3% ~ (p=0.818 n=6)
NewMeterConfig/with_a_schema_url-14 24.71n ± 5% 25.29n ± 4% ~ (p=0.132 n=6)
NewMeterConfig/with_instrumentation_attribute-14 61.30n ± 5% 25.36n ± 7% -58.63% (p=0.002 n=6)
NewMeterConfig/with_instrumentation_attribute_set-14 25.93n ± 5% 26.24n ± 4% ~ (p=0.485 n=6)
geomean 19.64n 16.40n -16.49%
│ /tmp/old.txt │ /tmp/new.txt │
│ B/op │ B/op vs base │
NewMeterConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewMeterConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewMeterConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewMeterConfig/with_instrumentation_attribute-14 64.00 ± 0% 0.00 ± 0% -100.00% (p=0.002 n=6)
NewMeterConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
│ /tmp/old.txt │ /tmp/new.txt │
│ allocs/op │ allocs/op vs base │
NewMeterConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewMeterConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewMeterConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewMeterConfig/with_instrumentation_attribute-14 1.000 ± 0% 0.000 ± 0% -100.00% (p=0.002 n=6)
NewMeterConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
pkg: go.opentelemetry.io/otel/trace
│ /tmp/old.txt │ /tmp/new.txt │
│ sec/op │ sec/op vs base │
NewTracerConfig/with_no_options-14 2.980n ± 5% 2.948n ± 3% ~ (p=0.240 n=6)
NewTracerConfig/with_an_instrumentation_version-14 24.44n ± 4% 23.54n ± 1% -3.70% (p=0.002 n=6)
NewTracerConfig/with_a_schema_url-14 24.47n ± 5% 23.95n ± 7% ~ (p=0.180 n=6)
NewTracerConfig/with_instrumentation_attribute-14 58.39n ± 7% 25.54n ± 6% -56.25% (p=0.002 n=6)
NewTracerConfig/with_instrumentation_attribute_set-14 25.70n ± 3% 26.55n ± 6% ~ (p=0.310 n=6)
NewSpanStartConfig/with_no_options-14 2.670n ± 7% 2.838n ± 6% ~ (p=0.093 n=6)
NewSpanStartConfig/with_attributes-14 60.65n ± 20% 51.84n ± 8% ~ (p=0.240 n=6)
NewSpanStartConfig/with_attributes_set_multiple_times-14 115.4n ± 10% 110.0n ± 7% -4.68% (p=0.004 n=6)
NewSpanStartConfig/with_a_timestamp-14 18.03n ± 3% 17.77n ± 4% ~ (p=0.937 n=6)
NewSpanStartConfig/with_links-14 66.63n ± 8% 75.60n ± 8% +13.47% (p=0.009 n=6)
NewSpanStartConfig/with_links_set_multiple_times-14 155.2n ± 4% 162.8n ± 18% ~ (p=0.485 n=6)
NewSpanStartConfig/with_new_root-14 26.59n ± 19% 23.04n ± 4% -13.32% (p=0.004 n=6)
NewSpanStartConfig/with_span_kind-14 24.02n ± 4% 23.72n ± 9% ~ (p=0.589 n=6)
NewSpanEndConfig/with_no_options-14 2.673n ± 10% 2.765n ± 7% ~ (p=0.485 n=6)
NewSpanEndConfig/with_a_timestamp-14 17.37n ± 9% 18.04n ± 4% ~ (p=0.093 n=6)
NewSpanEndConfig/with_stack_trace-14 16.70n ± 3% 16.59n ± 4% ~ (p=0.937 n=6)
NewEventConfig/with_no_options-14 37.14n ± 6% 36.63n ± 3% ~ (p=0.818 n=6)
NewEventConfig/with_attributes-14 117.15n ± 9% 98.92n ± 14% -15.56% (p=0.009 n=6)
NewEventConfig/with_attributes_set_multiple_times-14 172.6n ± 5% 168.1n ± 9% ~ (p=0.333 n=6)
NewEventConfig/with_a_timestamp-14 25.41n ± 3% 26.66n ± 3% +4.92% (p=0.002 n=6)
NewEventConfig/with_a_stacktrace-14 51.01n ± 15% 52.45n ± 2% ~ (p=0.093 n=6)
geomean 28.82n 27.38n -4.98%
│ /tmp/old.txt │ /tmp/new.txt │
│ B/op │ B/op vs base │
NewTracerConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewTracerConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewTracerConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewTracerConfig/with_instrumentation_attribute-14 64.00 ± 0% 0.00 ± 0% -100.00% (p=0.002 n=6)
NewTracerConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_attributes-14 64.00 ± 0% 64.00 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_attributes_set_multiple_times-14 192.0 ± 0% 192.0 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_links-14 96.00 ± 0% 96.00 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_links_set_multiple_times-14 272.0 ± 0% 272.0 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_new_root-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_span_kind-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanEndConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanEndConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanEndConfig/with_stack_trace-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_attributes-14 64.00 ± 0% 64.00 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_attributes_set_multiple_times-14 192.0 ± 0% 192.0 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_a_stacktrace-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
│ /tmp/old.txt │ /tmp/new.txt │
│ allocs/op │ allocs/op vs base │
NewTracerConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewTracerConfig/with_an_instrumentation_version-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewTracerConfig/with_a_schema_url-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewTracerConfig/with_instrumentation_attribute-14 1.000 ± 0% 0.000 ± 0% -100.00% (p=0.002 n=6)
NewTracerConfig/with_instrumentation_attribute_set-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_attributes-14 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_attributes_set_multiple_times-14 2.000 ± 0% 2.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_links-14 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_links_set_multiple_times-14 2.000 ± 0% 2.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_new_root-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanStartConfig/with_span_kind-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanEndConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanEndConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewSpanEndConfig/with_stack_trace-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_no_options-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_attributes-14 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_attributes_set_multiple_times-14 2.000 ± 0% 2.000 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_a_timestamp-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
NewEventConfig/with_a_stacktrace-14 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=6) ¹
geomean ² ? ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean
```
</details>
---------
Co-authored-by: Robert Pająk <pellared@hotmail.com >
Co-authored-by: Flc゛ <four_leaf_clover@foxmail.com >
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
2025-09-11 08:47:22 -07:00
Robert Pająk
07a91dd2b0
trace,metric,log: add WithInstrumentationAttributeSet option ( #7287 )
...
Per
https://github.com/open-telemetry/opentelemetry-go/pull/7266#issuecomment-3237027300
Related to
https://github.com/open-telemetry/opentelemetry-go/issues/7217
## What
This PR adds `WithInstrumentationAttributeSet` option functions to the
`log`, `metric`, and `trace` packages as suggested in
https://github.com/open-telemetry/opentelemetry-go/pull/7266#issuecomment-3237027300 .
These new functions provide a more concurrent-safe alternative to the
existing `WithInstrumentationAttributes` functions by accepting a
pre-constructed `attribute.Set` instead of variadic `attribute.KeyValue`
parameters.
## Why
As discussed in #7266 , the existing `WithInstrumentationAttributes`
functions can lead to data races when used concurrently because
`attribute.NewSet()` may mutate the passed slice in-place. While the
issue was partially addressed by moving the `attribute.NewSet()` call
outside the closure, the best long-term solution is to provide an
alternative that accepts an immutable `attribute.Set`.
**Benefits:**
1. **Concurrent Safety**: Since `attribute.Set` is immutable, these
functions are inherently safe for concurrent use
2. **Performance**: Avoids repeated calls to `attribute.NewSet()` when
the same attributes are used multiple times
3. **Consistency**: Matches the existing pattern used in
`metric.WithAttributeSet()`
4. **Flexibility**: Allows users to pre-compute attribute sets and reuse
them
Deprecating `WithInstrumentationAttributes` is out of scope. See
https://github.com/open-telemetry/opentelemetry-go/pull/7287#issuecomment-3245820459 .
## Benchmarks
```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/trace
cpu: 13th Gen Intel(R) Core(TM) i7-13800H
BenchmarkNewTracerConfig/with_no_options-20 280298306 4.268 ns/op 0 B/op 0 allocs/op
BenchmarkNewTracerConfig/with_an_instrumentation_version-20 33389427 30.84 ns/op 0 B/op 0 allocs/op
BenchmarkNewTracerConfig/with_a_schema_url-20 35441077 30.46 ns/op 0 B/op 0 allocs/op
BenchmarkNewTracerConfig/with_instrumentation_attribute-20 17607649 88.23 ns/op 64 B/op 1 allocs/op
BenchmarkNewTracerConfig/with_instrumentation_attribute_set-20 38336211 31.30 ns/op 0 B/op 0 allocs/op
```
```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/metric
cpu: 13th Gen Intel(R) Core(TM) i7-13800H
BenchmarkNewMeterConfig/with_no_options-20 262998199 4.525 ns/op 0 B/op 0 allocs/op
BenchmarkNewMeterConfig/with_an_instrumentation_version-20 40483780 29.31 ns/op 0 B/op 0 allocs/op
BenchmarkNewMeterConfig/with_a_schema_url-20 39162420 30.58 ns/op 0 B/op 0 allocs/op
BenchmarkNewMeterConfig/with_instrumentation_attribute-20 19900275 77.50 ns/op 64 B/op 1 allocs/op
BenchmarkNewMeterConfig/with_instrumentation_attribute_set-20 37519020 31.93 ns/op 0 B/op 0 allocs/op
```
```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/log
cpu: 13th Gen Intel(R) Core(TM) i7-13800H
BenchmarkNewLoggerConfig/with_no_options-20 271100760 4.322 ns/op 0 B/op 0 allocs/op
BenchmarkNewLoggerConfig/with_an_instrumentation_version-20 38392390 30.77 ns/op 0 B/op 0 allocs/op
BenchmarkNewLoggerConfig/with_a_schema_url-20 39615074 30.25 ns/op 0 B/op 0 allocs/op
BenchmarkNewLoggerConfig/with_instrumentation_attribute-20 17108463 82.51 ns/op 64 B/op 1 allocs/op
BenchmarkNewLoggerConfig/with_instrumentation_attribute_set-20 37746534 31.70 ns/op 0 B/op 0 allocs/op
```
2025-09-08 17:21:37 +02:00
Robert Pająk
dcf14aa937
trace,metric,log: WithInstrumentationAttributes options to merge attributes ( #7300 )
...
## What
Fix `WithInstrumentationAttributes` options in
`go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/metric`, and
`go.opentelemetry.io/otel/log` to properly merge attributes when passed
multiple times instead of replacing them. Attributes with duplicate keys
will use the last value passed.
## Why
Per
https://github.com/open-telemetry/opentelemetry-go/pull/7287#pullrequestreview-3181379062
and
https://github.com/open-telemetry/opentelemetry-go/pull/7287#issuecomment-3250085450
Not that this does not address
https://github.com/open-telemetry/opentelemetry-go/issues/7217 . This is
left to a seperate PR to not scope creep this one. CC @axw
---------
Co-authored-by: Damien Mathieu <42@dmathieu.com >
2025-09-08 10:46:08 +02:00
Robert Pająk
1737ab8666
docs: unify doc comments for functions returning bool ( #7064 )
...
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7063
If also fixes Go Doc comment for `SpanID.IsEmpty`.
The pattern is based on the way the Go standard library documents
functions returning a boolean.
2025-07-23 07:58:50 +02:00
Damien Mathieu
bab246013b
Fix span option typo in SDK span End, and WithAttributes only being available on span start ( #6006 )
2024-11-27 16:53:10 +01:00
Robert Pająk
7dea232a46
[chore] Simplify the license header ( #4987 )
2024-02-29 07:05:28 +01:00
Tyler Yahn
5dff273a1e
Use gofumpt instead of gofmt ( #4623 )
...
* Use gofumpt instead of gofmt in golangci-lint conf
* Run gofumpt fixes
* Format generated templates
---------
Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com >
2023-10-16 10:02:21 -07:00
Tyler Yahn
99ec432679
Accept scope attributes during Tracer creation ( #3739 )
...
* Accept scope attributes during Tracer creation
The OTel specification requires the instrumentation attributes are
accepted by the API for the Tracer. This adds a TracerOption to satisfy
that requirement.
2023-02-21 13:31:37 -06:00
Aaron Clawson
7aba25d651
Revert Adding attributes to the instrumentation scope.
...
Revert "Add instrumentation scope attributes (#3131 )" (#3154 )
This reverts commit 0078faeb0e .
Revert "Add WithScopeAttributes MeterOption to metric API package (#3132 )"
This reverts commit 81a9bab814 .
2022-09-09 09:06:58 -05:00
Tyler Yahn
0078faeb0e
Add instrumentation scope attributes ( #3131 )
...
* Add WithScopeAttributes TracerOption to trace API
* Add Attributes field to instrumentation Scope
* Use scope attributes for new Tracer
* Fix stdouttrace expected test output
* Allow unexported Set fields in sdk/trace test
* Export instrumentation scope attrs in OTLP
* Add changes to the changelog
* Fix imports with make lint
* Add unit tests for WithScopeAttributes
* Fix English in Scope documentation
2022-08-31 15:19:50 -07:00
Tyler Yahn
fdfc821bac
Add godot linter to golangci ( #2845 )
...
Comment should be complete sentences outside of lists with sentence
fragments. This adds the godot linter to check these complete sentences
end with punctuation. If they do not, running fix will append a period.
2022-04-25 13:22:49 -07:00
Tyler Yahn
bd817df68c
Change Options to accept type not pointer ( #2558 )
...
* Change trace options to accept type not pointer
Add benchmark to show allocation improvement.
* Update CONTRIBUTING.md guidelines
* Update all Option iface
* Fix grammar in CONTRIBUTING
2022-02-01 15:51:23 -06:00
Srikanth Chekuri
8ba6da8f3e
Skip links with invalid span context ( #2275 )
...
* Skip links with invalid span context
* Add CHANGELOG entry
* Review suggestions
2021-10-12 07:45:10 -07:00
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
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
Willy Romão
fcf945a4ab
Just a little typo fix in code documentation. ( #2159 )
...
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
2021-08-04 13:57:01 -07:00
Anderson Queiroz
7a0cee7b3a
Replaces golint by revive and fix newly reported linter issues ( #1946 )
...
* replaces golint by revive and fix newly reported linter issues
* add pull request ID to CHANGELOG.md
* Update internal/matchers/temporal_matcher.go
Co-authored-by: Robert Pająk <pellared@hotmail.com >
* fix pull request issues
* explains why the linter is disabled
* Update semconv/http.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
* Update metric/unit/unit.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
* restores 'example/passthrough/go.sum' to original state
* fix after rebase
* export ErrInvalidAsyncRunner again and add nolint
* Update trace/tracestate.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
* Update sdk/metric/sdk.go
Co-authored-by: Aaron Clawson <Aaron.Clawson@gmail.com >
* Fix ContextWithoutBaggage comment
* Fix SpanEndOption comment
Co-authored-by: Robert Pająk <pellared@hotmail.com >
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
Co-authored-by: Aaron Clawson <Aaron.Clawson@gmail.com >
Co-authored-by: Tyler Yahn <codingalias@gmail.com >
2021-06-08 10:10: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
ET
3684191338
Remove WithRecord() option from trace.SpanOption when starting a span ( #1660 )
...
* Remove `WithRecord()` option from SpanConfig options
This brings the trace API into conformance with the specification.
* Add entry to CHANGELOG
Fixes #192
* Updated CHANGELOG with PR#
* Cleaned up CHANGELOG notes
* fixup! Merge remote-tracking branch 'upstream/main' into remove-with-record
* Use new spanContext API to set traceflags, tracestate
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
2021-03-09 09:45:09 -08:00
Punya Biswal
37688ef676
revent end-users from implementing some interfaces ( #1575 )
...
"otel/exporters/otlp/otlphttp".Option
"otel/exporters/stdout".Option
"otel/oteltest".Option
"otel/trace".TracerOption
"otel/trace".SpanOption
"otel/trace".EventOption
"otel/trace".LifeCycleOption
"otel/trace".InstrumentationOption
"otel/sdk/resource".Option
"otel/sdk/trace".ParentBasedSamplerOption
"otel/sdk/trace".ReadOnlySpan
"otel/sdk/trace".ReadWriteSpan
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
2021-02-24 10:03:35 -08:00
Punya Biswal
ecf65d7968
Rename otel/label -> otel/attribute ( #1541 )
...
* Rename otel/label -> otel/attr
Leave the imported name alone, to avoid a large diff and conflicts
* Better import comment
* Update CHANGELOG.md
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
* otel/attr -> otel/attribute
* Missed the changelog entry
* Get rid of import renaming
* Merge remaining conflicts
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com >
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com >
2021-02-18 12:59:37 -05:00
Krzesimir Nowak
3268501910
Move tracing code to trace package ( #1307 )
...
* Move tracing code to trace package
* Update changelog
2020-11-06 17:13:31 -05:00