-
Notifications
You must be signed in to change notification settings - Fork 860
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make hibernate-* indy compatible #11553
Conversation
a114eb9
to
d07e674
Compare
@trask can you add |
closing and re-opening to trigger indy tests |
…nstrumentation into indy-hibernate
…nstrumentation into indy-hibernate
.../java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/CriteriaInstrumentation.java
Outdated
Show resolved
Hide resolved
I think you should split this PR in 2. The first one should just do the changes that are needed to make the instrumentation work with indy like adding the @Advice.OnMethodEnter(suppress = Throwable.class)
public static Consumer<Throwable> startMethod(@Advice.This ProcedureCall call, @Advice.Origin("#m") String name) {
return ProcedureCallMethodHelper.start(call, name);
}
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
public static void endMethod(@Advice.Thrown Throwable throwable, @Advice.Enter Consumer<Throwbale> exitAction) {
if (exitAction != null) {
exitAction.accept(throwable);
}
} and move all the logic that we have in advice into the helper. The returned |
Unfortunately, I think we can't do that, as migrating to indy advices means removing the local variables. I agree with you that there may be more elegant (and maybe generic) ways to do that, here I tried to minimize the changes to the strictly necessary. I really like your idea to use a On the long term, once using indy advices everywhere, there isn't any separation needed between helper classes and advice classes, so those helper classes could just be inner classes of the advice class if needed for simplicity. When we did similar migration in the Elastic APM agent we did similar compromises on the code simplicity as we think the benefits (get rid of shading, being able to debug, isolated classloaders, ...) were definitely worth doing it, however here I completely understand that doing so might be harder to accept, especially given this work will take a while and many releases to be completed. |
IMO, the @laurit if you want to, I can have a try at implementing the approach suggested in this comment to allow references to any types visible to the Advice in it's method signatures if that is important to you:
EDIT: Did a small microbenchmark to verify that Benchmark code@OutputTimeUnit(TimeUnit.NANOSECONDS)
@BenchmarkMode(Mode.AverageTime)
public class MethodHandleInlining {
private static final MethodHandle original = createMH();
private static final MethodHandle erased = original.asType(
MethodType.methodType(Object.class, Object.class));
private static MethodHandle createMH() {
try {
return MethodHandles.publicLookup()
.findStatic(MethodHandleInlining.class, "doStuff",
MethodType.methodType(Blackhole.class, Blackhole.class));
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
@Benchmark
public void invokeNormal(Blackhole bh) {
bh.consume(doStuff(bh));
}
@Benchmark
public void invokeOriginalNotExact(Blackhole bh) {
try {
bh.consume(original.invoke((Object) bh));
} catch (Throwable e) {
throw new IllegalStateException(e);
}
bh.consume(doStuff(bh));
}
@Benchmark
public void invokeOriginalExact(Blackhole bh) {
try {
bh.consume((Blackhole) original.invokeExact(bh));
} catch (Throwable e) {
throw new IllegalStateException(e);
}
}
@Benchmark
public void invokeErasedExact(Blackhole bh) {
try {
bh.consume((Object) erased.invokeExact((Object) bh));
} catch (Throwable e) {
throw new IllegalStateException(e);
}
}
public static Blackhole doStuff(Blackhole bh) {
bh.consume(bh);
return bh;
}
} Results on JDK 17:
So, it seems like |
As far as I remember the advice transformer can rewrite |
Creating a span and exporting it does a lot of things. Adding a few more allocations there isn't really going to change anything. Also many of the existing advices already allocate some objects so I wouldn't worry about this too much. As for the JIT I'd guess whether it can stack allocate something will really depend on whether it can prove with escape analysis whether the object is used only in this method or not. In that regard it should not matter whether it is an object array or something else. What matters is whether this object gets passed to some other method and whether that method gets inlined.
I think this could improve the readability of the advice code. It would be awesome if you could look into this. |
…nstrumentation into indy-hibernate
Thanks to the work of @JonasKunz in #11873 we can have better advice signatures without As a consequence, this PR is now mostly about removing usages of |
…nstrumentation into indy-hibernate
if (callDepth.getAndIncrement() > 0) { | ||
return; | ||
return HibernateOperationScope.wrapCallDepth(callDepth); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC, hibernate does a lot of method overload delegation which leads to fairly heavy usage of the CallDepth checks, it may be worth avoiding these allocations and conditionally returning CallDepth or HibernateOperationScope
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've switched to less wrapping in cd99412, should be better now.
Is there a usual benchmark to measure extra allocation created by the instrumentation/sdk ?
@SylvainJuge I wanted to create a PR for your PR that does this a bit differently, but with your last changes it won't apply cleanly and I don't have time to fix it so I'll just paste the diff here for an alternative idea how you could have solved this (I didn't run all tests so could be buggy).
|
I think this is a good idea @laurit, I initially wanted to minimize the changes to "strictly necessary" for the migration, but it's even better if we can further simplify the enter advice by not directly using the call depth and passing it to the end advice. The only minor downside I see with this approach is that the state between enter and exit advices is not obvious (but we can make it clear in comments). Given that I will try to include your changes in this PR and update it. |
@laurit this works perfectly, I've only slightly renamed the nested call check method. |
* chore(deps): update gradle/actions action to v3.4.2 (main) (open-telemetry#11598) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Bump version in api diff compare (open-telemetry#11615) * chore(deps): update graalvm/setup-graalvm action to v1.2.2 (main) (open-telemetry#11624) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Simplify jetty9 http client instrumentation (open-telemetry#11595) * Merge change log updates from release/v1.33.x (open-telemetry#11628) * fix(deps): update quarkus packages to v3.11.3 (main) (patch) (open-telemetry#11629) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * remove conditional indy test in CI (open-telemetry#11631) * make aws-sdk indy compatible (open-telemetry#11552) * fix(deps): update quarkus packages to v3.12.0 (main) (minor) (open-telemetry#11630) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Remove aws sqs latest dep limit (open-telemetry#11643) * Fix deprecation warning in build script (open-telemetry#11642) * fix(deps): update dependency org.springframework.boot:spring-boot-starter-web to v3.3.1 (main) (open-telemetry#11644) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * re-use logic for http client configuration (open-telemetry#11620) Co-authored-by: Trask Stalnaker <[email protected]> * fix link (open-telemetry#11656) * fix(deps): update dependency net.ltgt.gradle:gradle-errorprone-plugin to v4.0.1 (main) (open-telemetry#11652) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Influxdb client: don't fill db.statement for create/drop database and write operations (open-telemetry#11557) * Update docs for bundled exporters (open-telemetry#11662) * Improve test error report (open-telemetry#11664) * Use more @ConditionalOnEnabledInstrumentation (open-telemetry#11665) * Fix typo (open-telemetry#11672) * Remove reflection from builder (open-telemetry#11673) * fix(deps): update junit5 monorepo to v5.10.3 (main) (patch) (open-telemetry#11681) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * don't use test keystore for vaadin (open-telemetry#11679) * Add address and port assertions (open-telemetry#11668) * Update http metrics to the latest version (open-telemetry#11659) * fix(deps): update armeria packages to v1.29.1 (main) (patch) (open-telemetry#11686) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency io.grpc:grpc-bom to v1.65.0 (main) (open-telemetry#11689) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix running ./gradlew tasks (open-telemetry#11692) * chore(deps): update github/codeql-action action to v3.25.11 (main) (open-telemetry#11699) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update groovy monorepo (main) (patch) (open-telemetry#11706) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix build for graalvm native (open-telemetry#11709) * add javalin instrumentation (open-telemetry#11587) * fix(deps): update dependency io.opentelemetry.proto:opentelemetry-proto to v1.3.2-alpha (main) (open-telemetry#11715) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix kafka graalvm native (open-telemetry#11714) * cleanup log filter (open-telemetry#11719) * fix(deps): update dependency org.owasp:dependency-check-gradle to v10 (main) (open-telemetry#11720) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * config properties support for spring starter clients (open-telemetry#11605) * fix(deps): update dependency org.owasp:dependency-check-gradle to v10.0.1 (main) (open-telemetry#11722) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * rebuild when labels change, so that we can trigger the right actions (open-telemetry#11725) * Add GraalVM Kafka hints (open-telemetry#11735) * Fix collector conf for overhead tests (open-telemetry#11730) * fix(deps): update quarkus packages to v3.12.1 (main) (patch) (open-telemetry#11732) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Convert jsf jakarta tests from groovy to java (open-telemetry#11694) * Fix GraalVM hint (open-telemetry#11737) * Jsf: simplify asserting exception (open-telemetry#11736) * Convert jsf javax tests from groovy to java (open-telemetry#11711) * fix(deps): update dependency commons-logging:commons-logging to v1.3.3 (main) (open-telemetry#11740) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency org.codehaus.mojo:animal-sniffer-annotations to v1.24 (main) (open-telemetry#11741) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Replace junit4 @test annotation with junit5 annotation (open-telemetry#11745) * chore(deps): update actions/upload-artifact action to v4.3.4 (main) (open-telemetry#11748) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update jackson packages to v2.17.2 (main) (patch) (open-telemetry#11750) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]> * fix(deps): update dependency org.owasp:dependency-check-gradle to v10.0.2 (main) (open-telemetry#11753) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Exclude javalin 3.2.0 from muzzle (open-telemetry#11766) * Update the OpenTelemetry SDK version to 1.40.0 (open-telemetry#11752) Co-authored-by: Lauri Tulmin <[email protected]> * support otel.instrumentation.common.default-enabled in spring starter (open-telemetry#11746) * fix(deps): update dependency org.codenarc:codenarc to v3.5.0 (main) (open-telemetry#11758) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add link to SDK configuration page (open-telemetry#11729) * Build image for testing early jdk8 (open-telemetry#11594) * fix(deps): update byte buddy packages to v1.14.18 (main) (patch) (open-telemetry#11767) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Trask Stalnaker <[email protected]> * Support tracing the ClickHouse Java HTTP client (open-telemetry#11660) * support jettyclient 12 (open-telemetry#11519) Co-authored-by: Lauri Tulmin <[email protected]> Co-authored-by: Trask Stalnaker <[email protected]> * Fix build (open-telemetry#11776) * chore(deps): update gradle/actions action to v3.4.2 (main) (open-telemetry#11770) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Enable early jdk8 test (open-telemetry#11777) * Add Pulsar MessagingProducerMetrics (open-telemetry#11591) Co-authored-by: Lauri Tulmin <[email protected]> Co-authored-by: Steve Rao <[email protected]> * chore(deps): update actions/setup-node action to v4.0.3 (main) (open-telemetry#11780) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency org.assertj:assertj-core to v3.26.3 (main) (open-telemetry#11781) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix windows benchmark fail (open-telemetry#11698) * Alter instrumentation suppression behavior (open-telemetry#11640) * Propagate otel context through custom aws client context for lambda direct calls (open-telemetry#11675) Co-authored-by: Lauri Tulmin <[email protected]> * fix(deps): update armeria packages to v1.29.2 (main) (patch) (open-telemetry#11785) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency io.quarkus:quarkus-bom to v3.12.2 (main) (open-telemetry#11787) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update plugin io.quarkus to v3.12.2 (main) (open-telemetry#11789) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Spring autoconf deps (open-telemetry#11784) * GraalVM native support for the OpenTelemetry annotations (open-telemetry#11757) Co-authored-by: Trask Stalnaker <[email protected]> * Use config properties for spring starter (http server) (open-telemetry#11667) Co-authored-by: Lauri Tulmin <[email protected]> Co-authored-by: Trask Stalnaker <[email protected]> * Update @EnableOpenTelemetry javadoc (open-telemetry#11799) * chore(deps): update github/codeql-action action to v3.25.12 (main) (open-telemetry#11808) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency io.grpc:grpc-bom to v1.65.1 (main) (open-telemetry#11804) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dockerjavaversion to v3.4.0 (main) (minor) (open-telemetry#11802) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * rename spring autoconfigure to autoconfigure-2 (open-telemetry#11800) * make spring starter stable (open-telemetry#11763) * chore(deps): update dependency gradle to v8.9 (main) (open-telemetry#11798) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update ubuntu docker tag to v24 (main) (open-telemetry#11771) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix http.server.active_requests metric with async requests (open-telemetry#11638) Co-authored-by: Helen <[email protected]> Co-authored-by: Trask Stalnaker <[email protected]> * Rename spring-boot-autoconfigure artifacts (open-telemetry#11815) * fix(deps): update dependency org.owasp:dependency-check-gradle to v10.0.3 (main) (open-telemetry#11834) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency commons-codec:commons-codec to v1.17.1 (main) (open-telemetry#11830) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Remove unneeded groovy dependencies from lambda tests (open-telemetry#11828) * Restructure to have a single spring-boot-autoconfigure artifact (open-telemetry#11826) * chore(deps): update gradle/actions action to v3.5.0 (main) (open-telemetry#11824) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update change log for v2.6.0 release (open-telemetry#11816) * Update version to 2.7.0-SNAPSHOT (open-telemetry#11839) Co-authored-by: Trask Stalnaker <[email protected]> * fix(deps): update testcontainers-java monorepo to v1.20.0 (main) (minor) (open-telemetry#11846) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update quarkus packages to v3.12.3 (main) (patch) (open-telemetry#11842) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Merge change log updates from release/v2.6.x (open-telemetry#11840) * Update api diff after release (open-telemetry#11850) * Add span baggage processor (open-telemetry#11697) * Fix ClickHouse tracing when database name not included in connection string (open-telemetry#11852) * fix(deps): update dependency io.netty:netty-bom to v4.1.112.final (main) (open-telemetry#11864) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update github/codeql-action action to v3.25.13 (main) (open-telemetry#11862) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency org.springframework.boot:spring-boot-starter-web to v3.3.2 (main) (open-telemetry#11855) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update errorproneversion to v2.29.2 (main) (minor) (open-telemetry#11836) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update bellsoft/liberica-openjdk-alpine docker tag to v21.0.4 (main) (open-telemetry#11863) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency org.apache.commons:commons-lang3 to v3.15.0 (main) (open-telemetry#11848) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency com.gradle.develocity:com.gradle.develocity.gradle.plugin to v3.17.6 (main) (open-telemetry#11875) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update plugin com.gradle.develocity to v3.17.6 (main) (open-telemetry#11874) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update docker/login-action action to v3.3.0 (main) (open-telemetry#11877) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Consolidate github action renovate PRs (open-telemetry#11829) * Reformat supported libraries doc (open-telemetry#11889) * fix(deps): update quarkus packages to v3.13.0 (main) (minor) (open-telemetry#11894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency com.google.protobuf:protobuf-java-util to v3.25.4 (main) (open-telemetry#11897) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix missing throw statement in RestClientWrapper (open-telemetry#11892) (open-telemetry#11893) * Merge change log updates from release/v1.33.x (open-telemetry#11904) * fix(deps): update armeria packages to v1.29.3 (main) (patch) (open-telemetry#11906) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update github actions (main) (open-telemetry#11910) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency com.uber.nullaway:nullaway to v0.11.1 (main) (open-telemetry#11916) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update armeria packages to v1.29.4 (main) (patch) (open-telemetry#11923) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix latest dep tests (open-telemetry#11925) * Convert jsp 2.3 tests from groovy to java (open-telemetry#11827) * fix(deps): update testcontainers-java monorepo to v1.20.1 (main) (patch) (open-telemetry#11931) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix broken link (open-telemetry#11935) * Allow any types in invokedynamic advice method signatures (open-telemetry#11873) Co-authored-by: Lauri Tulmin <[email protected]> * Improve tomcat version detection (open-telemetry#11936) * Add @jaydeluca as triager (open-telemetry#11937) * Update kafka docker image (open-telemetry#11938) * chore(deps): update actions/upload-artifact action to v4.3.5 (main) (open-telemetry#11943) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix class cast exception, noop meter does not implement incubating api (open-telemetry#11934) * Executors indy support (open-telemetry#11738) * idempotent license report (open-telemetry#11810) Co-authored-by: Lauri Tulmin <[email protected]> * chore(deps): update plugin org.jetbrains.kotlin.jvm to v2.0.10 (main) (open-telemetry#11955) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update slf4j monorepo to v2.0.14 (main) (patch) (open-telemetry#11957) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]> * fix(deps): update dependency org.awaitility:awaitility to v4.2.2 (main) (open-telemetry#11960) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency io.quarkus:quarkus-bom to v3.13.1 (main) (open-telemetry#11962) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update plugin io.quarkus to v3.13.1 (main) (open-telemetry#11966) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency org.apache.commons:commons-lang3 to v3.16.0 (main) (open-telemetry#11967) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency io.grpc:grpc-bom to v1.66.0 (main) (open-telemetry#11972) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update slf4j monorepo to v2.0.15 (main) (patch) (open-telemetry#11976) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]> * Update shadow plugin to new version and coordinates (open-telemetry#11979) * Improve akka route handling with java dsl (open-telemetry#11926) * fix(deps): update dependency org.slf4j:slf4j-simple to v2.0.15 (main) (open-telemetry#11981) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Ignore alibaba fastjson ASMClassLoader (open-telemetry#11954) * fix(deps): update quarkus packages to v3.13.2 (main) (patch) (open-telemetry#11983) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Convert cdi-testing test from groovy to java (open-telemetry#11982) * fix(deps): update slf4j monorepo to v2.0.16 (main) (patch) (open-telemetry#11989) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]> * chore(deps): update github actions (main) (open-telemetry#11995) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update gradle/actions action to v4 (main) (open-telemetry#11996) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update errorproneversion to v2.30.0 (main) (minor) (open-telemetry#11991) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]> * Use `aws-lambda-java-serialization` library, which is available by default, while deserializing input and serializing output (open-telemetry#11868) * fix(deps): update armeria packages to v1.30.0 (main) (minor) (open-telemetry#12001) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Influxdb indy support (open-telemetry#11710) Co-authored-by: Jonas Kunz <[email protected]> Co-authored-by: Lauri Tulmin <[email protected]> * Force dynamic typing on AssignReturned annotations (open-telemetry#11884) * Update the OpenTelemetry SDK version to 1.41.0 (open-telemetry#11985) Co-authored-by: Lauri Tulmin <[email protected]> * Fix building wildfly docker image (open-telemetry#11998) * Add assert inverse to ktor2 muzzle configuration (open-telemetry#11948) * chore(deps): update dependency gradle to v8.10 (main) (open-telemetry#12014) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Closing a kafka producer/consumer should not disable metrics from other consumers/producers (open-telemetry#11975) * Logback appender: map timestamp in nanoseconds if possible (open-telemetry#11807) (open-telemetry#11974) * Save ILoggingEvent.getArgumentArray() arguments from Logback (open-telemetry#11865) Co-authored-by: Lauri Tulmin <[email protected]> * use DefaultHttpClientInstrumenterBuilder and DefaultHttpServerInstrumenterBuilder for armeria (open-telemetry#11797) Co-authored-by: Trask Stalnaker <[email protected]> * Fix ending span in Ktor plugin (open-telemetry#11726) * Use stable semconv for Java17 (open-telemetry#11914) Co-authored-by: Lauri Tulmin <[email protected]> * fix(deps): update dependency commons-cli:commons-cli to v1.9.0 (main) (open-telemetry#12017) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Limit vaadin 14 latest dep version (open-telemetry#12025) * Add Pulsar Consumer metrics (open-telemetry#11891) Co-authored-by: Lauri Tulmin <[email protected]> Co-authored-by: Steve Rao <[email protected]> * Fix logback appender test (open-telemetry#12027) * fix(deps): update junit5 monorepo to v5.11.0 (main) (minor) (open-telemetry#12010) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]> * fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.7 (main) (open-telemetry#12029) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update plugin com.github.jk1.dependency-license-report to v2.9 (main) (open-telemetry#12030) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix netty memory leak (open-telemetry#12003) * Update change log (open-telemetry#12019) * fix(deps): update byte buddy packages to v1.14.19 (main) (patch) (open-telemetry#12033) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Trask Stalnaker <[email protected]> * Update version to 2.8.0-SNAPSHOT (open-telemetry#12037) Co-authored-by: Lauri Tulmin <[email protected]> * Update api diffs (open-telemetry#12045) * chore(deps): update github/codeql-action action to v3.26.2 (main) (open-telemetry#12047) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update guava packages to v33.3.0-jre (main) (minor) (open-telemetry#12040) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency com.gradle.develocity:com.gradle.develocity.gradle.plugin to v3.18 (main) (open-telemetry#12051) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update plugin com.gradle.develocity to v3.18 (main) (open-telemetry#12050) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency commons-logging:commons-logging to v1.3.4 (main) (open-telemetry#12053) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency com.uber.nullaway:nullaway to v0.11.2 (main) (open-telemetry#12057) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Try to fix disabling renovate updates for spring boot (open-telemetry#12059) * [improve][pulsar] Enhance SendCallback to address PIP-363 (open-telemetry#11648) Co-authored-by: Lauri Tulmin <[email protected]> Co-authored-by: Lauri Tulmin <[email protected]> * Delay loading `InetAddressResolverProvider` until after the agent has started (open-telemetry#11987) Co-authored-by: Lauri Tulmin <[email protected]> * Remove unused renovate config (open-telemetry#12060) * fix(deps): update quarkus packages to v3.13.3 (main) (patch) (open-telemetry#12067) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update otelcontribversion to v1.38.0-alpha (main) (minor) (open-telemetry#12061) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]> * Fix instrumentation for the latest version of ucp (open-telemetry#12052) * JdbcIgnoredTypesConfigurer support Shardingsphere 5.x (open-telemetry#12066) * fix(deps): update quarkus packages to v3.14.0 (main) (minor) (open-telemetry#12074) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * enforce static imports (open-telemetry#12009) * chore(deps): update plugin org.jetbrains.kotlin.jvm to v2.0.20 (main) (open-telemetry#12081) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * make netty-* indy compatible (open-telemetry#11559) Co-authored-by: Jonas Kunz <[email protected]> Co-authored-by: Trask Stalnaker <[email protected]> * make hibernate-* indy compatible (open-telemetry#11553) * fix(deps): update dependency org.springframework.boot:spring-boot-starter-web to v3.3.3 (main) (open-telemetry#12087) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update github/codeql-action action to v3.26.5 (main) (open-telemetry#12105) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency checkstyle to v10.18.0 (main) (open-telemetry#12103) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Add workflow to complete 1.33.6 to main (open-telemetry#12107) * fix(deps): update byte buddy packages to v1.15.0 (main) (minor) (open-telemetry#12094) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]> * Fix rabbitmq NullPointerException (open-telemetry#12109) * Merge change log updates from release/v1.33.x (open-telemetry#12114) * Remove temporary workflow (open-telemetry#12115) * Name is not needed for annotation value parameter (open-telemetry#12113) * Convert apache-httpclient-2.0 tests from groovy to java (open-telemetry#12102) Co-authored-by: Steve Rao <[email protected]> * convert spring integration tests to java (open-telemetry#11999) Co-authored-by: Jay DeLuca <[email protected]> * Add network peer address attributes to the span for the `okhttp-3.0` instrumentation (open-telemetry#12012) * Add support for cxf 4.0 jaxws (open-telemetry#12077) * fix(deps): update dependency org.mockito:mockito-core to v5.13.0 (main) (open-telemetry#12123) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update quarkus packages to v3.14.1 (main) (patch) (open-telemetry#12129) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * indy advice docs & migration procedure (open-telemetry#11546) * fix(deps): update errorproneversion to v2.31.0 (main) (minor) (open-telemetry#12134) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update units of time based metrics from millis to seconds for Java17 … (open-telemetry#12084) * Added rules for capturing Apache Camel metrics exposed by JMX MBeans (open-telemetry#11901) * Fix play-mvc\methods NullPointerException (open-telemetry#12121) * Spring batch tests to java - basic (open-telemetry#12076) * chore(deps): update plugin com.gradle.plugin-publish to v1.2.2 (main) (open-telemetry#12137) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Pin github actions by hash (open-telemetry#12140) * fix(deps): update dependency org.apache.commons:commons-lang3 to v3.17.0 (main) (open-telemetry#12145) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency checkstyle to v10.18.1 (main) (open-telemetry#12150) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update byte buddy packages to v1.15.1 (main) (patch) (open-telemetry#12141) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Lauri Tulmin <[email protected]> * fix(deps): update dependency org.owasp:dependency-check-gradle to v10.0.4 (main) (open-telemetry#12152) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update github actions (main) (open-telemetry#12155) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Fix error span status for successful requests in Ktor (open-telemetry#12161) * Convert opentelemetry-api-1.0 tests from groovy to java (open-telemetry#12133) Co-authored-by: Lauri Tulmin <[email protected]> * convert module apache-dubbo-2.7 test case from groovy to java (open-telemetry#12008) Co-authored-by: Jay DeLuca <[email protected]> * Test whether http client span ends after headers or body is received (open-telemetry#12149) * Remove unused imports (open-telemetry#12165) * Keep junit extensions in static fields (open-telemetry#12166) * fix(deps): update dependency io.netty:netty-bom to v4.1.113.final (main) (open-telemetry#12169) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update quarkus packages to v3.14.2 (main) (patch) (open-telemetry#12167) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * make internal-reflection indy compatible (open-telemetry#12136) Co-authored-by: Jonas Kunz <[email protected]> * Make OpenTelemetry-API Bridge and dependent instrumentations work with indy (open-telemetry#11578) * Make log record asserts similar to trace asserts (open-telemetry#12164) * Enable tests for jedis 2.7.2 (open-telemetry#12175) * Add empty line to separate blocks (open-telemetry#12174) * Fix flaky spring integration test (open-telemetry#12185) * Read timeout in jetty http client tests (open-telemetry#12184) * Make rocketmq span status extractor delegate to default extractor (open-telemetry#12183) * Remove unneeded span status extractor (open-telemetry#12182) * fix(deps): update dependency org.apache.logging.log4j:log4j-bom to v2.24.0 (main) (open-telemetry#12187) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.8 (main) (open-telemetry#12189) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update dependency gradle to v8.10.1 (main) (open-telemetry#12191) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update plugin org.graalvm.buildtools.native to v0.10.3 (main) (open-telemetry#12205) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update plugin com.gradleup.shadow to v8.3.1 (main) (open-telemetry#12208) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency com.gradleup.shadow:shadow-gradle-plugin to v8.3.1 (main) (open-telemetry#12209) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore(deps): update plugin com.gradle.develocity to v3.18.1 (main) (open-telemetry#12211) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(deps): update dependency com.gradle.develocity:com.gradle.develocity.gradle.plugin to v3.18.1 (main) (open-telemetry#12212) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * updating .gitignore to ignore workflows except the middleware one * test fix, and reverted to grpc as default otel protocol * Added feature flag for continuous profiling --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Trask Stalnaker <[email protected]> Co-authored-by: Lauri Tulmin <[email protected]> Co-authored-by: OpenTelemetry Bot <[email protected]> Co-authored-by: SylvainJuge <[email protected]> Co-authored-by: Gregor Zeitlinger <[email protected]> Co-authored-by: Jay DeLuca <[email protected]> Co-authored-by: Jean Bisutti <[email protected]> Co-authored-by: crossoverJie <[email protected]> Co-authored-by: Lucas Amoroso <[email protected]> Co-authored-by: Liu Ziming <[email protected]> Co-authored-by: Lauri Tulmin <[email protected]> Co-authored-by: Steve Rao <[email protected]> Co-authored-by: John Bley <[email protected]> Co-authored-by: Helen <[email protected]> Co-authored-by: kyy1996 <[email protected]> Co-authored-by: Jonas Kunz <[email protected]> Co-authored-by: César <[email protected]> Co-authored-by: jason plumb <[email protected]> Co-authored-by: Serkan ÖZAL <[email protected]> Co-authored-by: Jérôme Joslet <[email protected]> Co-authored-by: Igor Suhorukov <[email protected]> Co-authored-by: Mariia Skripchenko <[email protected]> Co-authored-by: Robert Niedziela <[email protected]> Co-authored-by: 道君 <[email protected]> Co-authored-by: Shelby Huang <[email protected]> Co-authored-by: xiepuhuan <[email protected]> Co-authored-by: Luigi De Masi <[email protected]> Co-authored-by: shalk(xiao kun) <[email protected]>
Part of #11457
hibernate
instrumentation modules@Advice.Local
Introduces
HibernateOperationScope
class to carry the state between enter and exit advice (and also helps to reduce a bit code duplication)."indy compatible" is defined in https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/11546/files#diff-c01c02c7d6cde11986ed4c95f749da6318b0deb89c371d866319371cc1757bd0
This PR needs to have the
indy test
label added for validation in CI.Local validation can be done with
gradle test -PtestIndy=true