Commit Graph

354 Commits

Author SHA1 Message Date
Jakub Wach 1f22fcaab0
Apache camel enable sqs propagation (#2102)
* adding AWS SQS tests to Apache Camel instrumentation

* code review changes

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>

* SQS context propagation for Apache Camel instrumentation

* code review - removed not needed dep

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2021-02-03 10:34:05 +02:00
Mateusz Rzeszutek 328c6832a2
Publish agent-for-testing and testing-common (#2133) 2021-01-29 08:39:30 +01:00
Lauri Tulmin 87ddfb8d0e
Add instrumentation for spring-ws (#2111)
* Add instrumentation for spring-ws

* add spring-ws to supported frameworks

* Add class loader optimization

* Remov unnecessary latestDepTestLibrary

* review fixes

Co-authored-by: Anuraag Agrawal <aanuraag@amazon.co.jp>
2021-01-27 17:24:59 +09:00
Sergei Malafeev bbcbeb51e3
MongoDB 4 driver instrumentation (#2046)
* MongoDB 4 driver instrumentation

Signed-off-by: Sergei Malafeev <sergei@malafeev.org>

* fix getting constructor

Signed-off-by: Sergei Malafeev <sergei@malafeev.org>

* fix formatting

Signed-off-by: Sergei Malafeev <sergei@malafeev.org>

* Update instrumentation/mongo/mongo-4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4/MongoClientInstrumentationModule.java

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

* Update settings.gradle

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

* Update instrumentation/mongo/mongo-4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/mongo/v4/MongoClientInstrumentationModule.java

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

* use mongo-4.0

Signed-off-by: Sergei Malafeev <sergei@malafeev.org>

* use public api

Signed-off-by: Sergei Malafeev <sergei@malafeev.org>

* use testImplementation

Signed-off-by: Sergei Malafeev <sergei@malafeev.org>

* use declaresField(named("commandListeners")) in typeMatcher

Signed-off-by: Sergei Malafeev <sergei@malafeev.org>

* migrate to mongo-4.0-testing

Signed-off-by: Sergei Malafeev <sergei@malafeev.org>

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-01-25 15:55:03 +02:00
Lauri Tulmin 9825ab0afa
Instrument jsf action calls (#2018) 2021-01-19 21:34:41 -08:00
Anuraag Agrawal c6cc263c6e
Use SDK Autoconfigure module (#2077)
* Use sdk autoconfigure

* Finish

* Finish

* Group exporters

* Update smoke-tests/src/test/groovy/io/opentelemetry/smoketest/SpringBootWithSamplingSmokeTest.groovy

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-01-20 14:31:49 +09:00
Anuraag Agrawal 97b8712e3b
Remove jaeger-thrift from agent distribution (#2073)
* Remove jaeger-thrift from agent distribution

* Update test
2021-01-19 16:08:01 +09:00
Anuraag Agrawal afdde0355b
Update to OTel 0.14.1 (#2059)
* Update SDK dependency to 0.14.1

* WIP

* Finish

* Cleanup
2021-01-18 13:02:04 +09:00
Anuraag Agrawal 62bd2c03eb
Update Armeria instrumentation to match latest decorator order and re… (#2021)
* Update Armeria instrumentation to match latest decorator order and remove dedupe logic for now.

* git add

* Revert unused
2021-01-12 17:01:41 +09:00
Anuraag Agrawal 8d74baa2e4
Run tests with javaagent. (#1643)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-01-04 13:13:24 -08:00
Lauri Tulmin 79433966fb
Liberty server span handling (#1929)
* Liberty server span handling

* review fixes

* review fixes

* add doc about using compile stubs

* Update instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/LibertyInstrumentationModule.java

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

* Update instrumentation/liberty/liberty/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/liberty/ThreadLocalContext.java

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

* add links to advice classes

* add commnet, remove unneeded dependency

Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
2020-12-22 15:00:58 +02:00
Nikita Salnikov-Tarnovski 0888711574
Add support for Undertow server runtime (#1917)
* Add support for Undertow server runtime

* Polish

* Damn be classloaders

* Fix correct span name

* Polish
2020-12-22 14:13:50 +02:00
Bhautik Pipaliya a1945f27c0
end to end latency benchmark (#1935)
* end to end latency benchmark

* minor changes

* added final

* fix spotless check
2020-12-22 13:34:44 +09:00
Vladimir Šor 135ba344cb
Tomcat server handlers (#1902)
* Tomcat server handler with passing integration and smoke tests.

* Update server span name from the servlet integration instead of trying to mimic it from the server handler.

* Cleanup and more javadocs.

* Use Java8BytecodeBridge in advice code.

* Use Java8BytecodeBridge in advice code.

* Use earliest version for compilation and muzzling.

* Use consistent instrumentation name.

* Record throwables only if the context is managed by something else.

* Getting scope handling right. Moved server span renaming logic via AppServerBridge to the ServletHttpServerTracer.

* codenarc

* more PR comments addressed

* Pass Method to startServerSpan
2020-12-16 16:59:54 +02:00
Mateusz Rzeszutek f82e9107d6
Instrument spring-batch (#1843)
* Instrument spring-batch: job & step

* Instrument spring-batch: job & step - code review comments

* Instrument spring-batch: job & step - code review comments

* Instrument spring-batch: job & step - code review comments

* spotless

* Apply suggestions from code review

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

* Instrument spring-batch: job & step - code review comments

* spotless

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-12-16 13:27:23 +02:00
Mateusz Rzeszutek a7cad4b36f
Propagate context in Spring SimpleAsyncTaskExecutor (#1897)
* Propagate context in Spring SimpleAsyncTaskExecutor

* Propagate context in Spring SimpleAsyncTaskExecutor: code review comments
2020-12-15 15:30:25 +01:00
jason plumb 4c8b8a77fb
Add exporter factory for JaegerThriftSpanExporter (#1868)
* add exporter factory for JaegerThriftSpanExporter

* add smoke test
2020-12-14 13:02:51 -08:00
Trask Stalnaker 8bcd5f1229
Simplify Apache HttpAsyncClient instrumentation (#1894)
* Simplify Apache HttpAsyncClient instrumentation

* Bump baseline version to 4.1

* Remove all the Intellij auto-formatting of README
2020-12-14 15:16:06 +09:00
Anuraag Agrawal 3b8827b8ab
Update to SDK 0.12.0 (#1830)
* Update to SDK 0.12.0

* Update error message to the current world.

* Bump referenced smoke test versions

* fixes

* dependency hell

* Suppress unused call

* Bump missed smoke tests

* Bump image, bump smoke tests gRPC version
2020-12-07 17:16:47 +09:00
Trask Stalnaker 26f254b10d
Create javaagent dirs for all instrumentations, part 2 (#1794) 2020-11-28 22:26:49 -08:00
Trask Stalnaker 5f263644da
Create javaagent dirs for all instrumentations (#1668)
* Create javaagent dirs for all instrumentation

* Add note about kotlin coroutine library instrumentation

* Feedback
2020-11-28 21:04:16 -08:00
Trask Stalnaker f2bb2f3e30
Split out methods and opentelemetry-annotations modules (#1787) 2020-11-28 12:25:09 -08:00
Anuraag Agrawal 31f1a73d59
Upgrade build plugin versions. (#1774) 2020-11-26 18:16:14 +09:00
Trask Stalnaker 889bce0976
Create jaxrs-client-2.0-common module (#1746) 2020-11-24 11:49:05 -08:00
Trask Stalnaker 0c5c4caaa4
Rename java-concurrent and java-classloader instrumentation modules (#1733)
* Rename java-concurrent instrumentation to executors

* Rename java-classloader to classloaders
2020-11-23 17:49:10 -08:00
Trask Stalnaker 5d0506e5e8
Convert rxjava-1.0 into library (#1732) 2020-11-23 14:51:55 -08:00
Trask Stalnaker 081e142718
Rename grizzly-client instrumentation (#1709)
* Rename grizzly-client instrumentation
2020-11-21 10:51:45 -08:00
John Watson e9821e9cd1
Directly port the java-runtime-metrics module over from otel-java. (#1720)
* Directly port the java-runtime-metrics module over from otel-java.

* java 8 cleanups

* Make consistent with oshi module

* Bump mockito and assertj versions

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-11-21 10:51:03 -08:00
Trask Stalnaker 238e2ddca5
Rename propagation modules (#1706)
* Rename propagation modules

* Fix test
2020-11-20 15:05:30 +02:00
Trask Stalnaker 55a6a858f7
Rename opentelemetry-api instrumentation module (#1707) 2020-11-20 15:01:53 +02:00
Anuraag Agrawal 7bfb6b6dbd
Update to SDK 0.11.0 (#1690) 2020-11-19 19:37:49 -08:00
Mateusz Rzeszutek 1a23ac3027
Standardize instrumentation names in InstrumentationModules (#1648)
* Standardize instrumentation names in InstrumentationModules

* rename gradle modules:
  * vertx-3.0 to vertx-web-3.0
  * spark-web-framework-2.3 to spark-2.3
* add JavaDoc describing the naming rules to InstrumentationModule
2020-11-17 13:30:28 -08:00
Vladimir Šor 3dbab606c7
Autoinstrumentation for Struts2 actions (#1628)
* Struts PoC

* Instrument ActionInvocation to get correct timings. Refactor to use latest o11y SDK and API.

* Fix license header.

* Revert accidental Gradle configuration change.

* First passing test for struts instrumentation.

* Cleanup

* Convert Struts test to HttpServerTest.

* Fix Spotless formatting issues.

* Manage scope properly in Struts advice. Use existing handlerSpan method to assert struts handler span detection. Make Struts controller behave similarly with other HttpServerTest implementations.

* Rename method.

* Update server span name when path params are used.

* Struts PoC

* Instrument ActionInvocation to get correct timings. Refactor to use latest o11y SDK and API.

* Fix license header.

* Revert accidental Gradle configuration change.

* First passing test for struts instrumentation.

* Cleanup

* Convert Struts test to HttpServerTest.

* Fix Spotless formatting issues.

* Manage scope properly in Struts advice. Use existing handlerSpan method to assert struts handler span detection. Make Struts controller behave similarly with other HttpServerTest implementations.

* Rename method.

* Update server span name when path params are used.

* Account for GStrings in asserted values.

* Use Groovy friendly Assert.

* Giving up on getting to work user-friendly assertion messages. Moving controller to a package, as ognl inside struts can't handle classes with no packagaes.

* Make codeNarc happy.

* Make spotless happy.

* Rename struts-2 to struts-2.3. Move autoinstrumentation to javaagent sub-folder to accommodate for library.

* Use tracer() instead of TRACER and other minor tweaks.

* Nicer way for asserting values returned from a method call.

* Fix formatting.
2020-11-17 20:45:49 +02:00
Nikita Salnikov-Tarnovski ab53f0ba9f
Remove default aws credentials lookup (#1659)
It leads to a lot of warnings on any developer machine without AWS credentials configured. And CI, where AWS credentials actually matter, uses explicit env variables anyway.
2020-11-17 16:29:33 +02:00
Trask Stalnaker 6d5ec329d6
Enable checkstyle for google style guide (#1641) 2020-11-16 18:46:59 -08:00
Nikita Salnikov-Tarnovski f0a4049b52
Add support for Reactor Netty's HttpClient (#1601)
* Add support for Reactor Netty's HttpClient

* Format

* Update instrumentation/reactor-netty-0.9/src/main/java/io/opentelemetry/javaagent/instrumentation/reactor_netty/ReactorHttpClientInstrumentation.java

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

* Convert to InstrumentationModule

* Cleanup

* Rename module

* Polish

* Format

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2020-11-16 12:07:51 +02:00
Anuraag Agrawal 9ac34bce67
Prepare a single test bootstrap jar at top level. (#1635)
* Prepare a single test bootstrap jar at top level.

* Apply suggestions from code review

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

* Add comment

* Use buildDir instead of build

* Testing SDK also in bootstrap

* Remove sdk from testing bootstrap loader

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-11-16 11:25:40 +09:00
Sergei Malafeev 70dcb93121
Activate SystemMetrics (#1530) 2020-11-05 13:02:01 -08:00
Jakub Wach 049358e81b
apache camel 2.20.x instrumentation (#1397)
* apache camel 2.20.x instrumentation

* removed instrumentation advice from helper classes

* code review #1

* code review #2 / experimental server name update

* code review changes / new tests, improved direct, new license header

* rebase changes

* code review changes

* code review changes, REST tests added

* changes after rebase to newest master

* code review changes

* code review

* code review

* rebase to master
2020-11-03 11:42:33 +02:00
Mateusz Rzeszutek 35dc9071ef
Log normalised full statement in Redis instrumentations (#1441)
* Log normalised full statement in Redis instrumentations (jedis, lettuce, redisson)
2020-10-27 14:29:47 -07:00
Sergei Malafeev d2813c838d
Add system metrics (#1309)
Signed-off-by: Sergei Malafeev <sergei@malafeev.org>
2020-10-27 08:48:36 -07:00
Nikita Salnikov-Tarnovski d033ed594f
Review our usage of gradle cache (#1474)
* Experiments

* Experiments

* Experiments

* Update nightly.yaml

Trying to populate remote cache

* Experiments

* Better cache and snapshot publishing in GHA

* Read-only remote cache for PRs
2020-10-25 22:06:21 +02:00
Trask Stalnaker 7ecc9bb37b
Rename "auto" to "javaagent" in modules (#1370) 2020-10-13 12:32:13 -07:00
Pavol Loffay 3f5c644885
Add Prometheus metric exporter (#1262) 2020-10-09 12:06:51 -07:00
Anuraag Agrawal 525b3f729d
Split out gRPC library instrumentation. (#1329)
* Split out gRPC library instrumentation.

* Simpler status
2020-10-07 17:57:28 +09:00
Mateusz Rzeszutek d89ce818ef
Implement MDC auto-instrumentation for log4j2 (#1200)
* Implement MDC auto-instrumentation for log4j2

* Implement MDC auto-instrumentation for log4j2 2.7

* Implement MDC auto-instrumentation for log4j2

* Implement MDC auto-instrumentation for log4j2

* Implement MDC auto-instrumentation for log4j2

* Implement MDC auto-instrumentation for log4j1

* Implement MDC auto-instrumentation for log4j2
2020-09-18 17:53:43 +03:00
Mateusz Rzeszutek bc8224f88f
Implement MDC auto-instrumentation for log4j1 (#1211) 2020-09-17 12:07:12 +03:00
Anuraag Agrawal 01ec2ad6a7
Add initial baseline instrumentation for AWS lambda runtime. (#1192)
* Add initial baseline instrumentation for AWS lambda runtime.

* narc

* Cleanup

* docs

* Remove sentence which is redundant with every manual instrumentation we provide.
2020-09-14 12:57:51 +09:00
Mateusz Rzeszutek 9566315914
Support RESTeasy 4.0 version in unit tests (#1082)
* Support RESTeasy 4.0 version in unit tests

* Split jaxrs-2.0 into jaxrs-2.0-common and jaxrs-2.0-testing (similar to e.g. play)
* Support newest RESTEasy version in unit tests

* Apply suggestions from code review

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

* Support RESTeasy 4.0 version in unit tests - code review follow-up

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-09-11 07:21:16 +03:00
Anuraag Agrawal 266b8b927d
Split out artifact for javaagent SPI. (#1187)
* Split out artifact for javaagent SPI.

* Fix test - exporters are loaded by test and should not be on the classpath

* Fix
2020-09-11 07:09:04 +03:00