Commit Graph

216 Commits

Author SHA1 Message Date
Mateusz Rzeszutek cbd8bb29fd
Spring web instrumenter 2 (#3731)
* Refactor spring-web library instrumentation to Instrumenter API

* errorprone

* fix typo
2021-07-30 09:28:27 -07:00
Lauri Tulmin 0689f86ed3
Fix running tests from intellij (#3702) 2021-07-28 10:21:19 -07:00
Trask Stalnaker 91b302a7d2
Reduce overhead of unsampled requests (#3681)
* Optimize sampled out requests

* Comment
2021-07-27 17:00:00 -07:00
Lauri Tulmin ff5472a822
Limit number of concurrently running docker tests (#3664)
* Limit number of concurrently running docker tests

* rename heavy to testcontainers

* use shorter expression
2021-07-27 15:41:39 -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
Trask Stalnaker e2d23cd8c1
Fix bounds check (#3612)
* Fix bounds check

* Update instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/aspects/WithSpanAspectAttributeBinder.java

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

Co-authored-by: Nikita Salnikov-Tarnovski <gnikem@gmail.com>
2021-07-20 09:29:45 +09:00
Anuraag Agrawal e0cb216610
Remove remaining usages of basic span asserts (#3616) 2021-07-19 10:09:44 -07:00
Trask Stalnaker 344e205720
Help out Intellij (#3595) 2021-07-16 15:55:30 +09:00
Anuraag Agrawal d3b62de8a5
Replace most uses of TraceUtils with testRunner runWithSpan. (#3582) 2021-07-15 10:30:34 -07:00
HaloFour 814239c8c0
Adds binding of attributes in methods annotated with @WithSpan (#3188)
* Add binding of span attributes for traced methods

* Spring Aspect support, memoization

* Test with attribute name from ParameterNameDiscoverer

* Refactorings, javadocs and tests

* Refactor out creating AttributeBinding to separate class

* Wrapped attribute bindings for array parameters

* Attribute binding for List and EnumSet

* Attribute binding for subclass of List with reflection helper class

* Fix test failures in JDK 8

* Attribute binding to Set<? extends Enum>

* Move attribute binding to instrumentation-annotation-support project

* Fix copypastaed missing imports in tests

* Simplify ParameterizedClass based on PR feedback and add javadocs

* Remove blank javadoc

* Switch to cache with weak keys for memoizing attribute bindings by method

* Remove binding support for EnumSet<?>

* Clean up javadoc

* Use SpanAttribute annotation from opentelemetry 1.4.0-SNAPSHOT

* Address some PR concerns

* Clean up

* Fix instrumentation dependency in Springboot

* Update documentation

* Switch javaagent dep to compileOnly per PR comment

* spotless

* Kick CI

* Rename annotation support module and packages

* Resolve SpanAttribute annotation at runtime with fallback for older OTel versions

* Remove unnecessary dependency

* Move reflection helper to annotation support module

* Remove unnecessary enum and fields from unit test
2021-07-14 13:32:07 -07:00
Mateusz Rzeszutek e5bbc392c6
Use 'Tasklet' for spans that are produced by custom Spring Batch asklets (#3528) 2021-07-13 08:41:31 +02:00
Anna Nosek e46ae82e94
Springboot propagators (#3506)
* set propagators in sdk builder

* add test for propagators

* introduce CompositeTextMapPropagator

* simplify composite TextMapPropagator creation, use SDK names for PropagationType

* Update instrumentation/spring/spring-boot-autoconfigure/src/main/java/io/opentelemetry/instrumentation/spring/autoconfigure/propagators/PropagationAutoConfiguration.java

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

* Update instrumentation/spring/spring-boot-autoconfigure/src/test/java/io/opentelemetry/instrumentation/spring/autoconfigure/propagators/PropagationAutoConfigurationTest.java

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

* replace enum with string, remove unnecessary noop propagator addition

* add warning and test for unsupported value

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-07-12 21:40:09 -07:00
Anuraag Agrawal f601863d12
Merge Java TraceUtils into extension and switch to Instrumenter API. (#3532)
* Merge Java TraceUtils into extension and switch to Instrumenter API.

* Woah
2021-07-10 13:21:12 +09:00
Mateusz Rzeszutek 9b56fc9051
Clean up AgentElementMatchers (#3527)
* Clean up AgentElementMatchers

* remove a TODO

* moved method
2021-07-09 10:02:21 +03:00
Trask Stalnaker 9e4da754c2
Use consistent logger field name (#3515) 2021-07-07 10:47:46 -07:00
Trask Stalnaker b304cc2912
Deprecate CallDepth.reset() and get() (#3511)
* Deprecate CallDepth.reset() and get()

* Don't pass CallDepth around
2021-07-07 09:24:50 -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
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
Rashmi 15a64286e9
Fixed Semantic conventions in RabbitMQ (#3425)
* Fixed Semantic conventions in RabbitMQ
1. Constructed producer span name according to spec rule. (Removed routing key as part of span name)
2. Renamed routing key attribute(part of experiment span attributes feature) according to semantic convention

* Spring integration rabbitmq test fixed

* moved MESSAGING_RABBITMQ_ROUTING_KEY attribute out of CAPTURE_EXPERIMENTAL_SPAN_ATTRIBUTES check
2021-06-29 14:35:47 +03:00
Anuraag Agrawal 52616dd87f
Skip problematic spring-rabbit muzzle (#3420) 2021-06-28 18:47:39 +09: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
Trask Stalnaker bcb282a220
Conform to google style guide checkstyle (#3399) 2021-06-24 10:53:23 +03: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
Mateusz Rzeszutek f451aef43c
Improve ignored but instrumented types assertion in javaagent tests (#3356)
* Improve ignored but instrumented types assertion in javaagent tests

* add one missing ignore

* Add ignored types to spring-rabbit and fix tests

* spotless
2021-06-22 22:37:29 -07:00
Anuraag Agrawal 57fef6a2e7
Fix merge conflict. (#3352) 2021-06-18 11:37:02 +09:00
Mateusz Rzeszutek 108b1298cf
Make @RabbitListener propagate context properly (#3339) 2021-06-17 10:38:53 -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
Mateusz Rzeszutek 2f528e4166
Rename *Instrumenters to *Singletons (#3335) 2021-06-16 10:12:37 -07:00
Mateusz Rzeszutek 3e28b01e42
Spring Integration javaagent instrumentation (#3295)
* Spring Integration javaagent instrumentation

* codenarc

* inline gradle property

* Conditionally create CONSUMER spans instead of always INTERNAL

* merge fix

* Add attributes assertions to rabbitMq test

* minor fix

* fix javadocs

* Code review follow-up
2021-06-16 14:12:39 +03:00
Anuraag Agrawal b7bfbf0cc6
Migrate instrumentation-library / common to plugins (#3320) 2021-06-15 11:54:48 -07:00
Anuraag Agrawal a818f14957
Migrate publish.gradle to convention plugin (#3312)
* Migrate publish.gradle to convention plugin

* Migrate usages of publish.gradle

* Remove publish.gradle

* Newline
2021-06-15 22:12:48 +09:00
Anuraag Agrawal 7ad9e7a50b
Move shaded testing dependencies to internal package. (#3305) 2021-06-15 13:10:19 +03: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 9f31a057b6
Refactor span names class (#3281)
* spanNameForMethod

* spanNameForClass

* Cache simple name using ClassValue
2021-06-14 11:56:40 -07:00
Trask Stalnaker 62f1f49bcd
Intellij cleanup (Java and Groovy) (#3285)
* Intellij cleanup

* Update instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/code/CodeAttributesExtractorTest.java

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

* Update instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/db/DbAttributesExtractorTest.java

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

* Update instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/db/SqlAttributesExtractorTest.java

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

* Update instrumentation-api/src/test/java/io/opentelemetry/instrumentation/api/instrumenter/messaging/MessagingAttributesExtractorTest.java

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

* Update instrumentation/spring/spring-web-3.1/library/src/test/java/io/opentelemetry/instrumentation/spring/httpclients/RestTemplateInterceptorTest.java

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

* Use glassfish version that supports lambdas

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2021-06-14 10:23:01 -07:00
Trask Stalnaker f1beb2397f
Intellij cleanup of markdown and yaml (#3284)
* Intellij cleanup of markdown and yaml

* Revert required yaml param
2021-06-14 13:13:01 +03:00
Trask Stalnaker b25ac0f1ad
Clean up old operation name terminology (#3282) 2021-06-13 22:10:36 -07: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
Anuraag Agrawal 84cc044ddf
Migrate remaining test client calls to Armeria and remove testing-com… (#3250) 2021-06-11 11:51:23 -07:00
Mateusz Rzeszutek 4c6cfb52ab
Test spring-integration instrumentation with spring-cloud-stream example (#3241) 2021-06-11 11:49:16 -07:00
Anuraag Agrawal 60aaff8972
Migrate HttpServerTest to Armeria (#3240)
* Migrate HttpServerTest to Armeria

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

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-06-11 08:56:02 +09:00
Lauri Tulmin e93ff4d419
Remove references to dropped request test (#3238) 2021-06-10 16:21:11 +03:00
Mateusz Rzeszutek 1cc893b009
Spring Integration library instrumentation (#3120)
* Spring Integration library instrumentation

* testLatestDeps

* attributesExtractor

* errorprone

* Code review comments

* rename package messaging -> integration

* move package in groovy files too

* thread local map

* Revert "thread local map"

This reverts commit 7c8d614f4c.

* Always extract parent SpanContext from the incoming message

* checkstyle

* codenarc
2021-06-10 14:51:32 +02:00
Trask Stalnaker f9dcd03b4b
Rename unused try-with-resources scope variables (#3201) 2021-06-07 11:41:50 +09:00
Trask Stalnaker cefaecab3f
Use more efficient namedOneOf where possible (#3200)
* Use more efficient namedOneOf where possible

* Fix - hasClassesNamed does and not or
2021-06-07 11:41:34 +09:00
HaloFour 7ef31a0169
Inject ObjectProvider into BeanPostProcessors to avoid premature initialization of OpenTelemetry (#3171) 2021-06-03 14:14:17 -07:00
Anuraag Agrawal c3dedbb64e
Enable all errorprone checks (#3155)
* Enable all errorprone checks

* Fixes

* Finish

* Finish

* Add flag to disable error prone
2021-06-01 17:41:08 +09:00