Tag

JVMTI

1 views collected around this technical thread.

JD Cloud Developers
JD Cloud Developers
Jun 28, 2024 · Backend Development

How JD’s pfinder Achieves Full‑Stack Java Monitoring with Bytecode Magic

pfinder, JD’s in‑house APM system, provides full‑link monitoring, multi‑dimensional metrics, automatic instrumentation, topology mapping, trace analysis, AI‑driven fault detection by leveraging bytecode enhancement techniques such as ASM, Javassist, ByteBuddy and ByteKit, and integrates with JVM agents for hot‑deployment and trace propagation.

APMJVMTIJava
0 likes · 18 min read
How JD’s pfinder Achieves Full‑Stack Java Monitoring with Bytecode Magic
JD Tech Talk
JD Tech Talk
Jun 28, 2024 · Backend Development

Deep Dive into JD's PFinder: Architecture, Bytecode Instrumentation, and Monitoring Features

This article provides a comprehensive technical overview of JD's self‑built PFinder APM system, detailing its core concepts, multi‑dimensional monitoring capabilities, bytecode‑enhancement mechanisms using ASM, Javassist, ByteBuddy and ByteKit, JVMTI‑based agents, service and plugin loading, trace‑ID propagation across threads, and a prototype hot‑deployment solution.

APMAgentJVMTI
0 likes · 18 min read
Deep Dive into JD's PFinder: Architecture, Bytecode Instrumentation, and Monitoring Features
DaTaobao Tech
DaTaobao Tech
Oct 9, 2023 · Mobile Development

Android JVMTI: Runtime Monitoring and Profiling Techniques

By patching ART’s internal debug flags to enable JVMTI on non‑debuggable apps, the authors created TBProfiler, a lightweight Android profiling tool that uses JVMTI’s event callbacks to trace method calls, thread and exception events, lock contention, and memory allocations, producing a compact mini‑hprof for production‑grade runtime monitoring and analysis.

AndroidJVMTIProfiling
0 likes · 20 min read
Android JVMTI: Runtime Monitoring and Profiling Techniques
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Oct 14, 2022 · Mobile Development

Using JVMTI to Monitor Memory Allocation and Release on Android

This article explains how to employ the Java Virtual Machine Tool Interface (JVMTI) in native Android code to record memory allocation and deallocation events, filter relevant classes, store logs efficiently with mmap, and integrate the agent from the Java layer for comprehensive memory‑leak analysis.

AndroidJVMTINative
0 likes · 15 min read
Using JVMTI to Monitor Memory Allocation and Release on Android
JD Retail Technology
JD Retail Technology
Jul 6, 2020 · Fundamentals

Understanding JVMTI and Java Agents: From Startup to Runtime Instrumentation

This article explains the principles behind JVM monitoring tools by introducing JVMTI, the Java Instrumentation API, startup and runtime agents, the Attach mechanism, and demonstrates bytecode manipulation with ASM through detailed code examples and diagrams.

ASMBytecodeInstrumentation
0 likes · 17 min read
Understanding JVMTI and Java Agents: From Startup to Runtime Instrumentation
Qunar Tech Salon
Qunar Tech Salon
Nov 27, 2018 · Backend Development

Implementing AOP Method Timing with Java Instrumentation and ASM

This article explains how to use Java Instrumentation, the Attach API, JVMTI, and the ASM bytecode manipulation framework to inject AOP logic that measures and logs method execution time, providing a step‑by‑step guide with code examples and a discussion of practical considerations.

ASMBytecodeInstrumentation
0 likes · 16 min read
Implementing AOP Method Timing with Java Instrumentation and ASM
Beike Product & Technology
Beike Product & Technology
Oct 26, 2018 · Backend Development

Understanding JavaAgent: JVM Tool Interface, Implementation Principles, and Bytecode Manipulation Conflicts

This article explains the JavaAgent feature introduced after JDK 1.5, its reliance on JVMTI and JPLISAgent, how to write premain classes and class file transformers, the role of MANIFEST.MF, and analyzes conflicts between Javassist‑based and ByteBuddy‑based agents when they modify the same class.

ByteBuddyBytecodeInstrumentation
0 likes · 17 min read
Understanding JavaAgent: JVM Tool Interface, Implementation Principles, and Bytecode Manipulation Conflicts