Commit Graph

168 Commits

Author SHA1 Message Date
Lauri Tulmin 819efb573f
Run glassfish tests with headless (#2781) 2021-04-12 15:54:54 -07:00
Nikita Salnikov-Tarnovski 38e98ebdad
Implement concurrent test for Vert.x http server (#2749)
* Implement concurrent test for Vert.x http server

* Format
2021-04-08 09:27:11 +03:00
Trask Stalnaker 3bd46091bc
Clean up request dispatcher instrumentation (#2724) 2021-04-06 13:36:38 -07:00
Ago Allikmaa 7027006f66
Request handlers and test images for Tomcat 10 and Jetty 11 (Servlet API 5) (#2703)
* Tomcat 10 and Jetty 11 handlers with Servlet API 5

* Jetty 11 and Tomcat 10 Windows images
2021-04-05 09:45:02 -07:00
Nikita Salnikov-Tarnovski 86ec1d7211
Concurrent server test (#2680)
* Concurrent server test

* Update testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpServerTest.groovy

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

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-04-05 14:12:07 +03:00
Anuraag Agrawal cc47da585b
New Instrumenter API (#2596)
* Instrumenter

* Spotless

* More instrumenter

* More

* Instrumenter API

* New Instrumenter API - InstrumenterBuilder (#20)

* New Instrumenter API - InstrumenterBuilder

* New Instrumenter API - InstrumenterBuilder - code review comments

* Start doccing

* Docs

* Most tests

* Last test

* Stick with current hostName lookup for now

* Update testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpClientTest.groovy

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

* New Instrumenter API - code review comments (#21)

* Doc

* Checkstyle

* Cleanups

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-04-05 15:45:07 +09:00
Ago Allikmaa 69c2644774
Servlet 5 API, reorganize servlet modules (#2609)
* Servlet 5.0 API support, refactored other servlet modules

* Include correct servlet instrumentation module for grails tests

* Reapply spotless after rebase

* Fix checkstyle

* Spotless

* Addressed PR suggestions

* Fixed files in wrong package.

* Fixed mixed up instrumentation names.

* Fixed incomplete instrumentation name.

* Addressed PR suggestions

* Addressed PR suggestions
2021-03-23 14:11:43 +02:00
Trask Stalnaker 811259376e
Update servlet attr names to match log attr names (#2593) 2021-03-18 14:03:06 +02:00
Mateusz Rzeszutek f3ba2302eb
Remove unnecessary libs from the javaagent shadowJar (#2566)
* Remove unnecessary libs from the javaagent shadowJar

And make it a bit lighter: 36 MB -> 21 MB

* Apply code review comments

* Remove unnecessary kotlin exclusion
2021-03-16 10:47:05 +01:00
Lauri Tulmin 29790d8472
Low cardinality name for servlet span (#2417) 2021-03-04 12:39:37 -08:00
Mateusz Rzeszutek 8242a01b3a
Clean up and document BaseTracer (#2482) 2021-03-04 11:21:46 +01:00
Lauri Tulmin e39b0b44c9
Fix flaky tomcat access log tests (#2448) 2021-03-01 17:41:44 +02:00
Trask Stalnaker b4c8354b56
Hide non-specd attributes behind experimental flag (#2376) 2021-02-24 12:33:21 -08:00
Lauri Tulmin 1ca7276593
Remove HttpServerTest.testExceptionBody and redirectHasBody (#2346) 2021-02-19 15:57:11 +02:00
Lauri Tulmin bc77ab0c82
jetty 9.4 behave differently from earlier versions (#2335) 2021-02-18 15:38:45 -08:00
Lauri Tulmin 80f389c778
Instrument all jetty handlers (#2320) 2021-02-18 11:51:48 +02:00
Mateusz Rzeszutek ee090aee1e
Support library instrumentations with HttpServerTest & HttpClientTest (#2299) 2021-02-16 09:05:23 -08:00
Lauri Tulmin e76d3b19d1
Fix ServletContextPath.prepend for app server spans (#2089)
* ServletContextPath.prepend doesn't work when server span is created from app server integration

* move ServletContextPath context creation to servlet-common, make servlet2&3 depend on servlet-common so that it would be used in tests that depend on servlet3

* fix failing test

* add servlet-common dependency to modules that depend on servlet3

* add servlet-common dependency to mojarra and myfaces

* run context path instrumentation after servlet instrumentation

* add servlet-common dependency to wicket

* move servlet context path handling

* enable jetty instrumentation for all handlers

* run springmvc tests with tomcat integration, fix peer port and peer ip reporting on tomcat

* jetty integration is now enabled for all handlers

* update expected span name

* Revert "jetty integration is now enabled for all handlers"

This reverts commit 82cbb663f5.

* Revert "update expected span name"

This reverts commit c034496fc5.

* Revert "enable jetty instrumentation for all handlers"

This reverts commit 8a3d077600.

* Trigger Build
2021-02-15 23:34:15 -08:00
Mateusz Rzeszutek 0adeb85f43
Refactor InMemoryExporter and move some of its methods … (#2264)
* Refactor InMemoryExporter and move some of its methods to spock base class & junit extension

* codenarc

* spotless

* Apply suggestions from code review

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

* fix armeria library tests

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-02-15 17:36:14 +01:00
Mateusz Rzeszutek 0fbdcad1dd
Make BaseTracer#startSpan() return Context (#2232)
* Make BaseTracer#startSpan() return Context

* Update instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelEventNotifier.java

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

* spotless

* Add Javadocs to BaseTracer

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-02-12 12:12:40 +01:00
Mateusz Rzeszutek ecf64c25f3
Remove BaseTracer#startScope() method (#2224)
* Remove BaseTracer#startScope() method

* fix compilation failure
2021-02-10 11:39:38 +01:00
Anuraag Agrawal fc410706d0
Update to Sdk 0.16.0 (#2221)
* Update to 0.16.0-SNAPSHOT

* Finish

* Finish

* Update to 0.16.0

* Finish
2021-02-09 18:00:54 +09:00
Mateusz Rzeszutek 93b3a3b289
testing-common refactoring: replace direct AgentTestRunner usage with… (#2134)
* testing-common refactoring: replace direct AgentTestRunner usage with spock spec

* Updated instrumentation docs

* Fix reactor-core library tests

ReactorCoreTest was getting a tracer from GlobalOpenTelemetry before LibraryTestTrait had a change to initialize the SDK
2021-02-01 11:32:25 +01:00
John Watson 4c1144ce78
Distinguish between the various servlet tracers for easier debugging. (#1979)
* Distinguish between the various servlet tracers for easier debugging.

* change to use the `common` suffix for that module

* Update instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2HttpServerTracer.java

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

* Update instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/Servlet3HttpServerTracer.java

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

* Update instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/dispatcher/RequestDispatcherTracer.java

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

* Update instrumentation/servlet/servlet-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/http/HttpServletResponseTracer.java

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

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2021-01-20 16:33:13 +02:00
Lauri Tulmin 9825ab0afa
Instrument jsf action calls (#2018) 2021-01-19 21:34:41 -08:00
Mateusz Rzeszutek 660f0e5225
Remove testing-common dependency on guava (#2062)
* Remove testing-common dependency on guava

* Use nano time

* Add guava dep to opentelemetry-api-metrics
2021-01-19 12:07:27 +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
Lauri Tulmin 11ad12289b
Jetty server span handling (#2029) 2021-01-14 09:31:57 -08:00
Pavol Loffay 077d8b64f6
Move common matchers to tooling/bytebuddy/matcher and ignore matchers to tooling/matcher (#1965) 2021-01-10 12:35:53 -08:00
Lauri Tulmin 5f816c5d43
Enable servlet forward and include tests (#1968) 2021-01-06 11:01:47 -08:00
Lauri Tulmin 2b97c42e01
Improve servlet22 response status handling (#1985)
* imporve servlet22 response status handling

* Update instrumentation/servlet/servlet-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v2_2/Servlet2Advice.java

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-01-06 14:02:51 +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
Lauri Tulmin 4ddc2d28f9
correct link in javadoc (#1956) 2020-12-22 14:12:43 +02: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
Trask Stalnaker fa09451aea
Prefix custom attributes with instrumentation name (#1784) 2020-12-03 20:56:31 -08:00
Trask Stalnaker 65f54e450b
Use Context more in HttpClientTracer (#1811)
* Use Context more in HttpClientTracer

* Better http-url-connection response object

* Follow database semantic conv for elasticsearch-rest

* Remove unnecessary CallDepth tracking
2020-12-03 11:47:08 -08:00
Trask Stalnaker 0bd85d7b7f
Pass around context more instead of span (HttpServerTracer) (#1810) 2020-12-01 14:49:01 -08:00
Trask Stalnaker 26f254b10d
Create javaagent dirs for all instrumentations, part 2 (#1794) 2020-11-28 22:26:49 -08:00
Trask Stalnaker 41bd489a77
Format groovy files (#1793) 2020-11-28 21:22:14 -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
Mateusz Rzeszutek 9a64a628ea
Make instrumentations non final (#1752)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-11-26 11:22:25 -08:00
Mateusz Rzeszutek 50c8ab499d
Remove no longer needed helperClassNames() methods (#1755) 2020-11-24 20:50:32 -08:00
Mateusz Rzeszutek 45646ff367
Rename TypeInstrumentation#classLoaderMatcher() to classLoaderOptimization() (#1741)
* Rename TypeInstrumentation#classLoaderMatcher() to classLoaderOptimization()

* Removed no longer needed comments & improved JavaDoc

* Improve TypeInstrumentation Javadoc
2020-11-24 14:27:58 +02:00
Trask Stalnaker 79f76c78ad
Move java files to java source folder and groovy files to groovy source folder (#1735)
* Move java files to java source folder

* Move groovy files to groovy source folder

* Too much

* Move another one back

* Codenarc

* Move test resource to where test is

* Spotless
2020-11-23 15:42:04 +02:00
Trask Stalnaker e092e87d6b
Remove disabled by default servlet instrumentation (#1684) 2020-11-19 11:22:02 -08:00
Trask Stalnaker 80b068b459
Instrument java.servlet.Filter directly (#1606)
* Instrument filter directly

* Remove some additional ignores

* Fix OncePerRequestFilter not being instrumented itself
2020-11-18 19:59:28 -08:00
Trask Stalnaker cecdfc2cd0
Update instrumentation names to be consistent (#1671)
* Update instrumentation names to be consistent

* Remove amqp from rabbitmq package name
2020-11-18 19:53:31 -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