Lauri Tulmin
a51535d08e
Test http client captured headers ( #7993 )
2023-03-07 20:05:29 +02:00
Mateusz Rzeszutek
ea237e3a80
Update HTTP span name extractors ( #7730 )
...
Implements
https://github.com/open-telemetry/opentelemetry-specification/issues/2998
---------
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-02-14 07:40:05 -08:00
jason plumb
db6b764421
More HTTP testing refactor prework ( #7630 )
...
This is another follow-up from #7616 . This makes the test options class
immutable and uses `@AutoValue` and `@AutoValue.Builder`. As a result, a
bunch of the configuration/setup code for these said options now flings
around a builder instance. This isn't great, but I think it's an
incremental improvement that can be seen in the `@BeforeAll
AbstractHttpClientTest.setupOptions()` method, where the immutable
options are (finally) instantiated.
2023-01-23 09:42:32 -08:00
Mateusz Rzeszutek
e1895e548c
Rename all methods in all Getters to use the `get*()` naming scheme ( #7619 )
...
Resolves #6562
This PR only contains renames; the actual content is in the `*Getter`
interfaces, the rest of changes is just IntelliJ doing its job.
2023-01-23 09:28:11 +00:00
jason plumb
c5e384fe9f
Http testing refactor prework ( #7623 )
...
As part of discussions #7616 , the idea of trying to do a more piecemeal
approach came up. A reasonable ask.
This is the first step in refactoring the http client tests. It factors
out the `HttpClientResult` inner class of the `AbstractHttpClientTest`
so that this can be reused by new test framework later. It also factors
the relevant abstract methods in the abstract class to a new type
adapter, which will also be reused.
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-01-20 18:20:42 +00:00
Mateusz Rzeszutek
d89932098a
Disable YodaCondition check and revert some of the changes ( #7596 )
...
Let's keep close to the SDK repo config.
I reverted some of the changes, only left those that I think make sense
anyway (e.g. comparing enums with `==`)
2023-01-17 19:44:15 -08:00
Amir Blum
911b3b5feb
docs(okhttp): fix class name in README ( #7578 )
...
for okhttp-3.0 instrumentation, the README uses `OkHttpTracing`:
```java
import io.opentelemetry.instrumentation.okhttp.v3_0.OkHttpTracing;
...
return OkHttpTracing.builder(openTelemetry).build().newCallFactory(createClient());
```
#5624 changed `OkHttpTracing` to `OkHttpTelemetry` but the docs still
show the previous value which no longer works
2023-01-15 09:10:05 -08:00
dependabot[bot]
f335861136
Bump errorProneVersion from 2.17.0 to 2.18.0 ( #7532 )
...
Bumps `errorProneVersion` from 2.17.0 to 2.18.0.
Updates `error_prone_annotations` from 2.17.0 to 2.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/error-prone/releases ">error_prone_annotations's
releases</a>.</em></p>
<blockquote>
<h2>Error Prone 2.18.0</h2>
<p>New Checkers:</p>
<ul>
<li><a
href="https://errorprone.info/bugpattern/InjectOnBugCheckers "><code>InjectOnBugCheckers</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/LabelledBreakTarget "><code>LabelledBreakTarget</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/UnusedLabel "><code>UnusedLabel</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/YodaCondition "><code>YodaCondition</code></a></li>
</ul>
<p>Fixes issues: <a
href="https://github-redirect.dependabot.com/google/error-prone/issues/1650 ">#1650</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/2706 ">#2706</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3404 ">#3404</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3493 ">#3493</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3504 ">#3504</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3519 ">#3519</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3579 ">#3579</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3610 ">#3610</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3632 ">#3632</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3638 ">#3638</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3645 ">#3645</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3646 ">#3646</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3652 ">#3652</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3690 ">#3690</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0 ">https://github.com/google/error-prone/compare/v2.17.0...v2.18.0 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34730decfe
"><code>34730de</code></a>
Release Error Prone 2.18.0</li>
<li><a
href="ee1e7778d3
"><code>ee1e777</code></a>
Remove <code>DoNoCall</code> flags for checking <code>Thread.run</code>
and various <code>getClass</code> meth...</li>
<li><a
href="bb9ede9f25
"><code>bb9ede9</code></a>
Delete dependabot.yml</li>
<li><a
href="7f459e14cd
"><code>7f459e1</code></a>
Refaster: support method invocation type argument inlining</li>
<li><a
href="a57309b018
"><code>a57309b</code></a>
Add a check to reverse Yoda conditions.</li>
<li><a
href="181f9918bc
"><code>181f991</code></a>
Use <code>ASTHelpers.enclosingClass</code>.</li>
<li><a
href="360ed99da2
"><code>360ed99</code></a>
Don't generate a "Suppression" section that recommends
`@SuppressWarnings("Ch...</li>
<li><a
href="c06c7b8b6e
"><code>c06c7b8</code></a>
Look for infinite recursion in the first statement of multi-statement
methods.</li>
<li><a
href="0f5753f67b
"><code>0f5753f</code></a>
Reverse Yoda conditions in EP.</li>
<li><a
href="f36a502b5f
"><code>f36a502</code></a>
Make MemoizeConstantVisitorStateLookups check suppressible</li>
<li>Additional commits viewable in <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `error_prone_core` from 2.17.0 to 2.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/error-prone/releases ">error_prone_core's
releases</a>.</em></p>
<blockquote>
<h2>Error Prone 2.18.0</h2>
<p>New Checkers:</p>
<ul>
<li><a
href="https://errorprone.info/bugpattern/InjectOnBugCheckers "><code>InjectOnBugCheckers</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/LabelledBreakTarget "><code>LabelledBreakTarget</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/UnusedLabel "><code>UnusedLabel</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/YodaCondition "><code>YodaCondition</code></a></li>
</ul>
<p>Fixes issues: <a
href="https://github-redirect.dependabot.com/google/error-prone/issues/1650 ">#1650</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/2706 ">#2706</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3404 ">#3404</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3493 ">#3493</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3504 ">#3504</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3519 ">#3519</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3579 ">#3579</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3610 ">#3610</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3632 ">#3632</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3638 ">#3638</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3645 ">#3645</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3646 ">#3646</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3652 ">#3652</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3690 ">#3690</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0 ">https://github.com/google/error-prone/compare/v2.17.0...v2.18.0 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34730decfe
"><code>34730de</code></a>
Release Error Prone 2.18.0</li>
<li><a
href="ee1e7778d3
"><code>ee1e777</code></a>
Remove <code>DoNoCall</code> flags for checking <code>Thread.run</code>
and various <code>getClass</code> meth...</li>
<li><a
href="bb9ede9f25
"><code>bb9ede9</code></a>
Delete dependabot.yml</li>
<li><a
href="7f459e14cd
"><code>7f459e1</code></a>
Refaster: support method invocation type argument inlining</li>
<li><a
href="a57309b018
"><code>a57309b</code></a>
Add a check to reverse Yoda conditions.</li>
<li><a
href="181f9918bc
"><code>181f991</code></a>
Use <code>ASTHelpers.enclosingClass</code>.</li>
<li><a
href="360ed99da2
"><code>360ed99</code></a>
Don't generate a "Suppression" section that recommends
`@SuppressWarnings("Ch...</li>
<li><a
href="c06c7b8b6e
"><code>c06c7b8</code></a>
Look for infinite recursion in the first statement of multi-statement
methods.</li>
<li><a
href="0f5753f67b
"><code>0f5753f</code></a>
Reverse Yoda conditions in EP.</li>
<li><a
href="f36a502b5f
"><code>f36a502</code></a>
Make MemoizeConstantVisitorStateLookups check suppressible</li>
<li>Additional commits viewable in <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0 ">compare
view</a></li>
</ul>
</details>
<br />
Updates `error_prone_test_helpers` from 2.17.0 to 2.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/error-prone/releases ">error_prone_test_helpers's
releases</a>.</em></p>
<blockquote>
<h2>Error Prone 2.18.0</h2>
<p>New Checkers:</p>
<ul>
<li><a
href="https://errorprone.info/bugpattern/InjectOnBugCheckers "><code>InjectOnBugCheckers</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/LabelledBreakTarget "><code>LabelledBreakTarget</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/UnusedLabel "><code>UnusedLabel</code></a></li>
<li><a
href="https://errorprone.info/bugpattern/YodaCondition "><code>YodaCondition</code></a></li>
</ul>
<p>Fixes issues: <a
href="https://github-redirect.dependabot.com/google/error-prone/issues/1650 ">#1650</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/2706 ">#2706</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3404 ">#3404</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3493 ">#3493</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3504 ">#3504</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3519 ">#3519</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3579 ">#3579</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3610 ">#3610</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3632 ">#3632</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3638 ">#3638</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3645 ">#3645</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3646 ">#3646</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3652 ">#3652</a>,
<a
href="https://github-redirect.dependabot.com/google/error-prone/issues/3690 ">#3690</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0 ">https://github.com/google/error-prone/compare/v2.17.0...v2.18.0 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34730decfe
"><code>34730de</code></a>
Release Error Prone 2.18.0</li>
<li><a
href="ee1e7778d3
"><code>ee1e777</code></a>
Remove <code>DoNoCall</code> flags for checking <code>Thread.run</code>
and various <code>getClass</code> meth...</li>
<li><a
href="bb9ede9f25
"><code>bb9ede9</code></a>
Delete dependabot.yml</li>
<li><a
href="7f459e14cd
"><code>7f459e1</code></a>
Refaster: support method invocation type argument inlining</li>
<li><a
href="a57309b018
"><code>a57309b</code></a>
Add a check to reverse Yoda conditions.</li>
<li><a
href="181f9918bc
"><code>181f991</code></a>
Use <code>ASTHelpers.enclosingClass</code>.</li>
<li><a
href="360ed99da2
"><code>360ed99</code></a>
Don't generate a "Suppression" section that recommends
`@SuppressWarnings("Ch...</li>
<li><a
href="c06c7b8b6e
"><code>c06c7b8</code></a>
Look for infinite recursion in the first statement of multi-statement
methods.</li>
<li><a
href="0f5753f67b
"><code>0f5753f</code></a>
Reverse Yoda conditions in EP.</li>
<li><a
href="f36a502b5f
"><code>f36a502</code></a>
Make MemoizeConstantVisitorStateLookups check suppressible</li>
<li>Additional commits viewable in <a
href="https://github.com/google/error-prone/compare/v2.17.0...v2.18.0 ">compare
view</a></li>
</ul>
</details>
<br />
You can trigger a rebase of this PR by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-01-11 20:25:46 -08:00
Mateusz Rzeszutek
95ec4a8c1f
HTTP semconv: filter out default peer/host ports ( #7258 )
...
After a loooong break, the next part of the HTTP semconv implementation:
filtering out default HTTP ports, client and server.
> [5]: If not default (80 for http scheme, 443 for https).
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#http-client
2022-11-22 17:14:20 +00:00
Aaron Ai
2d7395c44b
Introduce markdown lint check ( #7175 )
...
Fixes #7129
2022-11-16 20:48:42 -08:00
Lauri Tulmin
b0012b083b
okhttp: run our interceptor before other interceptors ( #6997 )
...
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/6909
If our interceptor runs before other interceptors then other
interceptors replacing the request won't affect our interceptor.
2022-10-27 12:45:02 -07:00
Trask Stalnaker
71b3e3e027
Library doc cleanup ( #6948 )
...
Related to #6947 , but just cleans up the library module doc that already
existed (mostly for uniformity). Does not introduce any new doc.
2022-10-24 10:26:21 -07:00
Mateusz Rzeszutek
77035fc88c
Extract `net.peer.{name,port}` on start for CLIENT spans ( #6828 )
...
The [HTTP
spec](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#http-client )
says these two attributes must be provided at span creation time - I
think it makes sense to extend it over to all `net`-related
instrumentations, cause these are supposed to be the logical peer
name/port, which are supposed to be known before the connection is
started/exchange is made.
2022-10-10 16:00:19 -07:00
Trask Stalnaker
429ecfc713
Update error prone ( #6646 )
...
(note that change from BDDMockito is due to
https://github.com/google/error-prone/issues/3396 )
2022-09-23 11:24:40 -07:00
Mateusz Rzeszutek
f50f1fed3b
Fix instrumentation-api-semconv packages ( #6590 )
...
* Fix instrumentation-api-semconv packages
* Move test
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-09-12 14:51:27 -07:00
Lauri Tulmin
2863293f26
Fix daily build failures ( #6510 )
2022-08-25 12:26:36 -07:00
Mateusz Rzeszutek
a83e6ca652
Refactor OkHttp tests to Java ( #6484 )
...
* Refactor OkHttp tests to Java
* throws Exception
2022-08-24 09:18:15 -07:00
Trask Stalnaker
f1774cabe2
Update net semantic convention changes ( #6268 )
...
* New net conventions: option a
* Feedback + sock.family + sock.peer.name
* peer.service + tests
* server net attributes attempt 1
* server net attributes attempt 2
* Javadoc
* Revisions
* Apply to instrumentations
* Feedback
* One more default method
* Spotless
* Fix javadoc
2022-08-18 09:02:23 -07:00
Mateusz Rzeszutek
6cd79b2a94
Deprecate the 2-arg variant of HttpCommonAttributesGeter#statusCode() ( #6466 )
...
* Deprecate the 2-arg variant of HttpCommonAttributesGeter#statusCode()
* fix liberty
2022-08-12 17:11:11 -07:00
Mateusz Rzeszutek
b2c90c79b5
Extract HTTP request & response content length from headers ( #6415 )
...
* Extract HTTP request & response content length from headers
* remove unused method
* fix camel tests
* fix google http client tests
* fix HttpUrlConnection tests
* fix k8s and jaxrs tests
* fix aws tests
* actually fix aws tests 🤞
* fix elasticsearch tests
* fix ratpack tests
* fix spring webflux tests
* fix vertx tests
* fix reactor netty tests
2022-08-05 10:55:47 -07:00
Mateusz Rzeszutek
5a152cd289
Deprecate uncompressed content length HTTP attributes ( #6383 )
2022-07-29 06:17:38 +02:00
Mateusz Rzeszutek
82b39b1012
Rename `newInstrumenter()` into `buildInstrumenter()` ( #6363 )
...
* Rename newInstrumenter() into buildInstrumenter()
* spotless
2022-07-25 12:02:46 -07:00
Mateusz Rzeszutek
b917b3bf9c
Use ConfigProperties instead of Config in the agent code ( #6322 )
...
* Use ConfigProperties instead of Config in the agent code
* Fix merge conflict
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-07-18 19:04:48 -07:00
Mateusz Rzeszutek
3af56e7d22
InstrumentationConfig part 3: HTTP headers and peer service mappings ( #6302 )
2022-07-15 14:52:52 -07:00
Mateusz Rzeszutek
b23db97a28
Use ConfigProperties in javaagent SPIs ( #6285 )
...
* Use ConfigProperties in javaagent SPIs
* remove deprecated
* errorprone
* fix javaagent build
* fix javaagent-tooling tests
* spotless
2022-07-12 08:41:01 +02:00
Mateusz Rzeszutek
6a0ca530b7
Instrumentation API changes: VirtualField ( #6017 )
...
* Instrumentation API changes: VirtualField
* change class name in string constant
2022-05-12 11:17:24 -07:00
Mateusz Rzeszutek
87b412fb40
Instrumentation API changes: OperationMetrics, OperationListener ( #6016 )
...
* Instrumentation API changes: OperationMetrics, OperationListener
* errorprone
2022-05-12 11:16:46 -07:00
Mateusz Rzeszutek
d919f84cf8
Merge javaagent-instrumentation-api into javaagent-extension-api ( #5936 )
...
* Merge javaagent-instrumentation-api into javaagent-extension-api
* remove some leftover references to javaagent-instrumentation-api
* add missing instrumentation-api to distro example
2022-04-28 20:11:15 -07:00
Trask Stalnaker
0d92a21f37
Rename javaagent executor package names ( #5847 )
...
* Rename package javaconcurrent -> executors
* Rename package concurrent -> executors
2022-04-18 22:15:28 -07:00
Mateusz Rzeszutek
7c760acea6
Move some classes out of `javaagent-instrumentation-api` ( #5841 )
...
* Move concurrent instrumentation utils out from javaagent-instrumentation-api
* Move AgentLogEmitterProvider, InstrumentedTaskClasses and OpenTelemetrySdkAccess out of javaagent-instrumentation-api
2022-04-15 12:09:28 -07:00
Anuraag Agrawal
cd528e98fb
Rename library entrypoints to Telemetry ( #5624 )
...
* Rename library entrypoints to Telemetry
* Renames
2022-03-22 14:39:23 +09:00
Mateusz Rzeszutek
b0d5fc6b99
Remove deprecated methods from instrumentation-api and library instrumentations ( #5575 )
2022-03-15 09:33:48 +09:00
Lauri Tulmin
e9c1efece2
Update to Groovy 4 ( #5532 )
...
* Update to Groovy 4
* exclude spock from grails tests, update comment
* Update instrumentation/grails-3.0/javaagent/build.gradle.kts
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-03-09 15:07:41 -08:00
Mateusz Rzeszutek
f6cca58f1f
Deprecate CapturedHttpHeaders and replace it with builder methods ( #5533 )
2022-03-09 12:21:32 -08:00
Mateusz Rzeszutek
4a98dae431
Add builders for setting optional attributes on HTTP extractors ( #5347 )
...
* Add builders for setting optional attributes on HTTP extractors
* errorprone
* fix compilation failure
2022-03-08 17:21:14 +01:00
Trask Stalnaker
1077258263
Add InternalJavadoc custom error prone check ( #5277 )
...
* Add InternalJavadoc custom error prone check
* Add example usage
* Move to conventions
* Revert "Move to conventions"
This reverts commit d8a8209b59
.
* Just get it working
* Clearer error message
* versions
* Apply almost everywhere
* feedback
* Always at the end of javadoc
* Fix test
* Missed (at least) one
* No longer internal
* Fix NPE
* Spotless
* Convert awslambda Java test to JUnit 5 so can reduce visibility
* Reduce visibility
* Rename the check
* More
* Move into errorprone-convention
* Fix UserExcludedClassesConfigurerTest
2022-02-01 17:54:57 -08:00
Mateusz Rzeszutek
8b767ac435
Refactor HTTP attributes extractors to use composition over inheritance ( #5267 )
...
* Refactor HTTP attributes extractors to use composition over inheritance
* Rename remaining variables: *Extractor to *Getter
2022-01-31 09:25:27 -08:00
jason plumb
c5c0a2bcdf
NetClientAttributesAdapter - favor composition over inheritance ( #5030 )
...
* first pass at separating NetAttributesAdapter interface and make NetClientAttributesExtractor concrete
* rename the implementations extractor -> adapter
* hide constructor and make factory method
* rename to client and add javadoc
* spotless
* finish javadoc thought
* rebase
* renamed NetClientAttributesAdapter to NetClientAttributesGetter
* fix lettuce
* code review comments
* code review comments -- renaming for consistency
* adapter -> getter
* fix ratpack
* adapter -> getter
2022-01-20 10:51:13 -08:00
Mateusz Rzeszutek
9a4a68d836
Add Android API-friendliness checks ( #4505 )
...
* Add Android API-friendliness checks
* Improve comments
* Remove ignores
* Handle CompletionException
* Spotless
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-11-24 12:59:11 -08:00
Nikita Salnikov-Tarnovski
e7b8cca107
Convert TextMapSetters and TextMapGetters to enums ( #4522 )
...
* Convert TextMapSetters to enums
* Convert TextMapGetters to enums
2021-11-08 22:01:40 +02:00
Lauri Tulmin
44cec73cec
Fix flaky okhttp read timeout tests ( #4499 )
2021-10-25 13:45:21 -07:00
Martin
d314d76fce
rename `newBuilder()` to `builder()` ( #4475 )
...
* rename `newBuilder()` to `builder()`
* rename `newBuilder()` to `builder()`
2021-10-22 20:50:43 -07:00
Mateusz Rzeszutek
13f28dca2a
Enable read timeout tests in OkHTTP instrumentation ( #4422 )
2021-10-19 13:38:36 -07:00
Martin
ac91dc090a
Type annotation placement ( #4406 )
...
* switch annotation `org.checkerframework.checker.nullness.qual.Nullable` to `javax.annotation.Nullable`
* code format
2021-10-17 17:38:43 -07:00
Trask Stalnaker
63a2383905
Split NetAttributesExtractor into NetClientAttributesExtractor and NetServerAttributesExtractor ( #4287 )
...
* Net Extractors
* Either request or response but not both
* Fix merge conflicts
* Separate by OnStart/OnEnd
* PeerServiceAttributes
* Fix test
* Restructure to client/server
* Fix merge conflict in main
* more
* peer.service
* Feedback
* peer.service is only for clients
* Fix merge conflict
* rename
* Armeria
* peer.service is only for clients
* rename
* WIP
* Sync Dubbo with Armeria
* More Dubbo and Armeria
* gRPC
* Revert some Dubbo changes
* more peer.service
* Fix test
* Fix merge
* Fixes
2021-10-07 15:40:15 -07:00
Nikita Salnikov-Tarnovski
a48bd9de3f
Move PeerServiceAttributesExtractor from javaagent api to instrumentation api ( #4235 )
...
* Move PeerServiceAttributesExtractor from javaagent api to instrumentation api
* spotless
2021-10-06 12:42:55 -07:00
Mateusz Rzeszutek
f80f4a9f63
Allow configuring captured HTTP headers in library instrumentations ( #4309 )
2021-10-06 13:32:39 +02:00
Mateusz Rzeszutek
7791be24e0
Remove implementations of host() and userAgent() in HTTP extractors ( #4299 )
...
* Remove implementations of host() and userAgent() in HTTP extractors
* fix broken headers copying
2021-10-05 10:25:45 -07:00
Mateusz Rzeszutek
7473eff1e6
Extract HTTP request/response headers as span attributes ( #4237 )
...
* Extract HTTP request/response headers as span attributes
* fix muzzle
* code review comments
* fix compilation failure after merge conflict
* avoid using streams API when transforming the headers list
* fix liberty extractor
* fix spring webmvc extractor
2021-10-05 10:20:59 +02:00
Mateusz Rzeszutek
c11b96e4d0
Make it possible to use InstrumentationContext (now VirtualField) fro… ( #4218 )
...
* Make it possible to use InstrumentationContext (now VirtualField) from library instrumentation
* fix tests
* fix javadocs
* fix some more tests
* code review comments
* setIfNull, computeIfNull
2021-10-01 11:13:11 +02:00
Trask Stalnaker
9ea33edf08
Remove attrs from http client attributes extractor ( #4210 )
...
* Remove scheme/host/target from HttpClientAttributesExtractor
* And jaxrs-client
* Remove unused methods
2021-09-28 12:58:42 -07:00
Mateusz Rzeszutek
a277a8b636
Separate HTTP client/server AttributesExtractors ( #4195 )
2021-09-24 10:06:23 -07:00
Trask Stalnaker
b8391b1354
Remove the only two author tags ( #4129 )
...
* Remove the only two author tags
* Spotless
2021-09-15 09:42:04 -07:00
Mateusz Rzeszutek
ab9c688e7a
Test nested CLIENT span suppression in library instrumentations ( #3970 )
2021-08-27 11:16:59 +02:00
Mateusz Rzeszutek
f808090a4a
Enable kubernetes-client strict context check ( #3945 )
2021-08-25 09:32:56 -07:00
Lauri Tulmin
a923efc077
Strict context check on okhttp3 ( #3925 )
2021-08-24 09:43:34 -07:00
John Watson
fa168268c5
Revert okhttp library instrumentation back to using standard reflection to support Android usage ( #3910 )
...
* Revert back to using standard reflection to support Android usage
* Add a comment about not using MethodHandles
2021-08-23 18:58:43 -07:00
Trask Stalnaker
3525733ea8
Enable strict context check in tests by default ( #3822 )
2021-08-23 17:40:02 -07:00
John Watson
6dbb64ec7a
Implement a Call.Factory for okhttp 3.x+ library instrumentation ( #3812 )
...
* Add a README for the okhttp library instrumentation.
* Create new instrumentation for okhttp3 4.x+
This exposes a `Call.Factory` which will properly handle internal context propagation when used with async callbacks.
* update the "4.x" instrumentation to support 3.x
* Get rid of the 4.x instrumentation, and just update the 3.x instrumentation to work
* updates from PR review
* replace old reflection with method handle usage
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-08-18 12:16:24 +09:00
Anuraag Agrawal
8cbec715ff
Fill HTTP_CLIENT_IP in ServerInstrumenter ( #3756 )
2021-08-05 13:11:30 +09:00
Mateusz Rzeszutek
ba4db4801f
Clean up concurrent advice utilities in javaagent-instrumentation-api ( #3757 )
...
* Clean up concurrent advice utilities in javaagent-instrumentation-api
* fix classloading tests
2021-08-03 09:17:19 -07:00
Anuraag Agrawal
47be4a16b4
Convert HttpClientTest to JUnit ( #3652 )
...
* Migrate HttpClientTest to junit to allow both Java or spock tests.
* More
* Update
* Finish
* Cleanup
* Better stack
* Java 15
* Merge
* Fix name
* Cleanup
* ? extends
* Moar
2021-07-27 21:55:40 +09:00
Lauri Tulmin
b483d7d249
Fix concurrency with callback test on okhttp3 latest ( #3676 )
2021-07-26 18:49:21 +03:00
Lauri Tulmin
26dc106399
Okhttp3: fix concurrency test with callback ( #3669 )
2021-07-26 13:12:29 +09:00
Anuraag Agrawal
04c070ccc1
Add HTTPClientMetrics ( #3598 )
...
* Add HTTPClientMetrics
* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/http/HttpClientMetrics.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-07-16 18:22:35 +09:00
Lauri Tulmin
1d01475948
Use http 1.1 for okhttp3 tests ( #3565 )
2021-07-14 13:21:49 +03:00
Mateusz Rzeszutek
71e7d666ed
Convert OkHttp 3 to Instrumenter API ( #3538 )
...
* Convert OkHttp 3 to Instrumenter API
* code review
* Update instrumentation/okhttp/okhttp-3.0/library/src/main/java/io/opentelemetry/instrumentation/okhttp/v3_0/OkHttpAttributesExtractor.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-07-13 18:41:19 -07:00
Mateusz Rzeszutek
c5ba5c3a71
Use local variable for passing CallDepth between advice enter/exit me… ( #3504 )
...
* Use local variable for passing CallDepth between advice enter/exit methods
* fix broken call depth tracking
* checkstyle
* fix javadocs
2021-07-06 12:05:14 -07:00
Mateusz Rzeszutek
b9fcb6b498
Reduce CallDepth classes' API surface ( #3497 )
2021-07-06 09:24:19 +02:00
Anuraag Agrawal
3cfa086ffd
Migrate nullaway config to plugin ( #3462 )
2021-07-01 18:13:16 +09:00
Mateusz Rzeszutek
15ed01d4fc
Change all instrumentation names to io.opentelemetry.{libName}-{libVersion} ( #3411 )
...
* Change all instrumentation names to io.opentelemetry.{libName}-{libVersion}
* minumum supported version
2021-06-30 15:34:36 +02:00
Anuraag Agrawal
761b9c280b
Migrate instrumentation gradle files to kotlin ( #3414 )
...
* Migrate instrumentation gradle files to kotlin
* Convert
* Muzzle
2021-06-28 17:27:12 +09:00
Anuraag Agrawal
785dc6adf2
Rename build files to build.gradle ( #3409 )
...
* Rename build files to build.gradle
* Rename smoke-tests
* Fix already broken
2021-06-25 16:10:31 +09:00
Anuraag Agrawal
deb0e255cf
Use plugins block everywhere for applying plugins ( #3386 )
...
* Use plugins block everywhere for applying plugins
* Actually it's library instrumentation
2021-06-24 11:13:35 +09:00
Mateusz Rzeszutek
02098b9353
Ignore task classes using IgnoredTypesConfigurer ( #3380 )
2021-06-23 10:15:02 -07:00
Anuraag Agrawal
80f43b7a6a
Migrate javaagent-instrumentation to plugin ( #3328 )
...
* Migrate instrumentation.gradle to plugin
* Migrate usages
* Remove old
* Fix
* Revert example
* afterEvaluate
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-17 23:13:14 +09:00
Anuraag Agrawal
b7bfbf0cc6
Migrate instrumentation-library / common to plugins ( #3320 )
2021-06-15 11:54:48 -07:00
Anuraag Agrawal
224dc51e93
Migrate java.gradle to conventions plugin ( #3289 )
...
* Migrate java.gradle to convention plugin.
* Switch to java-conventions
* Remove old file
* Fix
* Fix merge
* Missing paragraph
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-15 08:10:39 +09:00
Trask Stalnaker
4c80c62ce7
Add unused to remaining advice classes ( #3280 )
...
* Add unused to remaining advice classes
* Add newlines for visual separation
2021-06-14 11:12:02 +09:00
Trask Stalnaker
c1c052318b
Move more type instrumentations to top-level classes ( #3118 )
2021-05-28 17:24:19 -07:00
Anuraag Agrawal
ed88cca533
Migrate from spotbugs to errorprone ( #3122 )
...
* Migrate from spotbugs to errorprone
* Fix hashtable
* try-with-resources
* Fix from merge
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-28 14:23:40 -07:00
Anuraag Agrawal
c358a35414
Use dependency management pattern for dependency versions ( #3113 )
...
* Use dependency management pattern for dependency versions.
* Add groovy bom too
* Update dependencyManagement/dependencyManagement.gradle.kts
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-28 11:32:08 +09:00
Michael Bannister
d1b9413d88
Use configured NetPeerAttributes in OkHttp3 client tracer ( #3063 )
...
This will make it notice the peer-service-mapping settings to set peer.service span attribute
I know this approach is deprecated but I hope to follow this up with another change to use the
new Instrumenter API.
#3009
2021-05-23 09:29:18 +03:00
Mateusz Rzeszutek
bb8f515083
Refactor TypeInstrumentation#transformers() method ( #3019 )
...
* Refactor TypeInstrumentation#transformers() method part 1
Add TypeInstrumentation and its implementations
* Refactor TypeInstrumentation#transformers() method part 2
Use the new method in all existing TypeInstrumentation implementations
* Drift
* Spotless
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-18 09:50:26 +02:00
Anuraag Agrawal
fe41885ee6
Switch to colon notation for dependencies. ( #2994 )
...
* Switch to colon notation for dependencies.
* Even more cleanup
* Revert mistake
2021-05-15 15:31:06 +09:00
Anuraag Agrawal
23dca77428
Instrument okhttp builder constructor instead of client ( #2946 )
...
* Instrument okhttp builder constructor instead of client
* Comment
2021-05-11 12:08:41 +09:00
Mateusz Rzeszutek
9c7fae3b04
Extract javaagent-extension-api from tooling & spi ( #2879 )
2021-05-06 23:30:25 -07:00
Lauri Tulmin
9464134ffd
Test failing async http request ( #2812 )
2021-04-19 14:11:27 -07:00
Trask Stalnaker
3bc058b10b
Don't create duplicate headers ( #2727 )
...
* Test infra
* Update examples
* Update instrumentation
* Update tests
* jaxrs-client fixes
* Remove doRequest/doReusedRequest
* Fix muzzle
* some fixes
* fix test
* doc
* not private
* Apply to doRequestWithCallback also
* Update doc
* groovy
* better
* Don't hardcode traceparent
* Reuse request in SpringRestTemplateTest
2021-04-12 12:21:16 +03:00
Anuraag Agrawal
fbba3001ee
Test callbacks for okhttp library instrumentation ( #2752 )
2021-04-08 14:20:32 -07:00
Anuraag Agrawal
d8f6018ba6
Split HttpClientTest execution methods for sync and callback ( #2675 )
2021-04-06 15:26:01 -07:00
Trask Stalnaker
6ea316e22e
Remove timeout annotations ( #2725 )
2021-04-06 16:36:18 +09:00
Mateusz Rzeszutek
1406855bb7
Revert "Prevent duplicate telemetry when using both library and auto instrumentation ( #2661 )" ( #2689 )
2021-04-01 16:11:15 -07:00
Mateusz Rzeszutek
30434696ae
Prevent duplicate telemetry when using both library and auto instrumentation ( #2661 )
...
* Prevent duplicate telemetry when using both library and auto instrumentation
* Add unit test
* Fix Oshi tests
* Fix couchbase 3.1 tests
2021-03-31 10:57:04 -07:00
Trask Stalnaker
0d11dbe565
Fix webflux client filter subscribe ( #2646 )
...
* Fix webflux client filter subscribe
* Add test
* Fix test
* Fix test, take 2
* Fix another test
* Suppress test for another module
* Suppress another library instrumentation
* Another
* Add nested client suppression in Armeria
* Add comments
* Revert extra line
2021-03-31 07:54:41 +03:00
Mateusz Rzeszutek
ae23b97ec4
Move and rename NetPeerUtils ( #2548 )
...
* Move and rename NetPeerUtils
* Rename NetPeerUtils to NetPeerAttributes; inject instance instead of using a global var
* Rename SpanAttributeSetter to AttributeSetter (might be used to set on AttributesBuilder in the future, who knows)
* Deprecate default BaseTracer constructor: library instrumentations are supposed to inject all dependencies, the javaagent should explicitly pass globals
* fix compilation failure
* Remove peer.service customization from library instrumentation
2021-03-16 13:50:19 +01:00
Anuraag Agrawal
41fec5f610
Extract okhttp3 library instrumentation. ( #2489 )
...
* Extract okhttp3 library instrumentation.
* bad spotless
2021-03-05 09:35:35 +09:00
Trask Stalnaker
62f2611486
Update instrumentation names ( #2433 )
2021-03-01 19:34:25 -08:00
Anuraag Agrawal
000df967ce
Update to SDK 0.17.0 ( #2338 )
...
* Update to SDK 0.17.0
* Finish
* ottrace
2021-02-19 15:51:55 +09:00
Mateusz Rzeszutek
ee090aee1e
Support library instrumentations with HttpServerTest & HttpClientTest ( #2299 )
2021-02-16 09:05:23 -08:00