Comments (2)
Alas, no, it will not. I am aware of a couple of ways of doing this if you are using an OpenJDK-based Java.
First, you can JVMTI's function interception mechanism to intercept JNI's NewObject methods to record the allocation (and then call back to the real NewObject methods). This requires you to write a JVMTI agent in native code. See docs here:
https://docs.oracle.com/en/java/javase/17/docs/specs/jvmti.html#jniIntercept
Alternatively, you can use Hotspot's support for dtrace / systemtap probes. I don't think this is terribly well documented, but I see a page that describes the general idea here:
https://myaut.github.io/dtrace-stap-book/app/java.html
Depending on what you want to do with the information, there may be other ways of accomplishing it. For example, if you are sampling allocations, JVMTI lets you do that.
from allocation-instrumenter.
Hi, thanks for the response.
I think I'll try and build something suitable for my needs using JVMTI.
Thanks,
--Jatinder
from allocation-instrumenter.
Related Issues (20)
- Support for JDK 11? HOT 9
- What happens if the constructor throws exception? HOT 3
- Filter/limit instrumentation by package or class name? HOT 1
- JDK11 Compilation Error HOT 3
- Support for jdk13? HOT 4
- Instrumenting constructors fails with VerificationError when interacting with classes that lack stack map frames HOT 10
- I don't understand how to integrate it in a standard Gradle-based project HOT 2
- Comparing with another JVMTI way to hook object allocation HOT 2
- There is a vulnerability in Guava: Google Core Libraries for Java 28.1-android,upgrade recommended
- Dynamic load issue
- allocation-instrumenter breaks JPMS compliant builds
- Update shaded ASM copy to 9.2 to support Java 17 HOT 2
- String created through java makeConcat not reported
- CVE-2022-42920 Critical org.apache.bcel propagated in 3.3.0 google/allocation-instrumenter HOT 1
- Failing to instrument classes due to needing ASM9 in Java stdlib HOT 5
- Update Guava version - currently the latest released version 3.3.2 mentions Guava version that has known vulnerability. HOT 2
- Support JVM 21 HOT 4
- Capture the location where the new object is created HOT 2
- Failing while building java-allocation-instrumenter version 3.3.0 using mvn clean install (java-allocation-instrumenter3.3.0) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from allocation-instrumenter.