@appland/appmap 3.146.0 → 3.147.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/built/docs/CLA Instructions.pdf +0 -0
  3. package/built/docs/Code of Conduct for Contributors.pdf +0 -0
  4. package/built/docs/analysis/rules-reference.html +27 -0
  5. package/built/docs/appmap-docs.md +27 -0
  6. package/built/docs/community.md +28 -0
  7. package/built/docs/guides/exporting-appmap-diagrams.md +50 -0
  8. package/built/docs/guides/handling-large-appmap-diagrams.md +138 -0
  9. package/built/docs/guides/index.md +21 -0
  10. package/built/docs/guides/navigating-code-objects.md +67 -0
  11. package/built/docs/guides/openapi.md +105 -0
  12. package/built/docs/guides/reading-sql-in-appmap-diagrams.md +69 -0
  13. package/built/docs/guides/refine-appmap-data.md +186 -0
  14. package/built/docs/guides/reverse-engineering.md +377 -0
  15. package/built/docs/guides/runtime-code-review.md +111 -0
  16. package/built/docs/guides/using-appmap-analysis.md +206 -0
  17. package/built/docs/guides/using-appmap-diagrams.md +331 -0
  18. package/built/docs/integrations/atlassian-compass.md +25 -0
  19. package/built/docs/integrations/atlassian-confluence.md +51 -0
  20. package/built/docs/integrations/circle-ci.md +424 -0
  21. package/built/docs/integrations/docker.md +109 -0
  22. package/built/docs/integrations/github-actions.md +524 -0
  23. package/built/docs/integrations/index.md +20 -0
  24. package/built/docs/integrations/plantuml.md +66 -0
  25. package/built/docs/integrations/postman.md +30 -0
  26. package/built/docs/integrations/readme.md +39 -0
  27. package/built/docs/integrations/smartbear-swaggerhub.md +119 -0
  28. package/built/docs/reference/analysis-labels.md +49 -0
  29. package/built/docs/reference/analysis-rules.md +61 -0
  30. package/built/docs/reference/appmap-client-cli.md +628 -0
  31. package/built/docs/reference/appmap-gradle-plugin.md +141 -0
  32. package/built/docs/reference/appmap-java.md +311 -0
  33. package/built/docs/reference/appmap-maven-plugin.md +164 -0
  34. package/built/docs/reference/appmap-node.md +185 -0
  35. package/built/docs/reference/appmap-python.md +520 -0
  36. package/built/docs/reference/appmap-ruby.md +514 -0
  37. package/built/docs/reference/github-action.md +171 -0
  38. package/built/docs/reference/index.md +25 -0
  39. package/built/docs/reference/jetbrains.md +136 -0
  40. package/built/docs/reference/license-key-install.md +74 -0
  41. package/built/docs/reference/navie.md +261 -0
  42. package/built/docs/reference/remote-recording-api.md +97 -0
  43. package/built/docs/reference/uninstalling-appmap.md +119 -0
  44. package/built/docs/reference/vscode.md +122 -0
  45. package/built/docs/setup-appmap-in-ci/example-projects.md +21 -0
  46. package/built/docs/setup-appmap-in-ci/how-it-works.md +43 -0
  47. package/built/docs/setup-appmap-in-ci/in-circleci.md +423 -0
  48. package/built/docs/setup-appmap-in-ci/in-github-actions.md +177 -0
  49. package/built/docs/setup-appmap-in-ci/index.md +22 -0
  50. package/built/docs/setup-appmap-in-ci/matrix-builds.md +225 -0
  51. package/built/docs/setup-appmap-in-ci/troubleshooting.md +71 -0
  52. package/built/docs/setup-appmap-in-your-code-editor/add-appmap-to-your-code-editor.md +93 -0
  53. package/built/docs/setup-appmap-in-your-code-editor/appmap-analysis.md +77 -0
  54. package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-from-tests.md +93 -0
  55. package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-with-remote-recording.md +112 -0
  56. package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-with-request-recording.md +77 -0
  57. package/built/docs/setup-appmap-in-your-code-editor/how-appmap-works.md +166 -0
  58. package/built/docs/setup-appmap-in-your-code-editor/index.md +25 -0
  59. package/built/docs/setup-appmap-in-your-code-editor/navigating-appmap-diagrams.md +59 -0
  60. package/built/docs/setup-appmap-in-your-code-editor/navigating-code-objects.md +67 -0
  61. package/built/docs/unused_for_now_index.html +11 -0
  62. package/package.json +2 -2
