Commit Graph

86 Commits

Author SHA1 Message Date
Lauri Tulmin 2280b3fd80
Correct logback mdc appender class name (#8335) 2023-04-21 15:04:06 +02:00
Lauri Tulmin 1393604118
Add option to capture logback key value pairs (#8074)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/8059
2023-04-03 11:30:04 -07:00
Jean Bisutti c5ef8ffd60
Add GraalVM native tests (#8163)
This PR allows:
* Executing the OTel Logback appender tests as GraalVM native
executables
* Executing the native tests once a day on Github

---------

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-03-30 14:10:48 -07:00
Lauri Tulmin eac75a1d0b
Prefix baggage key not value when adding it to logback mdc (#8066) 2023-03-22 13:14:10 +01:00
Lauri Tulmin 0ef4c0beb9
Don't wrap exceptions from logback appender (#8040) 2023-03-13 17:23:48 +01:00
adamleantech 96fd1d7522
Add Baggage to logback MDC controlled by flag (#7892)
The intention here is to allow users of the java agent to set a VM flag
in order to be able to add values in the current Baggage context to MDC
for logback. It seemed unwise to turn this on by default - if the
application is configured to print all MDC contents (as it often the
case with JSON output) then baggage would be logged out by default which
may either bloat the logs or result in sensitive data being exposed
unitentionally.

Addresses #1391 and #6708

Note that this is my first contribution to this repo, I've done my best
to follow the existing approaches to things like testing but would
appreciate any feedback.

---------

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2023-03-09 08:03:56 -08:00
Jean Bisutti ff73e9577c
Make the OpenTelemetry Logback appender work with GraalVM native images (#7989)
I have tried the [OpenTelemetry Logback
appender](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/logback/logback-appender-1.0/library)
with GraalVM native images. The GraalVM configurations of this PR are
required to make it work.

It's my first GraalVM-related PR in this repo. In future works, adding
automatic tests with GraalVM on some [programmatic instrumentation
libraries](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md#libraries--frameworks)
may be interesting.
2023-03-08 07:58:37 -08:00
Lauri Tulmin 36af04266a
Fix AbstractMethodError in logback instrumentation (#7967)
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7949
Replace wrapper class with JDK proxy to ensure that all methods are
implemented and delegated to the underlying event.
2023-03-03 08:32:50 -08:00
Trask Stalnaker a26b5f6639
Support slf4j to log4j2 (#7656) 2023-02-07 14:38:04 -08:00
Trask Stalnaker 7091719e96
Rename logback mdc library package name (#7752) 2023-02-07 07:04:35 -08:00
Trask Stalnaker dab33810bb
Convert logging instrumentation tests to Java (#7631)
currently based on #7632
2023-01-24 15:18:39 -08:00
Trask Stalnaker adbd9664f4
Fix some instrumentation scope names (#7632) 2023-01-23 19:46:06 -08:00
Trask Stalnaker 2f76931e2f
Add logback configuration doc (#7392)
See #7389

Co-authored-by: Fabrizio Ferri-Benedetti <fferribenedetti@splunk.com>
2022-12-12 13:55:23 -08:00
Aaron Ai 2d7395c44b
Introduce markdown lint check (#7175)
Fixes #7129
2022-11-16 20:48:42 -08:00
Trask Stalnaker 71b3e3e027
Library doc cleanup (#6948)
Related to #6947, but just cleans up the library module doc that already
existed (mostly for uniformity). Does not introduce any new doc.
2022-10-24 10:26:21 -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
Jean Bisutti c42eac95fd
Add marker attribute for Logback (#6652) 2022-09-22 09:54:55 -07:00
Trask Stalnaker ec3ba77101
Convert logback test to Java (#6613) 2022-09-14 10:58:59 -07:00
Jean Bisutti f135169f1d
Add code attributes for Logback (#6591)
* Add code attributes for Logback

* Rename property

* Add a note about performance

* Add null check on file name

* Add check on line number

* Fix test following new behavior

* spotless

* Update instrumentation/logback/logback-appender-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/appender/v1_0/internal/LoggingEventMapper.java

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

* Fix test

* Adapt test for Java 18

* codenarc

* Test fix

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2022-09-13 09:25:52 -07:00
Trask Stalnaker eb43ea9a1e
Update logback test dependencies (#6554) 2022-09-07 08:17:34 +02:00
Mateusz Rzeszutek 0d6f0b15d0
Update dependencies (#6499)
* Update dependencies

* Strictly pin slf4j and logback versions

* logback 1.3

* Only use slf4j 2.0.0 internally in the javaagent

* Pre-initialize slf4j provider

* Bump jackson version

* licenses
2022-09-06 13:04:30 -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
Trask Stalnaker 68a9f20eb3
Enable PrivateConstructorForUtilityClass errorprone check (#6427)
* PrivateConstructorForUtilityClass

* Advice

* More advice

* More

* More advice

* More

* Spotless

* Fix

* Fix

* Fix

* A better solution

* Revert

* More

* Fix

* Spotless

* Fix
2022-08-10 11:30:22 +03:00
Mateusz Rzeszutek 257009f944
InstrumentationConfig part 5: library logging appenders (#6321)
* InstrumentationConfig part 5: library logging appenders

* Logback

* remove log4j hackery

* fix tests

* Remove unused

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-07-18 14:28:26 -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
Lauri Tulmin d5b935a92c
Correct artifact name in logback-mdc readme (#5963) 2022-05-02 19:12:17 -07: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
Mateusz Rzeszutek b702a9d4d1
Fix logging instrumentation to pass Context instead of Span (#5881) 2022-04-19 12:24:10 -07:00
Mateusz Rzeszutek 7c760acea6
Move some classes out of `javaagent-instrumentation-api` (#5841)
* Move concurrent instrumentation utils out from javaagent-instrumentation-api

* Move AgentLogEmitterProvider, InstrumentedTaskClasses and OpenTelemetrySdkAccess out of javaagent-instrumentation-api
2022-04-15 12:09:28 -07:00
Lauri Tulmin 5946813a68
Use UnsynchronizedAppenderBase as base class for our logback appender (#5818) 2022-04-13 10:11:00 -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
Mateusz Rzeszutek 519024485c
Move Cache and related classes to internal package (#5759)
* Move Cache and related classes to internal package

* fix imports
2022-04-06 18:12:11 -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
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
Trask Stalnaker b0e4be0e5f
Capture logback formatted message (#5497) 2022-03-04 13:10:55 +02:00
Trask Stalnaker 627f5d3e1c
Add experimental thread attributes for logs (#5474) 2022-03-02 09:06:08 -08: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 7df2b0e2df
Don't run testLatestDeps on alpha/beta/rc versions (#5258)
* Don't run testLatestDeps on alpha/beta/rc versions

* More logback
2022-01-28 08:21:53 -08:00
Trask Stalnaker 51e52427bb
Fix logback testLatestDeps (#5248) 2022-01-26 12:09:31 -08:00
Trask Stalnaker 477f7163f0
Some testLatestDeps cleanup (#5226) 2022-01-26 09:27:53 -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
jason plumb 963b5cc087
Connect AgentLogEmitterProvider global during OpenTelemetryInstaller (#5088)
* during install, hook up the log emitter provider for instrumentation to use.

* spotless

* Fix tests

* Default instrumentation name to ROOT when logger name null/empty

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-01-13 08:31:02 -08:00
Trask Stalnaker f7da97bd9d
Move appender api to internal (#5080)
* rename artifacts and packages

* Library users shouldn't need to use internal

* Update docs

* Rename in order to simplify HelperClassPredicate

* Spotless

* Move AgentLogEmitterProvider to javaagent-instrumentation-api
2022-01-12 08:38:28 -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
Trask Stalnaker 7c58220d65
Fix logback testLatestDeps (#5010) 2022-01-04 16:20:21 -08:00
jack-berg 935cb88ff4
Add logback appender (#4984) 2022-01-03 20:42:28 -08:00
Trask Stalnaker 1a9b37525c
Add support for capturing logback mdc attributes (#4968)
* Add support for capturing logback mdc attributes

* Spotless
2022-01-03 10:32:49 -08:00
Trask Stalnaker 39a9a2f8e2
Fix codenarc (#4969)
* Fix codenarc

* Fix violations
2021-12-22 16:15:38 -08:00
Trask Stalnaker 484ae6be17
Fix logback testLatestDeps (#4953) 2021-12-20 15:45:40 -08:00
Trask Stalnaker ea359e61fb
Add logback appender javaagent instrumentation (#4939)
* logback

* Use assertInverse

* sync

* sync

* Update instrumentation/logback/logback-appender-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/appender/v1_0/LogbackHelper.java

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

* Update instrumentation/logback/logback-appender-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/logback/appender/v1_0/LogbackHelper.java

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

* Unroll

Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2021-12-20 12:27:54 -08:00