async-profiler
AsyncGetCallTrace와 perf_events를 활용하는 Java용 샘플링 CPU 및 HEAP 프로파일러
파일 탐색기
최종 버전 다운로드 (.zip)- flamegraph.html
- AggregatedView.png
- comptask_feature.png
- flamegraph.png
- flamegraph_colors.png
- flamegraph_diff.png
- heatmap.png
- heatmap1.png
- heatmap2.png
- heatmap3.png
- heatmap4.png
- heatmap5.png
- heatmap6.png
- nativemem_flamegraph.png
- pcaddr_feature.png
- ProfilerSamplings.png
- SortedSamplings.png
- treeview_example.png
- vtable_feature.png
- bug-report.yml
- config.yml
- documentation.yml
- feature-request.yml
- build.yml
- clang-tidy-review.yml
- code-check.yml
- compare-binary-sizes.yml
- integ.yml
- linters.yml
- test-and-publish-nightly.yml
- PULL_REQUEST_TEMPLATE.md
- alpaquita.Dockerfile
- alpine.Dockerfile
- amazonlinux2023.Dockerfile
- code-check.Dockerfile
- debian.Dockerfile
- AdvancedStacktraceFeatures.md
- ConverterUsage.md
- CpuSamplingEngines.md
- FlamegraphInterpretation.md
- GettingStarted.md
- Heatmap.md
- IntegratingAsyncProfiler.md
- JfrVisualization.md
- OutputFormats.md
- ProfilerOptions.md
- ProfilingInContainer.md
- ProfilingModes.md
- ProfilingNonJavaApplications.md
- StackWalkingModes.md
- Troubleshooting.md
- compare-binary-sizes.sh
- update-otlp-classes.sh
- MANIFEST.MF
- Agent.java
- AsyncProfiler.java
- AsyncProfilerMXBean.java
- Counter.java
- Events.java
- Recording.java
- Span.java
- reachability-metadata.json
- Arguments.java
- BidirectionalIndex.java
- CallStack.java
- Classifier.java
- Filter.java
- FlameGraph.java
- Frame.java
- Index.java
- JfrConverter.java
- JfrToFlame.java
- JfrToHeatmap.java
- JfrToOtlp.java
- JfrToPprof.java
- Main.java
- OtlpConstants.java
- ResourceProcessor.java
- Heatmap.java
- HtmlOut.java
- HuffmanEncoder.java
- LzNodeTree.java
- Method.java
- SampleList.java
- StackStorage.java
- SynonymTable.java
- AllocationSample.java
- ContendedLock.java
- CPULoad.java
- Event.java
- EventAggregator.java
- EventCollector.java
- ExecutionSample.java
- GCHeapSummary.java
- IntervalEvent.java
- LiveObject.java
- MallocEvent.java
- MallocLeakAggregator.java
- MethodTrace.java
- NativeLockEvent.java
- ObjectCount.java
- ProcessSample.java
- SpanEvent.java
- ClassRef.java
- Dictionary.java
- DictionaryInt.java
- Element.java
- JfrClass.java
- JfrField.java
- JfrReader.java
- MethodRef.java
- StackTrace.java
- Proto.java
- Instrument.class
- Instrument.java
- JfrSync.class
- JfrSync.java
- LockTracer.class
- LockTracer.java
- jattach.c
- jattach_hotspot.c
- jattach_openj9.c
- psutil.c
- psutil.h
- launcher.sh
- fdtransferServer.h
- fdtransferServer_linux.cpp
- main.cpp
- flame.html
- heatmap.html
- allocTracer.cpp
- allocTracer.h
- arch.h
- arguments.cpp
- arguments.h
- asprof.cpp
- asprof.h
- callTraceStorage.cpp
- callTraceStorage.h
- chk.cpp
- codeCache.cpp
- codeCache.h
- cpuEngine.cpp
- cpuEngine.h
- ctimer.h
- ctimer_linux.cpp
- demangle.cpp
- demangle.h
- dictionary.cpp
- dictionary.h
- dwarf.cpp
- dwarf.h
- engine.cpp
- engine.h
- event.h
- fdtransfer.h
- fdtransferClient.h
- fdtransferClient_linux.cpp
- flameGraph.cpp
- flameGraph.h
- flightRecorder.cpp
- flightRecorder.h
- frameName.cpp
- frameName.h
- hooks.cpp
- hooks.h
- incbin.h
- index.h
- instrument.cpp
- instrument.h
- itimer.cpp
- itimer.h
- j9Ext.cpp
- j9Ext.h
- j9ObjectSampler.cpp
- j9ObjectSampler.h
- j9StackTraces.cpp
- j9StackTraces.h
- j9WallClock.cpp
- j9WallClock.h
- javaApi.cpp
- javaApi.h
- jfrMetadata.cpp
- jfrMetadata.h
- linearAllocator.cpp
- linearAllocator.h
- lockTracer.cpp
- lockTracer.h
- log.cpp
- log.h
- lookup.cpp
- lookup.h
- mallocTracer.cpp
- mallocTracer.h
- mutex.cpp
- mutex.h
- nativeLockTracer.cpp
- nativeLockTracer.h
- objectSampler.cpp
- objectSampler.h
- os.h
- os_linux.cpp
- os_macos.cpp
- otlp.cpp
- otlp.h
- perfEvents.h
- perfEvents_linux.cpp
- processSampler.cpp
- processSampler.h
- profiler.cpp
- profiler.h
- protobuf.cpp
- protobuf.h
- rateLimit.cpp
- rateLimit.h
- rustDemangle.cpp
- rustDemangle.h
- safeAccess.cpp
- safeAccess.h
- spinLock.h
- stackFrame.h
- stackFrame_aarch64.cpp
- stackFrame_arm.cpp
- stackFrame_i386.cpp
- stackFrame_loongarch64.cpp
- stackFrame_ppc64.cpp
- stackFrame_riscv64.cpp
- stackFrame_x64.cpp
- stackWalker.cpp
- stackWalker.h
- symbols.h
- symbols_linux.cpp
- symbols_macos.cpp
- threadFilter.cpp
- threadFilter.h
- threadLocalData.cpp
- threadLocalData.h
- trap.cpp
- trap.h
- tsc.cpp
- tsc.h
- userEvents.cpp
- userEvents.h
- vmEntry.cpp
- vmEntry.h
- vmStructs.cpp
- vmStructs.h
- wallClock.cpp
- wallClock.h
- writer.cpp
- writer.h
- zInit.cpp
- opentelemetry-gen-classes.jar
- callsmalloc.c
- debugframe.c
- jnimalloc.c
- jninativelocks.c
- jninativestacks.c
- malloc.c
- multiplematching.s
- reladyn.c
- twiceatzero.s
- vaddrdif.c
- vaddrdif.ld
- argumentsTest.cpp
- demangleTest.cpp
- instrumentTest.cpp
- nativeLockTest.cpp
- perfEventsLinuxTest.cpp
- processInfoTest.cpp
- protobufBufferTest.cpp
- safeAccessTest.cpp
- symbolsTest.cpp
- testRunner.cpp
- testRunner.hpp
- Arch.java
- Assert.java
- Jvm.java
- Os.java
- Output.java
- RunnableTest.java
- Runner.java
- SourceCode.java
- Test.java
- TestDeclaration.java
- TestProcess.java
- TestResult.java
- Tests.java
- TestStatus.java
- ByteString.java
- CodedInputStream.java
- GeneratedMessage.java
- InvalidProtocolBufferException.java
- MessageOrBuilder.java
- ProtocolStringList.java
- AllocTests.java
- Hello.java
- MapReader.java
- MapReaderOpt.java
- RandomBlockRetainer.java
- ApiTests.java
- BusyLoops.java
- DumpCollapsed.java
- DumpOtlp.java
- JavaAgent.java
- MetricsTest.java
- StopResume.java
- CTests.java
- native_api.c
- ComptaskTests.java
- Main.java
- CpuBurner.java
- CpuTests.java
- CstackTests.java
- LongInitializer.java
- DeepRecursion.java
- DepthTests.java
- CpuBurner.java
- CpuBurnerManyTargets.java
- InstrumentTests.java
- MethodTracingStop.java
- Recursive.java
- CpuLoad.java
- JfrCpuProfiling.java
- JfrMultiModeProfiling.java
- JfrTests.java
- RateLimitApp.java
- Ttsp.java
- JfrconverterTests.java
- sample1.collapsed
- sample2.collapsed
- Tracer.java
- KernelTests.java
- ListFiles.java
- DatagramTest.java
- LockTests.java
- AllNativeLocks.java
- native_lock_contention.c
- NativeLock.java
- NativelockTests.java
- CallsAllNoLeak.java
- CallsMallocCalloc.java
- CallsRealloc.java
- malloc_plt_dyn.c
- Native.java
- nativemem_known_lib_crash.c
- NativememTests.java
- preload_malloc.c
- profile_with_dlopen.c
- JavaClass.java
- non_java_app.cpp
- NonjavaTests.java
- CpuBurner.java
- OtlpProfileTimeTest.java
- OtlpTests.java
- Dictionary.java
- PmuTests.java
- BasicApp.java
- CpuIntensiveApp.java
- IoIntensiveApp.java
- ManyProcessApp.java
- MemoryIntensiveApp.java
- MultiThreadApp.java
- ProcTests.java
- ShortLivedApp.java
- CodingIntrinsics.java
- Numbers.java
- RecoveryTests.java
- StringBuilderTest.java
- Suppliers.java
- TimeLoop.java
- Alloc.java
- Cpu.java
- LoadLibrary.java
- SmokeTests.java
- Threads.java
- SpanApiApp.java
- SpanApp.java
- SpanAttachApp.java
- SpanTests.java
- DebugFrameApp.java
- StackGenerator.java
- StackwalkerTests.java
- DoBusyWork.java
- VmstructsTests.java
- VtableTests.java
- BusyClient.java
- IdleClient.java
- SocketTest.java
- WallFlushApp.java
- WallTests.java
- .clang-tidy
- .gitattributes
- .gitignore
- .licenserc.yaml
- CHANGELOG.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- JavaHome.class
- LICENSE
- Makefile
- pom-converter.xml
- pom.xml
- README.md
- SECURITY.md
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/async-profiler/async-profiler
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd async-profiler
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. Maven (Java)
보통 추천사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- JDK (Java) Java 프로젝트를 빌드/실행하려면 필요합니다.
- Maven mvn 명령어를 쓰기 위한 빌드 도구입니다.
mvn clean install
Maven으로 의존성 설치와 빌드를 진행합니다.
BUILD SUCCESS 메시지가 뜨면 성공입니다. target/ 폴더에 결과물이 생성됩니다.
3. Make
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
make
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
에러 없이 끝나면 성공입니다. 생성된 실행 파일을 직접 실행해보세요.
// repository documentation
Was this content helpful?
(0 ratings)
