Commit Graph

183 Commits

Author SHA1 Message Date
Trask Stalnaker 473edf5149
Fix couchbase instrumentation publishing (#3978)
* Fix couchbase instrumentation publishing

* Use new gradle-plugins version
2021-08-27 09:48:35 -07:00
Trask Stalnaker 20c72f3e98
Format kotlin gradle files (#3942)
* Add ktlint for kotlinGradle

* ktlint fails on wildcard imports

* Auto-format kotlin gradle files
2021-08-25 13:43:57 +09:00
Mateusz Rzeszutek 5c71d28ed7
Remove deprecated Config methods (#3908) 2021-08-23 16:44:54 -07:00
Mateusz Rzeszutek 3ea22bb3ed
Cache couchbase operation attribute values per method (#3819)
* Cache couchbase operation attribute values per method

* avoid using reflection

* spotless
2021-08-11 07:54:11 -07:00
Mateusz Rzeszutek b2609d0f40
Refactor couchbase and hystrix to Instrumenter API (#3802) 2021-08-10 12:16:41 -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
Lauri Tulmin fc9609d814
couchbase 3.2.0 (#3645) 2021-07-21 16:46:31 +03:00
Anuraag Agrawal f5ce4c03f8
Inline basic usages of basicSpan (#3583)
* Inline basic usages of basicSpan

* spock
2021-07-18 21:15:51 +03:00
Anuraag Agrawal d3b62de8a5
Replace most uses of TraceUtils with testRunner runWithSpan. (#3582) 2021-07-15 10:30:34 -07: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
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
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
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 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 ac30b3c185
Add SuppressWarnings("unused") on Advice classes (#3207)
* Add SuppressWarnings unused on Advice classes

* And in doc
2021-06-07 16:00:21 +09:00
Trask Stalnaker 5faa39b597
Fix couchbase-3.1 latest dependency test (#3198) 2021-06-06 01:15:08 +03:00
Lauri Tulmin 2871b5ddcf
Couchbase 3.1.6 (#3194) 2021-06-05 11:23:41 -07:00
Mateusz Rzeszutek b8aec6a671
Remove no longer needed NameMatchers class (#3179) 2021-06-03 14:36:36 -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
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
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 95c16c4a3c
Start migrating Muzzle plugin to Java (#2996) 2021-05-15 16:22:05 +09: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 abeca79e24
Some Gradle optimizations (#2949)
* Gradle optimizations

* Finish
2021-05-11 17:45:54 +09:00
Trask Stalnaker 6a84c2b2ec
Remove unnecessary generic type args (#2937)
* Remove unnecessary generic type args

* Revert one
2021-05-10 12:18:30 +09:00
Mateusz Rzeszutek 9c7fae3b04
Extract javaagent-extension-api from tooling & spi (#2879) 2021-05-06 23:30:25 -07:00
Trask Stalnaker bd829a6494
Remove duplicate status verification (#2710) 2021-04-19 11:41:37 -07:00
Trask Stalnaker c17b803b71
Use isHelperClass over additionalHelperClassNames (#2796) 2021-04-14 09:38:16 -07:00
Trask Stalnaker 9bd028f767
Remove unnecessary genericness (#2797) 2021-04-14 00:01:28 -07:00
Mateusz Rzeszutek 078603caf5
Generate InstrumentationModule#contextStore() with muzzle (#2775) 2021-04-13 20:05:01 -07:00
Trask Stalnaker d741dc48b9
Minor rename of javaagent unit test modules (#2784) 2021-04-13 12:36:30 +03:00
Trask Stalnaker b8f50fe922
Add parent dirs for common instrumentations (#2767) 2021-04-10 10:53:56 -07:00
Trask Stalnaker 92f1223aee
Remove unnecessary skipVersions (#2671)
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-04-01 19:02:20 -07: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 97d58d7ff4
Use class literals where possible (#2669) 2021-03-31 07:45:29 +03:00
Mateusz Rzeszutek 1e50b72937
Make muzzle reference creation package(s) configurable (#2615)
* Make muzzle reference creation package(s) configurable

* Code review comments
2021-03-26 14:12:43 +02:00
Lauri Tulmin 4ad9ed5c32
Reimplement finding open ports (#2629) 2021-03-25 10:41:20 -07: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
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
Piotr Glazar 92d61b5844
Auto value (#2494)
* SqlStatementInfo as AutoValue

* RequestMeta as AutoValue

* DbInfo as AutoValue

* After merge compilation fix

* CouchbaseQuerySanitizer compilation fix

* JdbcConnectionUrlParserTest compilation fix

* Revert "RequestMeta as AutoValue"

This reverts commit 609b57ee48.
2021-03-09 15:07:03 +02:00
Lauri Tulmin 1dd1bf2267
Exclude bad couchbase versions from muzzle (#2534) 2021-03-09 20:35:45 +09:00
Anuraag Agrawal 0dde62b498
Load couchbase otel instrumentation for 3.1 (#2524)
* Load couchbase otel instrumentation for 3.1

* Drift
2021-03-09 09:44:28 +09:00
Anuraag Agrawal 94872b1ced
Move DB helpers to instrumentation-api (#2511)
* Move DB helpers to instrumentation-api

* Fix gradle config

* Remove legacy
2021-03-08 12:32:36 +09:00
Mateusz Rzeszutek 24486c35b5
Use low cardinality span names in Couchbase instrumentation (#2449)
Also move unit tests to a separate module, previously they passed purely by accident (necessary classes were injected by the javaagent)
2021-03-02 10:25:01 -08:00
Trask Stalnaker 62f2611486
Update instrumentation names (#2433) 2021-03-01 19:34:25 -08:00
Mateusz Rzeszutek fd55ce226a
Refactor DatabaseClientTracer (in preparation for low-cardinality span names) (#2398)
* Refactor DatabaseClientTracer (in preparation for low-cardinality span names)

* spotless
2021-02-26 15:36:24 +01:00
Mateusz Rzeszutek 0949b7feee
Fix tests that verify experimental span attributes (#2415)
Some of the modules that add experimental span attributes didn't have the flag turned on for tests, which caused them to fail.
2021-02-25 15:01:39 +01:00
Trask Stalnaker b4c8354b56
Hide non-specd attributes behind experimental flag (#2376) 2021-02-24 12:33:21 -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
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
Mateusz Rzeszutek c61f3f2949
Use a single configuration property for db.statement sanitization (#2125)
* Use a single configuration property for db.statement sanitization

* spotless
2021-01-29 16:02:15 +09:00
Mateusz Rzeszutek 20dadc1b6d
Replace two JavaCC lexers with a single JFlex one (#2113) 2021-01-26 14:03:11 -08:00
jason plumb 7122c4b2a5
Rename "normalize" to "sanitize" (#2087)
* rename SqlNormalizer to SqlSanitizer (more descriptive).

* rename normalize to sanitize.

* rename in comments and messages

* rename in variable to sanitized

* rename normalized -> sanitized in tests

* fixed broken tests

* rename variable.

Co-authored-by: Anuraag Agrawal <aanuraag@amazon.co.jp>
2021-01-22 15:49:24 +09: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
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
Anuraag Agrawal 3b88bb75ae
Use SemanticAttributes for DbSystem (#1991) 2021-01-07 18:59:56 -08: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
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 fa09451aea
Prefix custom attributes with instrumentation name (#1784) 2020-12-03 20:56:31 -08:00
Trask Stalnaker a2770c311e
Don't use ConfigUtils outside of AgentTestRunner tests (#1796)
* NetPeerUtilsTest

* RedisCommandNormalizerTest

* InstrumentationModuleTest

* HttpClientTracerTest

* Normalize test config properties

* Create ConfigBuilder in instrumentation-api

* Keep config properties compatible with SDK
2020-12-01 16:52:08 -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 13c405c174
Make muzzle generate helperClassNames() method (#1714) 2020-11-24 10:07:22 -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 5d0506e5e8
Convert rxjava-1.0 into library (#1732) 2020-11-23 14:51:55 -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 cea28356c6
Remove some no longer needed muzzleCheck() methods (#1660)
* Remove some no longer needed muzzleCheck() methods

And add muzzle references to log4j 2.13.2 instrumentation
2020-11-17 14:40:33 -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
Mateusz Rzeszutek d307ffc532
Refactor Instrumenters into InstrumentationModules - A, B, C (#1556)
* Refactor Instrumenters into InstrumentationModules - A, B, C

* Fixed some modules' names to match library/instrumentation gradle module

* Fix couchbase 2.6 muzzle
2020-11-09 15:42:41 +01:00
Trask Stalnaker 71f91877ab
Fix muzzle and add missing helper classes (#1585)
* Fix muzzle

* Fix jdbc instrumentation

* Fix jms instrumentation

* Fix couchbase instrumentation

* Fix servlet instrumentation
2020-11-08 13:54:00 -08:00
Anuraag Agrawal d3b60a5e33
Rename TRACER to tracer() (#1540) 2020-11-02 20:49:51 -08:00
Anuraag Agrawal c6eee70660
Update to latest snapshot. (#1524) 2020-10-29 18:54:09 -07:00
Mateusz Rzeszutek e89942d430
Standardize DB query normalizer property names (#1509)
* Standardize DB query normalizer property names

And add normalizer configuration for Redis, Couchbase, Cassandra and Geode

* apply code review comments
2020-10-29 16:20:33 +02:00
Trask Stalnaker 58c78ec7d0
Fix test latest deps build (#1503) 2020-10-27 15:48:58 -07:00
Mateusz Rzeszutek d3c39228c6
Couchbase instrumentation should store normalized queries as db.statement (#1462)
* Couchbase instrumentation should store normalized queries as db.statement

* Fix inaccurate version comments
2020-10-27 18:15:27 +01:00
Anuraag Agrawal f6ad05b8e3
Update to latest SDK snapshot (#1384)
* Update to latest SDK snapshot

* Use published snapshot

* Fixes

* Cleans

* spotless

* Most

* Clean

* Merge

* Temporarily remove context interop

* WIP

* Prepare for intercepting propagated span

* Bump SDK

* IDE updates

* Lots

* compileJava

* Done?

* bar

* Spot

* drugs

* Groovy--

* green for me

* Spot

* Remove grpc import

* Scrub
2020-10-25 15:14:32 +09:00
Mateusz Rzeszutek 50990a7c17
Cassandra instrumentations should store normalised CQL queries as db.statement (#1427)
* Move `DbSystem` to package `...instrumentation.api.db`
* Move `SqlNormalizer` to `javaagent-api`  package ...api.db.normalizer
* Refactor Cassandra tests so that they use testcontainers (and run on Java 11)
* Implement Cassandra statement normalization
2020-10-22 17:56:06 +02:00
Trask Stalnaker 1b51d4a6b1
Rename packages (#1367) 2020-10-11 13:54:35 -07:00
Ioannis Mavroukakis f2de47a150
SpanAssert method names should reflect underlying Span method names (#1307) 2020-10-05 16:04:08 +09:00
Anuraag Agrawal dadaac9a8c
Use 2-line license header to match SDK repo (#1321)
* Use 2-line license header to match SDK repo

* Apply change
2020-10-05 14:29:56 +09:00
Nikita Salnikov-Tarnovski 88707c3bb0
Review DB semantic conventions (#1284) 2020-10-01 11:17:09 -07:00
Trask Stalnaker 8954f222c0
Update to the latest opentelemetry-java 0.9.0-SNAPSHOT (#1266) 2020-09-26 20:44:28 -07:00
Nikita Salnikov-Tarnovski 85e2db8d35
Convert all remaining database client decorators to tracers (#1236)
* Geode tracer

* Memcache tracer

* Jedis tracer

* Rediscala tracer

* ElasticsearchTransport tracer

* ElasticsearchRest tracer

* Clean up HibernateDecorator

* Couchbase tracer

* Polish
2020-09-23 20:11:30 +03:00
Nikita Salnikov-Tarnovski e74ffe2e52
Remove support for java7 from buildscripts (#1229)
* Remove support for java7 from buildscripts

* Remove support for java7 from buildscripts
2020-09-23 15:40:21 +03:00
Helen Y c4c4558b09
More refactoring (#1040) 2020-08-19 15:43:48 -07:00
Anuraag Agrawal bbfdbb39c0
Create abstraction for library dependencies for instrumentation. (#977)
* Create abstraction for library dependencies for instrumentation.

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

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2020-08-19 08:57:31 +09:00
Anuraag Agrawal b507a2b803
Separate out shared test sources for couchbase/play-ws to another pro… (#1029)
* Separate out shared test sources for couchbase/play-ws to another project.

* git add missing files.

* Rename
2020-08-18 13:25:29 +09:00