### Improve the performance of type description of byte-buddy The goal is to get the original class description at re-transform, so as to generate consistent results when the Skywalking agent is enhanced again (including implementing the EnhancedInstance interface, auxiliary fields and methods, etc.) The previous type description used the `AgentBuilder.DescriptionStrategy.Default.POOL_FIRST` policy to get origin type description, which slows down the application startup, due to heavy I/O operations and parsing bytecode. New way is to remove dynamic fields, methods and interfaces generated by SkyWalking Agent from `TypeDescription`, and **make it as origin type descripton**. **Key feature** : * No need to cache `TypeDescription` objects, less memory used. * It only applies to the re-transform class processing flow and does not affect the startup process. **Process flow:** 1. Find `TypeDescription` from commonly used type cache, such as primitive class. 2. Delegate to `AgentBuilder.DescriptionStrategy.Default.HYBRID` 3. Wrap `TypeDescription` by `SWTypeDescriptionWrapper` , remove fields, methods, interface generated by SkyWalking. **Relative Issue:** https://github.com/apache/skywalking/issues/11460 |
||
|---|---|---|
| .github | ||
| .mvn/wrapper | ||
| apm-application-toolkit | ||
| apm-checkstyle | ||
| apm-commons | ||
| apm-protocol | ||
| apm-sniffer | ||
| changes | ||
| dist-material | ||
| docs | ||
| test | ||
| tools | ||
| .asf.yaml | ||
| .dlc.json | ||
| .dockerignore | ||
| .gitignore | ||
| .gitmodules | ||
| .licenserc.yaml | ||
| CHANGES.md | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| HEADER | ||
| LICENSE | ||
| Makefile | ||
| NOTICE | ||
| README.md | ||
| codeStyle.xml | ||
| lombok.config | ||
| mvnw | ||
| mvnw.cmd | ||
| pom.xml | ||
README.md
Apache SkyWalking Java Agent
SkyWalking-Java: The Java Agent for Apache SkyWalking, which provides the native tracing/metrics/logging abilities for Java projects.
SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based (Docker and Kubernetes) architectures.
Documentation
Downloads
Please head to the releases page to download a release of Apache SkyWalking.
Code of conduct
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please follow the REPORTING GUIDELINES to report unacceptable behavior.
Live Demo
Find the demo and screenshots on our website.
Contact Us
- Mail list: dev@skywalking.apache.org. Mail to
dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail list. - Send
Request to join SkyWalking slackmail to the mail list(dev@skywalking.apache.org), we will invite you in. - For Chinese speaker, send
[CN] Request to join SkyWalking slackmail to the mail list(dev@skywalking.apache.org), we will invite you in. - Twitter, ASFSkyWalking
- bilibili B站 视频