Commit Graph

489 Commits

Author SHA1 Message Date
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
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 &quot;Suppression&quot; section that recommends
`@SuppressWarnings(&quot;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 &quot;Suppression&quot; section that recommends
`@SuppressWarnings(&quot;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 &quot;Suppression&quot; section that recommends
`@SuppressWarnings(&quot;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
Lauri Tulmin d0bfc5be0f
Convert vaadin tests to java (#7444)
Part of
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7195
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7417
Vaadin tests often break with a new version of vaadin. To improve this
tests were change to assert only the traces and spans that are common in
all the versions.
2023-01-03 12:46:48 -08:00
dependabot[bot] 00612c3406
Bump cglib from 3.2.5 to 3.3.0 (#7327) 2022-11-28 15:24:06 -08:00
Trask Stalnaker 05471b053b
Webflux instrumentation fix (#7251)
When a webflux filter is added which throws an exception, the
instrumentation does not currently capture the `http.status_code`.

The fix is to move `WebClientTracingFilter` from the first to the last
filter in the chain, which I think(?) is the general strategy we've
taken for other client instrumentation, e.g. so that if a filter makes
another http call it won't be suppressed.

I don't love the test coverage I added, so let me know if you have any
better suggestions?

EDIT: btw, I did archaeology to confirm that behavior (adding to the
beginning of the chain) has been in place since the webflux
instrumentation was added originally
6f472a62a0 (diff-493ad89b5bde807c90387aa2bb67eb10d3bcef6b6a388bd31e11796a6d01ac38R36)
2022-11-22 15:09:22 -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
Trask Stalnaker 5345c87680
End groovy files with newline (#7127) 2022-11-10 12:21:55 +01: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
Aaron Ai 3911cacfdc
Fix typos (#6961) 2022-10-24 09:06:01 -07:00
Trask Stalnaker f6766c7433
Remove unused test option (#6950) 2022-10-23 18:48:03 +00:00
Trask Stalnaker 94e2248940
Use new semantic attribute constants (#6946) 2022-10-23 09:32:03 -07:00
Trask Stalnaker 9ce68fb937
Fix metric units (#6931)
Follow-up to #6930
2022-10-22 10:00:48 -07:00
Trask Stalnaker f488d94403
Capture net.host.name for netty (#6892)
This may be a regression in 1.19.0 because you can no longer reconstruct
the original url for netty server spans (previously `http.host` was
captured which could be used).
2022-10-19 09:21:50 -07:00
jack-berg aeac361816
Upgrade to otel java 1.19.0 (#6757)
Working PR to capture all the changes required to update to otel java
1.19.0. The new log API force allows
`:instrumentation-appender-api-internal` and
`:instrumentation-appender-sdk-internal`, but necessitates a decent
amount of refactoring as a result.

The PR points at the `1.19.0-SNAPSHOT`, which I'll update upon
publication.

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2022-10-12 09:19:37 -07:00
Mateusz Rzeszutek 891ec8c491
Rename restlet-1.0 to restlet-1.1 (#6814) 2022-10-06 08:49:55 -07:00
Trask Stalnaker 0d32150059
Assert on instrumentation version (#6773)
To catch issues like #6770
2022-09-29 10:53:10 +03:00
Mateusz Rzeszutek 714ba9189e
Remove deprecated `http.host` and `http.server_name` attributes (#6709)
... and make sure the `TemporaryMetricsView` follows the current spec
2022-09-24 11:02:21 -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
Liudmila Molkova 97bc4a4fda
Reactor instrumentation: do not make root context current (#6593)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-09-14 11:23:18 -07:00
Trask Stalnaker ec3ba77101
Convert logback test to Java (#6613) 2022-09-14 10:58:59 -07:00
Mateusz Rzeszutek c0b0722699
Some assertions refactoring (#6618) 2022-09-14 08:24:27 -07:00
Mateusz Rzeszutek cfdbe758f2
Net attributes getters changes (in preparation for HTTP spec impl) (#6503)
* Net attributes getters changes: instrumentation-api-semconv changes

* Net attributes getters changes: getter implementations

* Net attributes getters changes: test fixes

* Remove net.sock.host.name

* code review comments

* default getter methods & getPeerSocketAddress() method name

* set authority in grpc earlier
2022-09-12 09:20:27 -07:00
Trask Stalnaker af61a8b578
Update to otel 1.18.0 (#6575) 2022-09-11 10:35:05 -07:00
Lauri Tulmin c04a6a3471
Don't bundle slf4j-api inside testing-commons (#6520) 2022-08-30 00:04:26 +03:00
Lauri Tulmin 33d2e40a9e
Fix flaky kafka metrics test (#6511) 2022-08-25 15:22:38 -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
Trask Stalnaker faa99b2eeb
Update SDK to 1.17.0 (#6467)
* Update SDK to 1.17.0

* Fix

* Update licenses

* Spotless

* license
2022-08-12 17:10:46 -07:00
Mateusz Rzeszutek 08f013f9d6
Update gradle to 7.5.1 (#6359)
* Update gradle to 7.5

* Bump to 7.5.1

* gradle 7.5.1 with jdk17

* spotless

* one more --add-opens

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2022-08-12 12:03:43 +02: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
Trask Stalnaker c3c4fb7101
Finish annotation move (#6386)
* Update tests with new annotation

* more

* Fix build

* More
2022-08-01 09:19:58 -07:00
Mateusz Rzeszutek 82b39b1012
Rename `newInstrumenter()` into `buildInstrumenter()` (#6363)
* Rename newInstrumenter() into buildInstrumenter()

* spotless
2022-07-25 12:02:46 -07:00
Trask Stalnaker 701ed54311
Use "class loader" instead of "classloader" consistently in docs and comments (#6236)
* Use "class loader" consistently instead of classloader

* Java comments too

* Fix bad merge
2022-06-30 14:57:07 -07:00
Trask Stalnaker 8fac01e736
Enable error prone's UnusedVariable check (#6217)
* Enable error prone's UnusedVariable check

* Spotless
2022-06-27 10:55:27 +02:00
Ago Allikmaa ba912bc382
Implement C3P0 connection pool metrics (#6174)
* C3P0 connection pool metrics

* Use PooledDataSource instead of specific implementation

* Add C3P0 readme

* RuntimeException in case of underlying SQLException

* Use ISE instead of RuntimeException
2022-06-20 14:21:54 +03:00
Lauri Tulmin 91dcad68bd
Run tests with play 2.4 (#6145)
* Run tests with play 2.4

* restore comment
2022-06-14 12:10:53 +03:00
Lauri Tulmin 157ab7f754
Implement Oracle UCP connection pool metrics (#6099)
* Implement Oracle UCP connection pool metrics

* add additional instrumentation name

* change asserting no metrics reported after shutdown
2022-06-02 22:47:04 -07:00
jason plumb 30710ba294
Refactor DbConnectionPoolMetricsAssertions (#6101)
* refactor the DbConnectionPoolMetricsAssertions for improved readability and code reuse

* Middle ground option

* factor out duplicate verification

* address PR comments.

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-06-02 12:47:02 -07:00
Lauri Tulmin b95b64ba88
Implement Vibur DBCP connection pool metrics (#6092)
* Implement Vibur DBCP connection pool metrics

* Apply suggestions from code review

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* address review comments

* don't check for metircs that aren't reported

* rework library test setup

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-05-26 11:26:02 +03:00
Lauri Tulmin beb00cd03e
Ignore span oder in flaky test (#6060)
* Ignore span oder for http client connectionErrorUnopenedPortWithCallback test on jdk8

* fix spelling
2022-05-18 11:15:41 -07:00
Mateusz Rzeszutek 5bcab32379
Implement HikariCP connection pool metrics (#6003)
* Implement HikariCP connection pool metrics

* rebase after SDK update

* fix muzzle

* code review comments
2022-05-12 18:48:07 -07: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
Anuraag Agrawal d1ee692479
Update to OTel 1.14 (#5999)
* Update to OTel 1.14

* Fix test

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-05-10 14:23:56 -07:00
Mateusz Rzeszutek 2fad192fc1
Implement vertx-kafka-client instrumentation; batch processing (#5982)
* Implement vertx-kafka-client instrumentation; batch processing

* try-finally just in case

* Add to supported libraries list

* Update instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafka/v3_6/InstrumentedBatchRecordsHandler.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-05-10 12:00:54 +02: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
Lauri Tulmin a45ee01259
Test latest version of akka-http (#5945)
* Test latest version of akka-http

* checkstyle

* spotless
2022-04-28 15:08:58 +03:00
Trask Stalnaker f2714ad021
Small consistency (#5931) 2022-04-25 15:06:38 -07:00
jack-berg 6fe3299f52
Add metric support for grpc (#5923)
* Add metric support for grpc

* Spotless
2022-04-25 10:36:26 -07:00
Mateusz Rzeszutek 1345a6665e
Test spring-kafka instrumentation with receive telemetry disabled (#5913)
* Test spring-kafka instrumentation with receive telemetry disabled

* checkstyle and code review comment
2022-04-25 15:56:55 +02:00
Mateusz Rzeszutek 4e3f19d469
Enable span suppression by SpanKey by default (#5779)
* Enable span suppression by SpanKey by default

* fix HTTP tests (probably)

* add exception for camel

* remove suppression tests from @WithSpan instrumentations

* remove suppression tests from @WithSpan instrumentation; spring boot autoconfigure

* fix twilio tests

* fix netty-based HTTP clients, remove AWS SDK 1.11 unit test

* fix elasticsearch tests

* codenarc

* spotless

* fix AWS SDK 1.11 tests

* remove a TODO

* code review comments

* fix merge conflict

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-04-19 14:13:09 -07:00
Mateusz Rzeszutek 4d34d90437
Do not set the http.route attribute in JSF instrumentations by default (#5819)
* Do not set the http.route attribute in JSF instrumentations by default

* code review comments
2022-04-14 09:07:05 -07:00
Anuraag Agrawal e58d39d4ad
Update to OTel 1.13 (#5799)
* Update to OTel 1.13

* Fix test

* Foo

* Fix app server test and start yak shaving

* Yak

* Yak

* groovy fail

* Yak

* GROOVY

* yak farm
2022-04-13 13:16:32 +03:00
Lauri Tulmin 4ad44909ca
Faster type matching (#5724)
* Faster type matching

* make findLoadedClass accessible on java17

* enable jaxrs instrumentation for quarkus test

* fix websphere

* fix muzzle

* javadoc formating

* ignore classes that are know to fail to load for virtual field transforms

* add back jaxrs and jaxws annotation instrumentations

* Apply suggestions from code review

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* fix compile error

* comments

* replace deprecated method usage

* add comment

* add an spi to get access to bootstrap proxy from muzzle module

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-04-08 10:38:50 -07:00
Anuraag Agrawal 333e7bbd50
Migrate apache-httpclient-4.3 tests to Java. (#5774)
* Migrate apache-httpclient-4.3 tests to Java.

* Spot
2022-04-08 15:04:23 +09:00
Anurag Agarwal 13a851ba24
Apache httpasyncclient 5.x (#5697)
* Copies code for httpasyncclient-4.1 and creates instrumentation for 5.0

* Makes import changes for http client 5

* Decorate request channel and changes type in tests

* Corrects test cases

* Corrects most of the test cases

* Forces http1 protocol to pass the test cases

* Merge supported libraries for async client

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Remove http.sceme and http.target attr from test

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Removes not needed null check for status code

* Replaces slf4j loggers with JUL

* Inlined flavor extraction in attributes getter

* Uses parameter placeholders for logging

* Uses success endpoint to test flavor

* Merges httpasyncclient and httpclient modules

* Merges http client 5 modules

* Update java-8 compatible changes

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Change instrumentation name

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Adds missing import statement

* Rename packages

* Java 8

* Reverts adding 5.0+ support from supporting libraries

* Deleted hanging module

* Uses seconds instead of ms in http test

* Merges both classic and async client implementations

* Moves http client all test cases to java tests

* Uses abstract apache test class and moves boilerplate

* Uses connection and read timeouts from ApacheHttpClientTest

* Refactors remaining classes, shifts logic to HttpUtils

* Renames HttpUtils to ApacheHttpClientUtils

* Corrects failing code style error

* Corrects build errors

* Renames package to have http client version

* Corrects package name

* Uses instrumenter as static import

* Inline utility methods

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-04-07 08:45:06 -07:00
Lauri Tulmin 5267462b06
Fix http concurrency test with large responses (#5648)
* Debug http client concurrency test failures

* debugging

* context porpagation to callbacks isn't really implemented

* verify that request succeeds in single connection concurrency test

* spotless

* verify request status in http client concurrency test

* update comment

* remove large response

* Trigger Build

* Update instrumentation/netty/netty-3.8/javaagent/src/test/groovy/Netty38ClientTest.groovy

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-03-25 10:03:22 -07:00
Anuraag Agrawal 14372adb68
Migrate Guava tests to Java (#5668)
* Migrate Guava tests to Java

* Update instrumentation/guava-10.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/guava/ListenableFutureTest.java

Co-authored-by: Lauri Tulmin <tulmin@gmail.com>

* Workaround inline mock issue

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2022-03-24 14:14:09 +09:00
Anuraag Agrawal 213057d057
Run check during testing and assemble during building (#5619) 2022-03-18 13:48:51 +09:00
Lauri Tulmin a563d6063c
Handle failed request in http server concurrency tests (#5605) 2022-03-17 19:44:51 -07:00
Anuraag Agrawal d2401e14a9
Migrate AkkaActorTest to scala (#5582) 2022-03-16 08:08:10 +09:00
Anuraag Agrawal 046e4374bf
Migrate Armeria server test to Java (#5570) 2022-03-14 18:30:25 +09:00
Lauri Tulmin 8d513f9099
Make tests provide expected exception instance instead of class (#5540)
* Make tests provide expected exception instance instead of class

* exception is optional
2022-03-11 14:24:03 +02: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
Lauri Tulmin b3496381f1
Write http server tests in java (#5501)
* Write http server tests in java

* typo

* Apply suggestions from code review

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* add comments

* address review comments

* use Predicate

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-03-08 14:21:59 -08:00
Anuraag Agrawal 9ed35fd286
Update to OTel 1.12 (#5513) 2022-03-07 15:38:50 +09:00
Trask Stalnaker 0a6b87eb69
Remove server span peer name (#5404)
* Fix server -> client reference

* Remove server span peer name
2022-02-27 11:06:20 -08:00
Anuraag Agrawal 698503cbec
Remove obsolete route assertion (#5398) 2022-02-18 08:53:45 -08:00
Anuraag Agrawal b9fac11c90
Migrate AWS Lambda tests to Java (#5315)
* Migrate AWS Lambda tests to Java

* Only assert OTLP fields for links
2022-02-08 15:27:20 +09: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
Trask Stalnaker 23b33adb0a
Auto-format groovy files in Intellij (#5260)
* Auto-format groovy files in Intellij

* A bit of clean up
2022-01-28 09:29:46 -08:00
Mateusz Rzeszutek 9381d5a264
Expected server span name for null route should be HTTP GET (#5197) 2022-01-21 19:35:48 -08:00
Mateusz Rzeszutek 540e4cfafb
Remove HttpServerTest#extraAttributes() method (#5176)
* Remove HttpServerTest#extraAttributes() method

* fix ktor tests

* fix ratpack and restlet tests

* fix servlet2 tests

* Fix webflux and vertx tests
2022-01-20 10:41:41 -08:00
Mateusz Rzeszutek 4f29770f73
Remove old TraceUtils and use InstrumentationTestRunner#run*Span() (almost) everywhere (#5160)
* Remove old TraceUtils and use InstrumentationTestRunner#run*Span() (almost) everywhere

* Fix HTTP server tests

* Fix compilation failure

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-01-18 13:42:53 -08:00
Anuraag Agrawal b7a95857c7
Fix some java lint warnings (#5120)
* Convert InstrumentationTestRunner from interface to abstract class

* Foo

* Commit

* Revert unintended
2022-01-17 10:26:03 -08:00
Mateusz Rzeszutek 872c6c7d80
Add `http.route` to the server span when `ServerSpanNaming` is updated (#5086)
* Add `http.route` to the server span when `ServerSpanNaming` is updated

* fix camel tests

* fix test compilation failure

* assert route in camel instrumentation
2022-01-14 13:52:06 -08:00
Anuraag Agrawal a3681901ff
Convert InstrumentationTestRunner from interface to abstract class (#5112) 2022-01-14 10:21:31 -08:00
Mateusz Rzeszutek 9299567a96
Micrometer library instrumentation (#5063) 2022-01-12 20:06:27 -08:00
Nikita Salnikov-Tarnovski 25550e0a63
Stop using deprecated constructor (#5040)
* Stop using deprecated constructor

* Try to fix the build
2022-01-07 11:47:54 -08:00
Anuraag Agrawal f6bcd76219
Update errorprone (#5016)
* Update errorprone

* gwt

* Remove unnecessary final

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-01-06 14:21:56 -08:00
Lauri Tulmin 55e44d790c
ktor net attribute extraction (#5027)
* ktor net attribute extraction

* spotless
2022-01-06 12:03:59 -08:00
Lauri Tulmin 12c15b226f
Capture servlet request parameters at the end of the request (#5019)
* Capture servlet request parameters at the end of the request

* add comment
2022-01-06 12:02:42 -08:00
Trask Stalnaker e5da618196
Add logs to testing infra (#4927)
* Add logs to testing infra

* Drift
2021-12-17 18:23:42 -08:00
Lauri Tulmin be4c45880a
Wait for request to return result in http client async concurrency test (#4910) 2021-12-16 16:20:38 +02:00
Trask Stalnaker 6d254b3ad1
Additional http.status_code assertion (#4872) 2021-12-13 09:25:48 -08:00
Trask Stalnaker ab0d5565bf
Verify case-insensitive TextMapGetters (#4847)
* Verify case-insensitive TextMapGetters

* Separate test
2021-12-10 10:01:31 -08:00
Lauri Tulmin bba587ea01
Retry strict context check failures for library instrumenation tests (#4826) 2021-12-07 15:35:18 -08:00
Trask Stalnaker 32e3deb9cf
Update tests now that netty captures http.scheme (#4807) 2021-12-06 11:57:33 -08:00
Trask Stalnaker ce4cef76f9
Clean up groovy assertions (#4805) 2021-12-05 23:23:58 -08:00
Lauri Tulmin 61b0dd3698
Capture servlet request parameters (#4703)
* Capture servlet request parameters

* use concurrenthashmap for cache
2021-12-05 21:25:31 -08:00
Mateusz Rzeszutek f2c2b755d2
Make AgentClassLoaderAccess methods public (#4770)
* Make AgentClassLoaderAccess methods public

* Update testing-common/src/main/java/io/opentelemetry/javaagent/testing/common/AgentClassLoaderAccess.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-12-02 12:48:46 +01:00
Lauri Tulmin 313979a467
Fix http.url handing in vert.x 3 http client (#4739)
* Fix http.url handing in vert.x 3 http client

* correct version

* fix build

* if https test is disabled use http for non routable aadress test

* if https test is disabled use http for non routable aadress test

* use StringBuilder
2021-12-01 10:51:53 -08:00
Mateusz Rzeszutek f948ef8051
Use containerIpAddress instead of hard-coded 127.0.0.1 in rabbit tests (#4745)
* Use containerIpAddress instead of hard-coded 127.0.0.1 in rabbit tests

* Fix a situation where testcontainers returns 'localhost' instead of IP

* Fix a situation where testcontainers returns 'localhost' instead of IP

* Don't use the getContainerIpAddress() method, it'll be deprecated anyways
2021-11-30 15:25:23 -08:00
Nikita Salnikov-Tarnovski b6b4cd67f0
Clean up of tests logging (#4744) 2021-11-30 16:19:09 +02:00
Lauri Tulmin 10288c6f25
Work around jvm crash on early 1.8 (#4345)
* Work around jvm crash on early 1.8

* skip retransform if class was already transformed during load

* fix imports after rebase

* add test

* disable test on windows
2021-11-29 22:47:10 -08:00
Nikita Salnikov-Tarnovski f525f3e03f
Some logging cleanup (#4734) 2021-11-29 09:45:23 -08:00
Nikita Salnikov-Tarnovski 821a4b870b
Drop instrumentation-api-caching module and move weak cache implementation to instrumentation-api (#4667)
* Drop instrumentation-api-caching module and move weak cache implementation to instrumentation-api

* Some test fixes

* Some cleanup

* Temporary workaround for using weak values in FutureListenerWrappers

* Spotless

* Update ClassNames and SpanNames

* Compilation and comment

* Add bounded cache and clean interface

* Polish

* Add comment

* Vendor ConcurrentLinkedHashMap in

* Let errorprone ignore vendored CLHM for now

* Keep license in java files too

* Convert Netty wrapper cache to VirtualField

* Work around lambda instrumentation failure

Ideally we would ignore instrumenting helper classes...

* Revert "Work around lambda instrumentation failure"

This reverts commit 6d63815b44.

* Revert "Convert Netty wrapper cache to VirtualField"

This reverts commit dac1522a3f.

* Handle cleared weak values

* Fix comment

* Delete instrumentation-api-caching

* Copy in weak-lock-free

* Remove caffeine remnants

* Fix checkstyle

* Rename BoundedCache to MapBackedCached

* Remove duplicate LICENSE

* Remove outdated comment

* Sync with SDK copy of weaklockfree

* Enable checkstyle:off comment

* Re-generate license report

* Move NOTICE file to package-info.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-11-24 09:05:12 -08:00
Lauri Tulmin 31d87162f3
Print out thread dump on strict context check failure (#4664)
* Print out thread dump on strict context check failure

* suppress warning
2021-11-18 15:42:54 +02:00
Lauri Tulmin c57d4e00b6
Correct formatting of HttpClientTest comments (#4654)
* Correct formatting of HttpClientTest comments

* add <pre> tags
2021-11-17 12:03:51 +02:00
Anuraag Agrawal 6063a16f54
Update to OTel 1.9 (#4634)
* Update to OTel 1.9

* Check null
2021-11-15 17:56:53 +09:00
jason plumb 5cbd09e4da
fix incorrect delegate method (#4630)
* fix incorrect delegate method

* add version test
2021-11-11 07:21:04 +01:00
Mateusz Rzeszutek 4719e4cc79
Trace SSL handshakes in netty 4.1 (#4604)
* Trace SSL handshakes in netty 4.1

* Update testing-common/src/main/java/io/opentelemetry/instrumentation/testing/junit/http/HttpClientTestServer.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* remove unneeded bit of code

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-11-10 13:43:59 -08:00
Mateusz Rzeszutek 8f73c43866
Consistently set http.scheme in all netty instrumentations (#4576) 2021-11-03 09:51:11 -07:00
Lauri Tulmin 73a28dadb4
Fail tests on muzzle failre (#4545) 2021-11-02 16:06:34 +02:00
Martin d314d76fce
rename `newBuilder()` to `builder()` (#4475)
* rename `newBuilder()` to `builder()`

* rename `newBuilder()` to `builder()`
2021-10-22 20:50:43 -07:00
Lauri Tulmin 9b8ab5eeec
Migrate to spock 2 (#4458)
* Migrate to spock 2

* Fix smoke test suites

* address review comments

* review comment

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-22 08:40:58 -07:00
Lauri Tulmin ef131acd6d
Enable http server concurrency test everywhere (#4465)
* Enable http server concurrency test everywhere

* remove testConcurrency method as test is now always enabled

* rebase
2021-10-22 08:39:30 -07:00
jason plumb a50c13382f
Don't report 400 level as error for SERVER spans (#4403)
* don't report 400 level as error for server spans

* fix HttpServerTest base class

* fix JspInstrumentationForward test

* split HttpStatusConverter into client and server implementations, and create two HttpSpanStatusExtractor.create methods, one for server and one for client.

* rebase

* fix test

* spotless

* fix test

* remove unused

* use strongly typed attributes converters and rename to overloaded create()

* fix tests

* remove redundant assert

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-20 13:39:35 -07:00
Lauri Tulmin 17a85bbc22
Use byte-buddy-dep instead of byte-buddy (#4400)
* Use byte-buddy-dep instead of byte-buddy

* print stacktrace on examples failure

* try to fix gradle plugins

* try to fix extension build

* try to fix extension build

* try to fix extension build

* try to fix extension build

* try removing mavenLocal

* add mavenLocal plugin repository

* publish gradle-plugins to mavenLocal for examples ci build

* Fix bytebuddy exclusion
2021-10-19 13:46:48 -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
Mateusz Rzeszutek 5e7b5380cd
Remove mentions of http.url attribute in server instrumentations (#4394) 2021-10-15 11:00:50 -07:00
Lauri Tulmin 6952e87fc5
Also run strict context check retry for junit tests (#4380) 2021-10-14 08:57:30 -07:00
Trask Stalnaker 53a639bbba
Fix tomcat async spans (#4339)
* Add test

* Fix tomcat async spans

* Preserve existing test controller behavior

* Comments
2021-10-13 13:04:23 -07:00
Mateusz Rzeszutek 25bfb49b80
Migrate Netty 4.x server instrumentations to Instrumenter API (#4342)
* Migrate Netty 4.x server instrumentations to Instrumenter API

* fix vertx tests

* codenarc

* code review comments

* fix broken assertion

* Update instrumentation/netty/netty-4-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/common/server/NettyServerInstrumenterFactory.java

Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
2021-10-13 15:32:24 +02:00
Mateusz Rzeszutek ff8696586d
Remove VirtualField#computeIfNull() method (#4354) 2021-10-12 11:37:35 -07:00
Lauri Tulmin b06c1f9018
Collect more attributes from servlet instrumenter (#4356)
* Collect more attributes from servlet instrumenter

* spotless
2021-10-12 10:58:47 -07:00
Mateusz Rzeszutek 354699647a
Test captured HTTP headers - HTTP server tests, part 2 (#4328)
* Test captured HTTP headers - HTTP server tests, part 2

* Turn off captured HTTP headers testing for grizzly

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-08 13:05:35 -07:00
Lauri Tulmin 478f936d54
Retry strict context check failures (#4282) 2021-10-08 10:47:52 -07:00
Mateusz Rzeszutek fb77651658
Restrict usage of arrays as VirtualField types and fix field naming (#4323)
* Restrict usage of arrays as VirtualField types and fix field naming

* disallow primitive type usage too

* A few more test cases and validations
2021-10-08 10:52:26 +02:00
Mateusz Rzeszutek 581a5e3980
Test captured HTTP headers - HTTP server tests, part 1 (#4320)
* Test captured HTTP headers - HTTP server tests, part 1

* Upgrade undertow in resteasy tests (Undertow 1.0 had a bug where it thrown NPE on getHeaders())
2021-10-07 13:41:48 -07:00
Mateusz Rzeszutek fda4779127
Fix a bug in the field backed VirtualField implementation (#4310)
* Fix a bug in the field backed VirtualField implementation

* Multiple interface fields
2021-10-06 09:40:53 -07: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
Trask Stalnaker d2b7786027
Fix some tests on windows (#4288) 2021-10-04 21:40:24 -07:00
Mateusz Rzeszutek 9d6fb65b41
Remove ContextStore/InstrumentationContext mentions from internal age… (#4267)
* Remove ContextStore/InstrumentationContext mentions from internal agent classes

* Fix internal-reflection module
2021-10-04 09:24:25 -07:00
Trask Stalnaker 92394ad9ae
Remove url from HttpServerAttributesExtractor (#4209)
* Remove url from HttpServerAttributesExtractor

* Remove UriBuilder

* Tracers too

* apache-camel

* Finatra

* jsp

* Ratpack

* Ratpack library

* Ratpack

* Spark

* Feedback

* Fix Undertow

* Vertx

* vertx-web

* play-2.4

* webflux

* jaxrs

* Spotless

* Update semantic-conventions.md

* Update smoke tests

* More realistic target

* Remove outdated doc

* Wording
2021-10-03 09:17:23 -07:00
Mateusz Rzeszutek c421b66d56
Remove unnecessary VirtualField#setIfNull() method (#4262) 2021-10-02 13:17:48 -07: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
Nikita Salnikov-Tarnovski 5dffeef4aa
Introduce muzzle-specific interface to InstrumentationModule (#4207)
* Introduce muzzle-specific interface to InstrumentationModule
* Moved more methods to the InstrumentationModuleMuzzle interface
2021-09-28 12:15:33 +03:00
Anuraag Agrawal 9d5cf4e0b3
Add logback.xml to testing-common (#3726)
* Add logback.xml to testing-common

* showStandardStreams

* Remove showStandardStreams due to verbosity

* Fix javaagent-tooling tests

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-24 10:09:42 +09:00
Lauri Tulmin 8c8eb3ddea
Use caffeine3 on jdk11 and caffeine2 on older jdks (#4154)
* Use caffeine3 on jdk11 and caffein2 on older jdks

* ignore caffeine3 classes on java 8

* Update dependencyManagement/build.gradle.kts

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-09-21 14:04:09 -07:00
Mateusz Rzeszutek dc4ddf7932
Remove ContextStore.Factory interface; use Supplier instead (#4157) 2021-09-17 13:00:23 -07:00
Matthew Ho 6967484a97
Update groovy import order to match default IntelliJ (#1708) (#4047)
* Update groovy import order to match default IntelliJ (#1708)

* organized imports for .groovy files to follow default IntelliJ import settings

* updated intellij-setup.md

* Spotless

* drift

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-11 11:53:08 -07:00
Mateusz Rzeszutek ab9c688e7a
Test nested CLIENT span suppression in library instrumentations (#3970) 2021-08-27 11:16:59 +02:00
Lauri Tulmin 629801d9ab
Convert play-ws to instrumenter api (#3944) 2021-08-25 09:31:50 -07:00
Lauri Tulmin 564f51c706
Hide our generated fields and methods from reflection (#3948) 2021-08-25 09:24:27 -07:00
Lauri Tulmin 1dae415ebc
Mark our generated classes and members as synthetic (#3928) 2021-08-24 09:53:22 -07:00
Lauri Tulmin fbbd76ef95
Remove http client test workarounds that are not needed with 1.5 sdk (#3875)
* Remove workarounds from http client test that are not needed with 1.5 sdk

* Remove more workarounds
2021-08-19 08:50:25 -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 d8eae4997d
Update to SDK 1.5.0 (#3847) 2021-08-17 08:43:11 -07:00
Lauri Tulmin 430f1cb561
Add junit test timeotut (#3850) 2021-08-16 10:11:09 -07:00
Trask Stalnaker bb461e5274
Fix tests on windows (#3360) 2021-08-09 09:23:41 -07:00
Anuraag Agrawal 49c20ef724
Migrate Ratpack HTTP Client tests to Java. (#3768)
* Migrate Ratpack HTTP Client tests to Java.

* Close harness
2021-08-05 11:49:34 +09:00
Anuraag Agrawal e92ecc02bc
Add library instrumentation for Ratpack server (#3749)
* Add Ratpack server library instrumentation

* Finish

* Back to 1.4

* Drift

* Cocaine

* Update instrumentation/ratpack-1.4/library/src/main/java/io/opentelemetry/instrumentation/ratpack/RatpackTracingBuilder.java

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Cleanup

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-08-04 16:21:36 +09:00
Mateusz Rzeszutek f960456240
Add tests that verify that Span.current() works in spring batch listeners (#3758) 2021-08-03 09:17:03 -07:00
Trask Stalnaker 03632d9bae
Fix JDK http client propagation of non-sampled traces (#3736)
* Fix JDK http client propagation of non-sampled traces

* Lower wait time
2021-08-02 13:12:37 +09:00
Anuraag Agrawal 40aad4539d
Add HttpClientTestOptions (#3714)
* Add HttpClientTestOptions

* Drift
2021-08-02 12:56:50 +09:00
Anuraag Agrawal e4fcbb8f51
Explicitly check for key for attribute assertions using hasEntrySatis… (#3703)
* Explicitly check for key for attribute assertions using hasEntrySatisfying

* Check test user agent set first
2021-07-28 13:05:00 +03:00