@@ -0,0 +1,225 @@
1
+ ---
2
+ layout: docs
3
+ title: Set up AppMap in CI
4
+ description: "Optimize GitHub Actions for matrix builds to deploy AppMap efficiently. Modify actions, add triggers, analyze results, and streamline installation configurations."
5
+ name: Matrix Builds with GitHub Actions
6
+ setup-appmap-ci: true
7
+ step: 5
8
+ render_with_liquid: false
9
+ ---
10
+
11
+ ## Matrix Builds with GitHub Actions
12
+
13
+ - [Step 1: Modify Action to Support Matrix Build](#step-1-modify-action-to-support-matrix-build)
14
+ - [Step 2: Add the Build Triggers and Analysis Step](#step-2-add-the-build-triggers-and-analysis-step)
15
+ - [(Optional) Step 3: Remove Installation Actions and Configuration](#optional-step-3-remove-installation-actions-and-configuration)
16
+ - [Step 4: Merge this PR to deploy AppMap](#step-4-merge-this-pr-to-deploy-appmap)
17
+
18
+
19
+ If your project uses matrix builds in order to split your test runs across multiple runners, you will need some additional configuration for AppMap to properly save and merge AppMaps from across all these runs.
20
+
21
+ From the [GitHub documents](https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs) on the `matrix strategies`:
22
+
23
+ > A matrix strategy lets you use variables in a single job definition to automatically create multiple job runs that are based on the combinations of the variables. For example, you can use a matrix strategy to test your code in multiple versions of a language or on multiple operating systems.
24
+ > Use `jobs.<job_id>.strategy.matrix` to define a matrix of different job configurations. Within your matrix, define one or more variables followed by an array of values.
25
+
26
+ For example, to split tests across two runners you could set a matrix strategy like the following:
27
+
28
+ ```yaml
29
+ strategy:
30
+ fail-fast: false
31
+ matrix:
32
+ ci_node_total: [2]
33
+ ci_node_index: [0, 1]
34
+ ```
35
+ {: .example-code}
36
+
37
+ For AppMap to analyze any failed test cases, you need to include the configuration flag `fail-fast: false` in your matrix strategy.
38
+
39
+ ### Step 1: Modify Action to Support Matrix Build
40
+
41
+ When following the Getting Started Guide In [Step 1](/docs/setup-appmap-in-ci/in-github-actions.html#step-1-create-an-initial-baseline-appmap-inventory-report), you'll need to make a few changes and additions to your GitHub Workflow file before you commit the first step.
42
+
43
+ First, modify the `EndBug/add-and-commit` action to include an if statement so that only one of the runners will commit the AppMap library installation files to the project.
44
+
45
+ For Example:
46
+ ```yaml
47
+ - name: Commit changes
48
+ if: ${{ matrix.ci_node_index == 0}} #Only run this action on a single runner
49
+ uses: EndBug/add-and-commit@v9
50
+ ```
51
+ {: .example-code}
52
+
53
+ Next, you'll modify the `archive-action` to configure an `archive-id:` set to the unique index of the runner. This will archive each tarball of AppMaps from each runner in your Action.
54
+
55
+ For example:
56
+ ```yaml
57
+ - name: Archive AppMaps
58
+ if: always()
59
+ uses: getappmap/archive-action@v1
60
+ with:
61
+ archive-id: ${{ matrix.ci_node_index }} # Set this equal to the unique index of the runner
62
+ ```
63
+ {: .example-code}
64
+
65
+ After the action which runs your test cases, you will create a new job that will merge the AppMaps from your individual runners, archive them, and provide the initial AppMap inventory report.
66
+
67
+ Create a new job at the same level as the job which runs the test cases, and make this job dependant on the previous job.
68
+
69
+ For example:
70
+ ```yaml
71
+ merge-and-archive:
72
+ runs-on: ubuntu-latest
73
+ if: always()
74
+ needs: [test]
75
+
76
+ steps:
77
+ - name: Checkout
78
+ uses: actions/checkout@v3
79
+ with:
80
+ ref: ${{ github.event.pull_request.head.ref }}
81
+
82
+ - name: Install AppMap tools
83
+ uses: getappmap/install-action@v1
84
+ with:
85
+ install-appmap-library: false
86
+
87
+ - name: Merge AppMaps
88
+ uses: getappmap/archive-action/merge@v1
89
+ with:
90
+ revision: ${{ github.event.pull_request.base.sha }}
91
+ archive-count: 2 # Set this equal to the total number of test runners (i.e. total archives created)
92
+ ```
93
+ {: .example-code}
94
+
95
+ Commit the changes:
96
+
97
+ ```bash
98
+ $ git add .
99
+ $ git commit -m "ci: Bootstrap initial AppMap archive"
100
+ ```
101
+ {: .example-code}
102
+
103
+ View an example workflow [file for this step here](https://github.com/land-of-apps/sample_rails_matrix_build/blob/5825614c9c7530c2108b14b030be1efcd2d40fec/.github/workflows/appmap-analysis.yml).
104
+
105
+ Push the changes upstream to your branch and open a new Pull Request which will trigger the GitHub action. Once the build of this PR completes, AppMap will comment on the PR with an initial report about your software project.
106
+
107
+ <img class="video-screenshot" src="/assets/img/docs/gh-action/action-welcome-to-appmap.webp"/>
108
+
109
+ The initial AppMap report will give you details about:
110
+
111
+ - **Runtime Analysis:** Analyzing the AppMap data for security flaws and anti-patterns
112
+ - **REST API analysis** For AppMaps that include HTTP server requests, AppMap can automatically generate OpenAPI definitions.
113
+ - **SQL Profile** When your code makes a SQL query, AppMap records the SQL query in detail. It even parses the queries
114
+ to figure out which tables your app is using, and how it's using them.
115
+
116
+ ### Step 2: Add the Build Triggers and Analysis Step
117
+
118
+ With the previous step complete, and a inventory report in your pull request, you can now replace the `merge-and-archive` job we used in the last step and replace it with the `appmap-analysis-matrix` reusable workflow with an additional configuration option `archive-count`.
119
+
120
+ The `archive-count` is the total number of test runners which have generated AppMap archives. For example, if you have split your test runner across 2 hosts, you need to set the `archive-count` equal to `2`.
121
+
122
+ For example:
123
+ ```yaml
124
+ appmap-analysis:
125
+ if: always()
126
+ needs: [test]
127
+ uses: getappmap/analyze-action/.github/workflows/appmap-analysis-matrix.yml@v1
128
+ with:
129
+ archive-count: 2 # Set to the total number of test runners
130
+ permissions:
131
+ actions: read
132
+ contents: read
133
+ checks: write
134
+ pull-requests: write
135
+ ```
136
+ {: .example-code}
137
+
138
+ Pull the latest commit made by the previous GitHub Action workflow run
139
+
140
+ ```bash
141
+ $ git pull
142
+ ```
143
+ {: .example-code}
144
+
145
+ Commit the changes:
146
+
147
+ ```bash
148
+ $ git add .
149
+ $ git commit -m "ci: Add build triggers and analysis step"
150
+ ```
151
+ {: .example-code}
152
+
153
+ Push the changes upstream to your branch.
154
+ ```bash
155
+ $ git push
156
+ ```
157
+ {: .example-code}
158
+
159
+ After the build completes, AppMap will post details of the Analysis build into your pull request.
160
+
161
+ <img class="video-screenshot" src="/assets/img/docs/gh-action/action-report-summary.webp"/>
162
+
163
+ View an example workflow [file for this step here](https://github.com/land-of-apps/sample_rails_matrix_build/blob/03d10c03430c84b05542eeca9408c46297dfd97c/.github/workflows/appmap-analysis.yml).
164
+
165
+ If your pull request report shows changes to code behavior or new AppMaps (when no changes are made), you may have some non-deterministic tests. For additional help resolving this, please contact the AppMap engineering team via [email](mailto:support@appmap.io) or join the [AppMap Community Slack](https://appmap.io/slack).
166
+
167
+ ### (Optional) Step 3: Remove Installation Actions and Configuration
168
+
169
+ Now that AppMap configuration files are included in your project, you no longer need the `permissions` block at the top of your action (unless required for other actions) and `add-and-commit` actions in your project. Additionally, modify the `install-action` to disable library installation. The Action will require the AppMap CLI tools installed to successfully archive the AppMaps from each runner. If they are left in place your project will always update to the latest released versions of AppMap libraries. Remove the following lines to have more control over future software updates.
170
+
171
+ This action can be deleted.
172
+
173
+ ```yaml
174
+ - name: Commit changes
175
+ if: ${{ matrix.ci_node_index == 0}}
176
+ uses: EndBug/add-and-commit@v9
177
+ ```
178
+ {: .example-code}
179
+
180
+ Unless needed for other Actions in your workflow, modify this section with updated permissions from Step 1:
181
+
182
+ ```yaml
183
+ permissions:
184
+ contents: write
185
+ ```
186
+ {: .example-code}
187
+
188
+
189
+ Modify the `install-action` with the following setting:
190
+
191
+ ```yaml
192
+ - name: Install AppMap tools
193
+ uses: getappmap/install-action@v1
194
+ with:
195
+ install-appmap-library: false
196
+ ```
197
+ {: .example-code}
198
+
199
+ Finally, you can set your `checkout` action back to the default.
200
+ ```yaml
201
+ - name: Checkout
202
+ uses: actions/checkout@v3
203
+ ```
204
+ {: .example-code}
205
+
206
+ After removing those Actions, add and commit to your branch.
207
+
208
+ ```bash
209
+ $ git add .
210
+ $ git commit -m "ci: Remove installation actions"
211
+ ```
212
+ {: .example-code}
213
+
214
+ Push the changes upstream to your branch.
215
+ ```bash
216
+ $ git push
217
+ ```
218
+ {: .example-code}
219
+
220
+ <p class="alert alert-info">
221
+ See an example GitHub Action configuration with AppMap working with a <a href="https://github.com/land-of-apps/sample_rails_matrix_build/blob/appmap/.github/workflows/appmap-analysis.yml" target="_blank">multi-runner matrix build</a>.
222
+ </p>
223
+
224
+ ### Step 4: Merge this PR to deploy AppMap
225
+ Congratulations! You’ve successfully set up the AppMap Github Action and can now merge this into your project to make it available for every other developer to use on each of their subsequent pull requests.
@@ -0,0 +1,71 @@
1
+ ---
2
+ layout: docs
3
+ title: Set up AppMap in CI
4
+ description: "Learn how to troubleshoot common issues when integrating AppMap into your GitHub Actions."
5
+ name: Troubleshooting
6
+ setup-appmap-ci: true
7
+ step: 6
8
+ ---
9
+
10
+ # Troubleshooting AppMap in GitHub Actions <!-- omit in toc -->
11
+
12
+ - [The AppMap GitHub Action Does Not Run in my Environment](#the-appmap-github-action-does-not-run-in-my-environment)
13
+ - [I Can't Open AppMaps in my Pull Request Report](#i-cant-open-appmaps-in-my-pull-request-report)
14
+
15
+ ## The AppMap GitHub Action Does Not Run in my Environment
16
+
17
+ **Add AppMap to GitHub Allowed Actions**
18
+
19
+ If your organization limits which GitHub Actions can be used, [update your organization settings](https://docs.github.com/en/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#allowing-select-actions-and-reusable-workflows-to-run) to allow the specific AppMap actions required for this integration to work. All AppMap Actions are published on the [GitHub Marketplace](https://github.com/marketplace?type=actions&query=getappmap+) under the `getappmap` owner namespace.
20
+
21
+ In the top right corner of GitHub.com, click your profile photo, then click **Your organizations**.
22
+
23
+ <img class="video-screenshot" src="/assets/img/docs/github-your-organizations.webp"/>
24
+
25
+ Next to the organization, click **Settings**.
26
+
27
+ In the left sidebar, click **Actions**, then click **General**.
28
+
29
+ Under "Policies", select **Allow _OWNER_, and select _non-OWNER_, actions and reusable workflows** and add the following AppMap required actions. This will ensure that current and future actions will be supported.
30
+
31
+ ```
32
+ getappmap/*
33
+ ```
34
+
35
+ Alternatively, if you would like to restrict to only the current list of actions further you can list them individually. You will need to keep this list updated as new features and functionality are added.
36
+ ```
37
+ getappmap/install-action@*,getappmap/archive-action@*,getappmap/analyze-action@*
38
+ ```
39
+
40
+ <img class="video-screenshot" src="/assets/img/docs/gh-action/action-permissions.webp"/>
41
+
42
+ ## I Can't Open AppMaps in my Pull Request Report
43
+
44
+ This is caused by not having the AppMap GitHub App installed in your GitHub account.
45
+
46
+ **Install or Request the AppMap GitHub App**
47
+
48
+ The **AppMap** application authorizes your account to run AppMap in CI. It also enables you to open AppMaps in your browser.
49
+
50
+ The **AppMap** application:
51
+
52
+ - **DOES NOT** transfer any of your repository code, data, or AppMaps to an external server.
53
+ - **DOES** confirm that you have access via GitHub permissions to the AppMap data stored in your repository action.
54
+ - **DOES** open a browser tab with a signed URL that enables your browser to securely download the AppMap data from your GitHub and display it.
55
+ - **DOES** directly transfer data from YOUR GitHub to YOUR browser, **without** going through any other other 3rd party services.
56
+
57
+ Organization owners can install GitHub Apps on their organization. If you are not an organization owner, you can still initiate the install process. GitHub will then send a notification to the organization owner to request them to approve the installation. Ask your organization owner to approve that request.
58
+
59
+ If you're installing into your personal account, you will already have permissions to install this app there.
60
+
61
+ 1) Open the [AppMap GitHub marketplace page](https://github.com/marketplace/get-appmap) and click `Set up a plan`.
62
+
63
+ <img class="video-screenshot" src="/assets/img/docs/gh-action/marketplace-page.webp"/>
64
+
65
+ 2) Select the GitHub account in which you are using AppMap, and then click the `Install` button.
66
+
67
+ <img class="video-screenshot" src="/assets/img/docs/gh-action/account-selection.webp"/>
68
+
69
+ 3) Select `All Repositories`, or select to install the app into specific repositories.
70
+
71
+ <img class="video-screenshot" src="/assets/img/docs/gh-action/select-repos.webp"/>
@@ -0,0 +1,93 @@
1
+ ---
2
+ layout: docs
3
+ setup-appmap-ide: true
4
+ title: Docs - AppMap in your Code Editor
5
+ description: "Integrate AppMap into your Code Editor easily with AppMap for Visual Studio Code and JetBrains IDEs."
6
+ step: 2
7
+ name: Add AppMap to your Code Editor
8
+ redirect_from: [/docs/add-appmap-to-a-project/, /docs/install-appmap-agent, /docs/quickstart, /docs/quickstart/index.html]
9
+ ---
10
+
11
+ # Add AppMap to your Code Editor
12
+
13
+ - [AppMap for Visual Studio Code](#appmap-for-visual-studio-code)
14
+ - [Activate AppMap in Visual Studio Code](#activate-appmap-in-visual-studio-code)
15
+ - [AppMap for JetBrains IDEs](#appmap-for-jetbrains-ides)
16
+ - [Activate AppMap in JetBrains IDEs](#activate-appmap-in-jetbrains-ides)
17
+ - [Keep your extension up to date](#keep-your-extension-up-to-date)
18
+ - [Update AppMap for Visual Studio Code](#update-appmap-for-visual-studio-code)
19
+ - [Update AppMap for JetBrains code editors](#update-appmap-for-jetbrains-code-editors)
20
+
21
+ ## AppMap for Visual Studio Code
22
+
23
+ The AppMap extension is listed on the <a href="https://marketplace.visualstudio.com/items?itemName=appland.appmap" target="_blank">Visual Studio Code Marketplace</a>.
24
+
25
+ <img title="AppMap available in Visual Studio Code" class="inline-partial-screenshot" src="/assets/img/docs/vscode-marketplace-tab-in-IDE.png">
26
+
27
+ 1. Open extensions from the sidebar in Visual Studio Code
28
+ 2. Type 'AppMap' into the search bar
29
+ 3. Click to install
30
+
31
+ <a class="btn btn-dark btn-with-inline-img" href="https://marketplace.visualstudio.com/items?itemName=appland.appmap">
32
+ <img class="inline-button-img" src="/assets/img/vscode-icon.svg">
33
+ Install from the VS Code Marketplace
34
+ </a>
35
+
36
+ ### Activate AppMap in Visual Studio Code
37
+
38
+ After installing and opening the extension, you will need to first activate AppMap with your email address or with your GitHub or GitLab account. Activating AppMap only generates a valid license key associated with your account and does NOT send any of your source code or sensitive data to AppMap systems. For more information refer to the [AppMap Security FAQ](/security).
39
+
40
+ <div class="alert alert-info">If you do not see an option to <b>Activate AppMap</b>, upgrade to the <a href="https://marketplace.visualstudio.com/items?itemName=appland.appmap">latest version </a>of the AppMap extension.</div>
41
+
42
+ <img title="Activate AppMap in VS Code" class="inline-partial-screenshot" src="/assets/img/docs/activate-vscode.webp">
43
+
44
+ ## AppMap for JetBrains IDEs
45
+
46
+ The AppMap plugin has official support for **IntelliJ**, **PyCharm**, and **RubyMine** listed on the <a href="https://plugins.jetbrains.com/plugin/16701-appmap" target="_blank">JetBrains Marketplace</a>.
47
+
48
+ <img title="AppMap available in JetBrains IDE" class="inline-partial-screenshot" src="/assets/img/docs/jetbrains-marketplace-tab-in-IDE.webp">
49
+
50
+ 1. Start your JetBrains IDE and open Preferences
51
+ 2. Open Plugins, then click on Marketplace
52
+ 3. Search for AppMap, select and install AppMap
53
+
54
+ <a class="btn btn-dark btn-with-inline-img" href="https://plugins.jetbrains.com/plugin/16701-appmap">
55
+ <img class="inline-button-img" src="/assets/img/jetbrains.svg">
56
+ Install from the JetBrains Marketplace
57
+ </a>
58
+
59
+ ### Activate AppMap in JetBrains IDEs
60
+
61
+ After installing and opening the extension, you will need to first activate AppMap with your email address or with your GitHub or GitLab account. Activating AppMap only generates a valid license key associated with your account and does NOT send any of your source code or sensitive data to AppMap systems. For more information refer to the [AppMap Security FAQ](/security).
62
+
63
+ <div class="alert alert-info">If you do not see an option to <b>Activate AppMap</b>, upgrade to the <a href="https://plugins.jetbrains.com/plugin/16701-appmap">latest version</a> of the AppMap plugin.</div>
64
+
65
+ <img title="AppMap available in JetBrains IDE" class="inline-partial-screenshot" src="/assets/img/docs/activate-jetbrains.webp">
66
+
67
+ ## Keep your extension up to date
68
+
69
+ New development happens fast at AppMap. Keep your extension up to date to take advantage of new features.
70
+
71
+ ### Update AppMap for Visual Studio Code
72
+
73
+ <p class="alert alert-info">To get access to <a href="https://appmap.io/product/appmap-navie">AppMap Navie</a> you need to be running AppMap VS Code Plugin version >= 0.118.1</p>
74
+
75
+ To update AppMap for Visual Studio Code navigate to the extensions tab > installed. Select 'AppMap' from your installed extensions and click the update button.
76
+
77
+ Alternatively you can update to the latest AppMap software release on the [the VS Code Marketplace.](https://marketplace.visualstudio.com/items?itemName=appland.appmap)
78
+
79
+ <image class="video-screenshot" src="/assets/img/docs/update-appmap-for-visual-studio-code.webp"/>
80
+
81
+ **NOTE**: Make sure to either reload the extension, or reload/restart VS Code after updating the plugin.
82
+
83
+ ### Update AppMap for JetBrains code editors
84
+
85
+ <p class="alert alert-info">To get access to <a href="https://appmap.io/product/appmap-navie">AppMap Navie</a> you need to be running AppMap JetBrains Plugin version >= 0.64.0</p>
86
+
87
+ To update AppMap for JetBrains code editor open the Settings window and select Plugins. Select 'AppMap' from your installed extensions and click the update button.
88
+
89
+ Alternatively you can update to the latest AppMap software release on the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/16701-appmap)
90
+
91
+ <image class="video-screenshot" src="/assets/img/docs/update-appmap-for-intellij.webp"/>
92
+
93
+ **NOTE**: Make sure to either reload the extension, or reload/restart JetBrains after updating the plugin.
@@ -0,0 +1,77 @@
1
+ ---
2
+ layout: docs
3
+ title: Docs - AppMap in your Code Editor
4
+ description: "AppMap Runtime Analysis scans AppMap Data to detect code flaws, presenting findings in your editor for preemptive fixes."
5
+ name: AppMap Analysis
6
+ setup-appmap-ide: true
7
+ step: 8
8
+ redirect_from: [/docs/your-first-15-minutes-with-appmap/appmap-analysis,/docs/analysis/in-your-code-editor,/docs/analysis/]
9
+ ---
10
+
11
+ # AppMap Analysis
12
+
13
+ When there is AppMap Data available in your project, AppMap Runtime Analysis will immediately scan them to detect flaws in the code. These flaws are surfaced as **findings** and are displayed in your code editor as you work so that they can be addressed **before** they are propagated to test or production environments.
14
+
15
+ ## Navigate findings
16
+
17
+ AppMap makes information about findings available in two main locations:
18
+
19
+ - [The **Runtime Analysis** step of the setup instructions](#the-runtime-analysis-step-of-the-setup-instructions)
20
+ - [The **Runtime Analysis** sidebar pane](#the-runtime-analysis-sidebar-pane)
21
+
22
+ ### The **Runtime Analysis** step of the setup instructions
23
+
24
+ #### Visual Studio Code
25
+ <image class="video-screenshot" src="/assets/img/docs/last-step-of-setup-instructions.webp"/>
26
+
27
+ #### JetBrains editors
28
+ <image class="video-screenshot" src="/assets/img/docs/last-step-of-setup-instructions-jetbrains.webp"/>
29
+
30
+ ### The **Runtime Analysis** sidebar pane
31
+
32
+ In Visual Studio Code, findings are displayed In the Runtime Analysis sidebar pane sorted by impact category and type.
33
+
34
+ <image class="video-screenshot" src="/assets/img/docs/runtime-analysis-sidebar-findings.webp"/>
35
+
36
+ Clicking the ‘Overview’ link in the Runtime Analysis sidebar will open the ‘Runtime Analysis Summary’ window which contains a summary of findings for a particular project.
37
+
38
+ <image class="video-screenshot" src="/assets/img/docs/runtime-analysis-overview-dashboard.webp"/>
39
+
40
+ {% include vimeo.html id='916087872' %}
41
+
42
+ ---
43
+
44
+ **In this video**
45
+ AppMap Analysis scans your AppMap Data to find software design flaws that impact performance, stability, security and maintainability. This runtime code analysis can find the problems that static code analyzers miss - and that cause 90% of today’s most serious production issues.
46
+
47
+ **Links mentioned**
48
+ [AppMap Community Slack](/slack)
49
+ [Get AppMap for VSCode](https://marketplace.visualstudio.com/items?itemName=appland.appmap)
50
+ [Get AppMap for JetBrains](https://plugins.jetbrains.com/plugin/16701-appmap)
51
+
52
+ ---
53
+
54
+ ## Follow along
55
+
56
+ AppMap Analysis is available for both JetBrains IDEs and Visual Studio Code.
57
+
58
+ ## Investigate findings
59
+
60
+ Let's look at a sample Ruby on rails application, where AppMap has already been installed and AppMap Data has been generated. From the test cases, you'll see a new option for findings in the left-hand column or an option here for investigate findings.
61
+
62
+ <img class="video-screenshot" src="/assets/img/appmap-analysis-1.webp"/>
63
+
64
+ You can see one of the issues we've found is that a log event contained secret data by clicking on the finding will be taken directly to the line of code where this event occurs by hovering over the pin.
65
+ <img class="video-screenshot" src="/assets/img/appmap-analysis-2.webp"/>
66
+
67
+ ## Use labels to visually explore your code
68
+
69
+ You can open the AppMap and see exactly where the function wrote this secret to a log file. How does AppMap know that this was a secret? Unlike static analyzers and other tools that do pattern matching AppMap knows this function generates secrets because we have built in knowledge of common software libraries with pre-populated labels.
70
+
71
+ We know exactly where to look to avoid false positives. Developers can extend their labels, whether it's a common library or not with simple code comments on their functions.
72
+ <img class="video-screenshot" src="/assets/img/appmap-analysis-3.webp"/>
73
+
74
+ If you search for the secret label, you'll see the location in the code where this event occurs by clicking on the function, you'll be taken to the exact location of the AppMap, where the secret was generated. Additionally, you can open the code, combining a visual model alongside the code.
75
+ <img class="video-screenshot" src="/assets/img/appmap-analysis-4.webp"/>
76
+
77
+ **Next step: [Join the AppMap Community](/community)**
@@ -0,0 +1,93 @@
1
+ ---
2
+ layout: docs
3
+ title: Docs - AppMap in your Code Editor
4
+ description: "Automatically generate AppMap Data from test cases using AppMap, benefiting from named cases, source locations, and incremental testing for various frameworks."
5
+ name: Generate AppMap Data from Tests
6
+ setup-appmap-ide: true
7
+ step: 3
8
+ redirect_from: [/docs/recording-methods,/docs/your-first-15-minutes-with-appmap/generate-appmaps-with-tests, /docs/quickstart/intellij/step-3, /docs/quickstart/pycharm/step-3, /docs/quickstart/vscode/javascript-step-3.html, /docs/quickstart/rubymine/step-3, /docs/quickstart/vscode/python-step-3, /docs/quickstart/vscode/ruby-step-3, /docs/quickstart/vscode/java-step-3, ./reference/remote-recording.html, /docs/quickstart/vscode/step-2, /docs/diagrams/quickstart/vscode/ruby-step-3-tests, /docs/quickstart/vscode/java-step-3.html, /docs/quickstart/vscode/python-step-3.html, /docs/quickstart/vscode/ruby-step-3.html, /docs/quickstart/webstorm/step-3, /docs/diagrams/quickstart/vscode/java-step-3-tests, /docs/diagrams/quickstart/vscode/javascript-step-3-tests, /docs/diagrams/quickstart/vscode/python-step-3-tests, /docs/diagrams/quickstart/vscode/ruby-step-3-tests, /docs/diagrams/quickstart/intellij/step-3-tests, /docs/diagrams/quickstart/webstorm/step-3-tests, /docs/diagrams/quickstart/pycharm/step-3-tests, /docs/diagrams/quickstart/rubymine/step-3-tests, /docs/setup-appmap-in-your-code-editor/generate-appmaps-from-tests]
9
+ ---
10
+
11
+ # Generate AppMap Data from Tests
12
+
13
+ AppMap integrates with popular test frameworks, so you can automatically record an AppMap from each test case that you run.
14
+
15
+ Some benefits of test case recording include:
16
+
17
+ * **Named for the test case** The name of each AppMap corresponds to the name of the test.
18
+ * **Includes source location** The AppMap metadata contains the path and line number of the test case. From the AppMap Diagram, you can navigate to the test case code.
19
+ * **Supports incremental testing** AppMap's dependency analysis capability can help you re-run out-of-date test cases as you modify the code - even in very large repositories.
20
+
21
+ For details on test case recording, see:
22
+
23
+ - [Tests recording - Ruby](/docs/reference/appmap-ruby#tests-recording)
24
+ - [Tests recording - Python](/docs/reference/appmap-python#tests-recording)
25
+ - [Tests recording - Java](/docs/reference/appmap-java#tests-recording)
26
+ - [Tests recording - Node.js](/docs/reference/appmap-node#tests-recording)
27
+
28
+ {% include vimeo.html id='916087911' %}
29
+
30
+ ---
31
+
32
+ **In this video**
33
+ We install AppMap into our sample Ruby on Rails project inside of VS Code. You can find a link to the sample project below if you would like to follow along.
34
+
35
+ **Links mentioned**
36
+ [Rails Sample Application](https://github.com/land-of-apps/sample_app_6th_ed/tree/codespaces-devcontainer)
37
+ [AppMap Slack community](/slack)
38
+
39
+ ---
40
+
41
+ ## Follow along
42
+
43
+ You can review the previous video for more details about what the [ideal types of projects for AppMap](/docs/your-first-15-minutes-with-appmap/ideal-projects) are. We're using a Ruby on Rails sample app and can use `bundle exec rails test` to generate AppMap Data from test cases. This is how AppMap will analyze the runtime of the code.
44
+
45
+ ## Install AppMap agent
46
+
47
+ **NOTE:** If you're using JetBrains IntelliJ IDEA with Java, [follow these instructions](/docs/reference/jetbrains#start-with-appmap-for-java) to create AppMap Data from tests.
48
+
49
+ From here, navigate to AppMap by clicking on the button in the left hand sidebar, and click on "Add AppMap to your project". The project picker will help you confirm that you're running a suitable project before you install.
50
+
51
+ The automated installer will look for project files such as a `Gemfile` or a `package.json` and it will ask you to confirm the details of your environment before installing.
52
+
53
+ Choose an installation method to continue.
54
+
55
+ In the video example the automated installer identifies both `yarn` and `Bundler` because the project consists of a Ruby on Rails application with additional frontend JavaScript dependencies. In this case we want to record our Rails server, so `Bundler` is selected as our installation target.
56
+
57
+ Once the agent is installed correctly, continue on to the next step, recording AppMap Data.
58
+
59
+ <img class="video-screenshot" src="/assets/img/appmap-install.webp"/>
60
+
61
+ ## Recording AppMap Data
62
+
63
+ Follow the on-screen instructions for recording AppMap Data for your project. You'll receive one of the two following options.
64
+
65
+ You may be given a command to copy and paste which will guide you through running your test cases with AppMap enabled. Paste the command into a terminal and it will ask what you want to use for your test command. It will make an assumption based on your project. If the command you run tests with is different to what was suggested by the on-screen instructions, you can change this command by pressing no, then entering a new command and include any environment variables you need.
66
+
67
+ Confirm the test command and define the maximum time you want to spend running each test. Tests will run for 30 seconds in total by default before AppMap will stop recording. If your tests take longer than 30 seconds, specify a larger time period.
68
+
69
+ Alternatively, the instructions may prompt you to run your application or test cases as normal. In this scenario, AppMap will automatically be enabled and no additional steps are necessary.
70
+
71
+ <img class="video-screenshot" src="/assets/img/appmap-record.webp"/>
72
+
73
+ ## Open AppMap Diagrams
74
+
75
+ By running this command we've generated 68 AppMap Diagrams in our Rails sample project, and we can continue on to the next step. We now have AppMap Data that has been generated. We surface some of the AppMap Diagrams here, maybe ones that have a large number of requests or in this scenario, ones that have large numbers of SQL queries. You can click on any one of these to open the map directly inside of your vs code. You'll be able to see which tests executed and generated this AppMap. You will also be able able to see server requests, packages, classes, functions, and SQL queries related to this.
76
+
77
+ <img class="video-screenshot" src="/assets/img/generate-appmaps-5.webp"/>
78
+
79
+ ## Investigate findings and view code objects
80
+
81
+ We'll continue on the onboarding process and be able to view any findings that the analysis function has picked out. When we click on the "View Problems" button, we'll see a series of N-plus-one SQL queries. These could lead to performance issues for your users. By clicking on any of these findings, it will navigate us into the code base where this issue is occurring.
82
+
83
+ You can also see code objects have been indexed. This is another helpful way to be able to find which AppMap Diagrams include which specific SQL queries or specific API requests. From here, you can see the changes that we've made in our project to support creating AppMap Data. The `appmap.yml` file includes the command that we're going to execute as part of our test run, as well as which paths within our project we're going to analyze.
84
+
85
+ And you can also see the `Gemfile`. We include AppMap as a development dependency. You can commit all of these files, which will make this available to any other developers on this project.
86
+
87
+ Finally, you'll see AppMap Data actually exists inside your temp directory in the AppMap folder. We don't recommend committing these to your project. They can grow your git repositories unnecessarily.
88
+
89
+ If you'd like to learn more about how to share AppMap Diagrams with your team, reach out to us on [Slack](/slack) for a preview of at maps team offerings.
90
+
91
+ AppMap is now installed in our project and by running tests locally with the AppMap flag enabled, we will be able to record AppMap Diagrams.
92
+
93
+ <img class="video-screenshot" src="/assets/img/generate-appmaps-7.webp"/>