Skip to content
This repository was archived by the owner on Apr 29, 2025. It is now read-only.

Commit c3e9eda

Browse files
authored
Docs/sampling manual (#76)
- Sampling Manual Added
2 parents ceb9e01 + 7ebea84 commit c3e9eda

5 files changed

Lines changed: 28 additions & 1 deletion

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ This project aims to provide tools and methodologies for identifying and address
3030

3131
6. Add the created plugin to your IDE following [IntelliJ documentation](https://www.jetbrains.com/help/idea/managing-plugins.html#install_plugin_from_disk)
3232

33-
7. (Optional) Generate monitoring(or sampling) data for dynamic analysis [Sampling documentation](https://softwaredoug.com/blog/2023/10/15/visualvm-flamegraphs)
33+
7. (Optional) Generate monitoring(or sampling) data for dynamic analysis [Sampling documentation](docs/sampling.md)
3434

3535
8. Open the plugin tab and provide the config<br>
3636
### Configuration variables
152 KB
Loading
156 KB
Loading
151 KB
Loading

docs/sampling.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Sampling Data Generation
2+
3+
To run dynamic analysis and identify potential false positives, it’s essential to gather accurate sampling data from your application. Follow the steps below to generate and export the necessary data as a CSV file, which can then be provided to our tool for analysis.
4+
5+
## Sampling Data Gathering Steps
6+
7+
### 1. Start Sampling
8+
9+
Begin by initiating the sampling process. This step involves monitoring the execution of your application to gather runtime data. The tool will track method calls, execution times, and resource usage during this phase.
10+
![start-sampling](img/sampling-steps/sampling-start.png)
11+
12+
### 2. Capture Snapshot
13+
14+
Once you've run your application for a sufficient period to capture relevant data, take a snapshot. This snapshot represents a captured state of your application's runtime, including all the relevant method calls and performance metrics up to that point. The snapshot will serve as the basis for generating the call graph and other analysis metrics.
15+
![capture-snapshot](img/sampling-steps/capture-snapshot.png)
16+
17+
### 3. Export forward calls as CSV
18+
19+
After capturing the snapshot, export the collected forward calls data as a CSV file. This CSV will include detailed information about the methods invoked, their execution times, and the sequence of calls, which are crucial for dynamic analysis.
20+
![export-csv](img/sampling-steps/export-csv.png)
21+
22+
### 4. Save csv and Provide it to our tool
23+
24+
Finally, save the exported CSV file to your local system and provide it to our tool. This file will be used to complement the static analysis results, enabling a comprehensive evaluation of your codebase, identifying potential anti-patterns, and reducing false positives.
25+
26+
27+
Note: If you need further documentation or more detailed instructions, please refer to the [VisualVM documentation](https://visualvm.github.io/documentation.html) for additional guidance.

0 commit comments

Comments
 (0)