@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.
- package/CHANGELOG.md +7 -0
- package/built/docs/CLA Instructions.pdf +0 -0
- package/built/docs/Code of Conduct for Contributors.pdf +0 -0
- package/built/docs/analysis/rules-reference.html +27 -0
- package/built/docs/appmap-docs.md +27 -0
- package/built/docs/community.md +28 -0
- package/built/docs/guides/exporting-appmap-diagrams.md +50 -0
- package/built/docs/guides/handling-large-appmap-diagrams.md +138 -0
- package/built/docs/guides/index.md +21 -0
- package/built/docs/guides/navigating-code-objects.md +67 -0
- package/built/docs/guides/openapi.md +105 -0
- package/built/docs/guides/reading-sql-in-appmap-diagrams.md +69 -0
- package/built/docs/guides/refine-appmap-data.md +186 -0
- package/built/docs/guides/reverse-engineering.md +377 -0
- package/built/docs/guides/runtime-code-review.md +111 -0
- package/built/docs/guides/using-appmap-analysis.md +206 -0
- package/built/docs/guides/using-appmap-diagrams.md +331 -0
- package/built/docs/integrations/atlassian-compass.md +25 -0
- package/built/docs/integrations/atlassian-confluence.md +51 -0
- package/built/docs/integrations/circle-ci.md +424 -0
- package/built/docs/integrations/docker.md +109 -0
- package/built/docs/integrations/github-actions.md +524 -0
- package/built/docs/integrations/index.md +20 -0
- package/built/docs/integrations/plantuml.md +66 -0
- package/built/docs/integrations/postman.md +30 -0
- package/built/docs/integrations/readme.md +39 -0
- package/built/docs/integrations/smartbear-swaggerhub.md +119 -0
- package/built/docs/reference/analysis-labels.md +49 -0
- package/built/docs/reference/analysis-rules.md +61 -0
- package/built/docs/reference/appmap-client-cli.md +628 -0
- package/built/docs/reference/appmap-gradle-plugin.md +141 -0
- package/built/docs/reference/appmap-java.md +311 -0
- package/built/docs/reference/appmap-maven-plugin.md +164 -0
- package/built/docs/reference/appmap-node.md +185 -0
- package/built/docs/reference/appmap-python.md +520 -0
- package/built/docs/reference/appmap-ruby.md +514 -0
- package/built/docs/reference/github-action.md +171 -0
- package/built/docs/reference/index.md +25 -0
- package/built/docs/reference/jetbrains.md +136 -0
- package/built/docs/reference/license-key-install.md +74 -0
- package/built/docs/reference/navie.md +261 -0
- package/built/docs/reference/remote-recording-api.md +97 -0
- package/built/docs/reference/uninstalling-appmap.md +119 -0
- package/built/docs/reference/vscode.md +122 -0
- package/built/docs/setup-appmap-in-ci/example-projects.md +21 -0
- package/built/docs/setup-appmap-in-ci/how-it-works.md +43 -0
- package/built/docs/setup-appmap-in-ci/in-circleci.md +423 -0
- package/built/docs/setup-appmap-in-ci/in-github-actions.md +177 -0
- package/built/docs/setup-appmap-in-ci/index.md +22 -0
- package/built/docs/setup-appmap-in-ci/matrix-builds.md +225 -0
- package/built/docs/setup-appmap-in-ci/troubleshooting.md +71 -0
- package/built/docs/setup-appmap-in-your-code-editor/add-appmap-to-your-code-editor.md +93 -0
- package/built/docs/setup-appmap-in-your-code-editor/appmap-analysis.md +77 -0
- package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-from-tests.md +93 -0
- package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-with-remote-recording.md +112 -0
- package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-with-request-recording.md +77 -0
- package/built/docs/setup-appmap-in-your-code-editor/how-appmap-works.md +166 -0
- package/built/docs/setup-appmap-in-your-code-editor/index.md +25 -0
- package/built/docs/setup-appmap-in-your-code-editor/navigating-appmap-diagrams.md +59 -0
- package/built/docs/setup-appmap-in-your-code-editor/navigating-code-objects.md +67 -0
- package/built/docs/unused_for_now_index.html +11 -0
- package/package.json +2 -2
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: docs
|
|
3
|
+
title: Docs - Reference
|
|
4
|
+
description: "Explore a range of AppMap tools and agents for various languages like Ruby, Python, Java, and more, along with CLI, API, and GitHub Action integration."
|
|
5
|
+
toc: true
|
|
6
|
+
step: 1
|
|
7
|
+
redirect_from: [/docs/reference/browser-extension]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Reference
|
|
11
|
+
- [AppMap for Visual Studio Code](/docs/reference/vscode)
|
|
12
|
+
- [AppMap for JetBrains](/docs/reference/jetbrains)
|
|
13
|
+
- [AppMap Navie AI](/docs/reference/navie)
|
|
14
|
+
- [AppMap Agent for Ruby](/docs/reference/appmap-ruby)
|
|
15
|
+
- [AppMap Agent for Python](/docs/reference/appmap-python)
|
|
16
|
+
- [AppMap Agent for Node.js](/docs/reference/appmap-node)
|
|
17
|
+
- [AppMap Agent for Java](/docs/reference/appmap-java)
|
|
18
|
+
- [AppMap for Java – Maven Plugin](/docs/reference/appmap-maven-plugin)
|
|
19
|
+
- [AppMap for Java – Gradle Plugin](/docs/reference/appmap-gradle-plugin)
|
|
20
|
+
- [AppMap Command line interface (CLI)](/docs/reference/appmap-client-cli.html)
|
|
21
|
+
- [Remote recording API](/docs/reference/remote-recording-api)
|
|
22
|
+
- [Analysis Rules](/docs/reference/analysis-rules)
|
|
23
|
+
- [Analysis Labels](/docs/reference/analysis-labels)
|
|
24
|
+
- [GitHub Action](/docs/reference/github-action)
|
|
25
|
+
- [Uninstalling AppMap](/docs/reference/uninstalling-appmap)
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: docs
|
|
3
|
+
title: Docs - Reference
|
|
4
|
+
description: "AppMap for JetBrains reference guide. Learn to use AppMap in your JetBrains code editor."
|
|
5
|
+
toc: true
|
|
6
|
+
reference: true
|
|
7
|
+
name: AppMap for JetBrains
|
|
8
|
+
step: 2
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# AppMap for JetBrains
|
|
12
|
+
|
|
13
|
+
- [AppMap tool window](#appmap-tool-window)
|
|
14
|
+
- ["Start with AppMap" for Java](#start-with-appmap-for-java)
|
|
15
|
+
- [Create AppMap Data from JUnit test runs](#create-appmap-data-from-junit-test-runs)
|
|
16
|
+
- [Disable specific JUnit tests](#disable-specific-junit-tests)
|
|
17
|
+
- [Running a Java application with AppMap](#running-a-java-application-with-appmap)
|
|
18
|
+
- [Remote recording](#remote-recording)
|
|
19
|
+
- [AppMap Plugin actions](#appmap-plugin-actions)
|
|
20
|
+
- [Generate OpenAPI Definitions](#generate-openapi-definitions)
|
|
21
|
+
- [Troubleshooting](#troubleshooting)
|
|
22
|
+
- [Enable Debug Logging](#enable-debug-logging)
|
|
23
|
+
- [Downloading Plugin Logs](#downloading-plugin-logs)
|
|
24
|
+
- [GitHub Repository](#github-repository)
|
|
25
|
+
|
|
26
|
+
## AppMap tool window
|
|
27
|
+
|
|
28
|
+
The AppMap tool window shows all AppMap Diagrams in your open projects. You can open it from the top level menu (`View -> Tools Windows -> AppMaps`), with an AppMap action or by clicking on its tab in the UI.
|
|
29
|
+
|
|
30
|
+
<img class="intellij-screenshot" src="/assets/img/intellij-appmap-tool-window.webp"/>
|
|
31
|
+
|
|
32
|
+
AppMap tool window actions:
|
|
33
|
+
|
|
34
|
+
- Alphabetical listing of all AppMap Diagrams in the project, sorted by name.
|
|
35
|
+
- Double-click on any AppMap to open it.
|
|
36
|
+
- Search for an AppMap by its name.
|
|
37
|
+
- Start/stop [remote recordings](#remote-recording).
|
|
38
|
+
- View the Quickstart guide.
|
|
39
|
+
|
|
40
|
+
## "Start with AppMap" for Java
|
|
41
|
+
|
|
42
|
+
**NOTE:** This section only applies to Java applications.
|
|
43
|
+
|
|
44
|
+
Installing the AppMap JetBrains plugin adds custom buttons and menu options to the JetBrains editor interface. These can be used to run your Java application code with AppMap automatically configured, saving you from manually changing your Maven or Gradle settings. This is the recommended approach for all Java users using JetBrains editors like IntelliJ.
|
|
45
|
+
|
|
46
|
+
For example, if you right click on your main class file you'll see a new menu item under "More Run/Debug" to `Start with AppMap`. Selecting this option will start your application with the AppMap libraries enabled. From here, you can interact with your application to generate [request recordings](/docs/reference/appmap-java.html#requests-recording) or use [remote recording](#remote-recording)
|
|
47
|
+
|
|
48
|
+
<img class="intellij-screenshot" src="/assets/img/jetbrains-run-main-with-appmap.webp"/>
|
|
49
|
+
|
|
50
|
+
You can also use this custom button to run a specific test or group of tests with the `Start with AppMap` option. Similar to above, right click on a single test or a group of tests and use the custom button under "More Run/Debug" to `Start with AppMap`.
|
|
51
|
+
|
|
52
|
+
<img class="intellij-screenshot" src="/assets/img/jetbrains-run-test-with-appmap.webp"/>
|
|
53
|
+
|
|
54
|
+
{% include vimeo.html id='916087828' %}
|
|
55
|
+
|
|
56
|
+
### Create AppMap Data from JUnit test runs
|
|
57
|
+
|
|
58
|
+
1. [Install the JetBrains plugin](https://plugins.jetbrains.com/plugin/16701-appmap) if you haven't already.
|
|
59
|
+
2. Open your test file in the editor. Each method marked with JUnit's `@Test` annotation will produce an AppMap.
|
|
60
|
+
3. Run the test(s) with AppMap by clicking the icon next to the test class and then selecting "Start with AppMap", or by clicking the AppMap run configuration button:
|
|
61
|
+
<img class="intellij-screenshot" src="/assets/img/run-config-test.png"/>
|
|
62
|
+
|
|
63
|
+
#### Disable specific JUnit tests
|
|
64
|
+
|
|
65
|
+
To disable recording for a particular JUnit test (for example, a performance
|
|
66
|
+
test), list the class or methods under `exclude` in the project's `appmap.yml` configuration file.
|
|
67
|
+
|
|
68
|
+
### Running a Java application with AppMap
|
|
69
|
+
|
|
70
|
+
When you run a Java application with the AppMap agent, [remote recording](/docs/recording-methods.html#remote-recording) will be enabled. (Note: For this to work, your application must include a web server).
|
|
71
|
+
|
|
72
|
+
1. [Install the JetBrains plugin](https://plugins.jetbrains.com/plugin/16701-appmap) if you haven't already.
|
|
73
|
+
2. Open your application file in the editor.
|
|
74
|
+
3. Run your application with AppMap by clicking the icon next to the main class you wish to run and then selecting "Start with AppMap", or by clicking the AppMap run configuration button:
|
|
75
|
+
<img class="intellij-screenshot" src="/assets/img/run-config-start.png"/>
|
|
76
|
+
1. With the application running, follow the [remote recording](#remote-recording) instructions below to (starting at step 3) create AppMap Data.
|
|
77
|
+
|
|
78
|
+
## Remote recording
|
|
79
|
+
|
|
80
|
+
You can make a [remote recording](../recording-methods#remote-recording) from within the JetBrains IDE.
|
|
81
|
+
|
|
82
|
+
1. [Install the JetBrains plugin](https://plugins.jetbrains.com/plugin/16701-appmap) if you haven't already.
|
|
83
|
+
2. Start your application with remote recording enabled. For Java, [run your Java application with AppMap](#running-a-java-application-with-appmap). For other languages, consult the [agent reference](/docs/reference) for details.
|
|
84
|
+
3. To start a recording, click the remote recording button, or use the command **Start AppMap recording**.
|
|
85
|
+
<img class="intellij-screenshot" src="/assets/img/docs/intellij-remote-start.png"/>
|
|
86
|
+
4. Enter the URL where your application is running.
|
|
87
|
+
<img class="intellij-screenshot" src="/assets/img/docs/intellij-remote-url.png"/>
|
|
88
|
+
5. Interact with your app through its UI or API. Then click the button to stop the recording, or use the command **Stop AppMap recording**.
|
|
89
|
+
<img class="intellij-screenshot" src="/assets/img/docs/intellij-remote-stop.png"/>
|
|
90
|
+
6. You'll be prompted to save the AppMap to a file, and it will be opened.
|
|
91
|
+
<img class="intellij-screenshot" src="/assets/img/docs/intellij-remote-save.png"/>
|
|
92
|
+
|
|
93
|
+
For more details about remote recording, see:
|
|
94
|
+
|
|
95
|
+
* [Recording methods > Remote recording](/docs/recording-methods)
|
|
96
|
+
* [Remote recording API](../reference/remote-recording-api)
|
|
97
|
+
|
|
98
|
+
## AppMap Plugin actions
|
|
99
|
+
|
|
100
|
+
To open the list of AppMap plugin actions, press `CTRL+SHIFT+A` on Windows and Linux, or `COMMAND+SHIFT+A` on macOS, and type `AppMap`. You can also find these actions at `Tools > AppMap` of the main menu.
|
|
101
|
+
|
|
102
|
+
The command names should be self-explanatory.
|
|
103
|
+
|
|
104
|
+
## Generate OpenAPI Definitions
|
|
105
|
+
|
|
106
|
+
After [recording AppMap Data](/docs/recording-methods.html) for your project, select "Generate OpenAPI" from the AppMap instructions quick start in the lower right hand column.
|
|
107
|
+
|
|
108
|
+

|
|
109
|
+
|
|
110
|
+
Selecting the "Generate OpenAPI Definitions" button will open a new file with your OpenAPI definition document to save locally, share with your team or use with 3rd party API management tools [like Postman](https://blog.postman.com/new-postman-integration-with-appmap-create-and-manage-always-accurate-collections/)
|
|
111
|
+
|
|
112
|
+

|
|
113
|
+
|
|
114
|
+
## Troubleshooting
|
|
115
|
+
|
|
116
|
+
### Enable Debug Logging
|
|
117
|
+
|
|
118
|
+
You can enable debug logging of the AppMap plugin in your JetBrains code editor by first opening `Help` > `Diagnostic Tools` > `Debug Log Settings`.
|
|
119
|
+
|
|
120
|
+

|
|
121
|
+
|
|
122
|
+
In the `Custom Debug Log Configuration` enter `appland` to enable DEBUG level logging for the AppMap plugin.
|
|
123
|
+
|
|
124
|
+

|
|
125
|
+
|
|
126
|
+
Next, open `Help` > `Show Log...` will open the IDE log file.
|
|
127
|
+
|
|
128
|
+

|
|
129
|
+
|
|
130
|
+
### Downloading Plugin Logs
|
|
131
|
+
|
|
132
|
+
AppMap technical support may ask you for your IDE logs to diagnose issues with the plugin's behavior. If so, go to the `Help` menu in your editor and select `Collect Logs and Diagnostic Data`. This will create a `.zip` file on your local machine and open a file explorer window to it. You can then safely send that file to AppMap within your technical support ticket conversation.
|
|
133
|
+
|
|
134
|
+
## GitHub Repository
|
|
135
|
+
|
|
136
|
+
[https://github.com/getappmap/appmap-intellij-plugin](https://github.com/getappmap/appmap-intellij-plugin)
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: docs
|
|
3
|
+
title: Docs - Reference
|
|
4
|
+
description: "Install your AppMap license key for VS Code and JetBrains by following these steps."
|
|
5
|
+
toc: true
|
|
6
|
+
reference: true
|
|
7
|
+
step: 18
|
|
8
|
+
name: License Key Installation
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# AppMap Code Editor license key installation
|
|
12
|
+
|
|
13
|
+
After receiving your AppMap license key follow the steps below.
|
|
14
|
+
|
|
15
|
+
For the license key to successfully validate with AppMap systems ensure your machine is able to connect to <a href="https://getappmap.com">https://getappmap.com</a>. You can test by opening it in your web browser.
|
|
16
|
+
|
|
17
|
+
- [VS Code license key install steps](#vs-code-license-key-install-steps)
|
|
18
|
+
- [JetBrains license key install steps](#jetbrains-license-key-install-steps)
|
|
19
|
+
|
|
20
|
+
## VS Code license key install steps
|
|
21
|
+
|
|
22
|
+
1) Open the VS Code Command Palette
|
|
23
|
+
- Mac: `Cmd + Shift + P`
|
|
24
|
+
- Windows/Linux: `Ctrl + Shift + P`
|
|
25
|
+
|
|
26
|
+
2) Search for `AppMap license`
|
|
27
|
+
|
|
28
|
+
<img class="video-screenshot" src="/assets/img/license-key-vscode-1.webp"/>
|
|
29
|
+
|
|
30
|
+
3) Enter the license key provided by the AppMap team and press `Enter` to submit
|
|
31
|
+
|
|
32
|
+
<img class="video-screenshot" src="/assets/img/license-key-vscode-2.webp"/>
|
|
33
|
+
|
|
34
|
+
4) Click `Allow` to allow the AppMap extension to use your license key.
|
|
35
|
+
|
|
36
|
+
<img class="video-screenshot" src="/assets/img/license-key-vscode-3.webp"/>
|
|
37
|
+
|
|
38
|
+
5) AppMap will be activated for Visual Studio Code.
|
|
39
|
+
|
|
40
|
+
<br/>
|
|
41
|
+
|
|
42
|
+
## JetBrains license key install steps
|
|
43
|
+
|
|
44
|
+
1) Select `Tools` from the main menu of your JetBrains Code Editor. Then select `AppMap` -> `Enter License Key`.
|
|
45
|
+
|
|
46
|
+
<img class="video-screenshot" src="/assets/img/license-key-jetbrains-1.webp"/>
|
|
47
|
+
|
|
48
|
+
2) Enter the license key provided by the AppMap team and press `Ok` to submit.
|
|
49
|
+
|
|
50
|
+
<img class="video-screenshot" src="/assets/img/license-key-jetbrains-2.webp"/>
|
|
51
|
+
|
|
52
|
+
3) You will now be logged into AppMap for the IDE.
|
|
53
|
+
|
|
54
|
+
<img class="video-screenshot" src="/assets/img/license-key-jetbrains-3.webp"/>
|
|
55
|
+
|
|
56
|
+
### Video: How to Install an AppMap license key in JetBrains
|
|
57
|
+
|
|
58
|
+
<div class="video-container" onclick="JetBrainsplayVideo()">
|
|
59
|
+
<img id="JetBrainsvideoPlaceholder" src="/assets/img/appmap-license-jetbrains-placeholder.webp" style="display:block; width: 100%;">
|
|
60
|
+
<video id="JetBrainsvideoPlayer" playsinline loop style="display:none;">
|
|
61
|
+
<source src="/assets/video/appmap-license-key-jetbrains.webm" type="video/webm">
|
|
62
|
+
<source src="/assets/video/appmap-license-key-jetbrains.mp4" type="video/mp4">
|
|
63
|
+
</video>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<script>
|
|
67
|
+
function JetBrainsplayVideo() {
|
|
68
|
+
var video = document.getElementById('JetBrainsvideoPlayer');
|
|
69
|
+
var placeholder = document.getElementById('JetBrainsvideoPlaceholder');
|
|
70
|
+
placeholder.style.display = 'none';
|
|
71
|
+
video.style.display = 'block';
|
|
72
|
+
video.play();
|
|
73
|
+
}
|
|
74
|
+
</script>
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: docs
|
|
3
|
+
title: Docs - Reference
|
|
4
|
+
description: "Reference Guide to AppMap Navie, including advanced usage and configuration"
|
|
5
|
+
toc: true
|
|
6
|
+
reference: true
|
|
7
|
+
name: AppMap Navie AI
|
|
8
|
+
step: 3
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# AppMap Navie AI
|
|
12
|
+
- [Advanced Navie Commands](#advanced-navie-commands)
|
|
13
|
+
- [`@explain`](#explain)
|
|
14
|
+
- [`@help`](#help)
|
|
15
|
+
- [`@generate`](#generate)
|
|
16
|
+
- [Bring Your Own Model Examples](#bring-your-own-model-examples)
|
|
17
|
+
- [OpenAI](#openai)
|
|
18
|
+
- [Azure OpenAI](#azure-openai)
|
|
19
|
+
- [AnyScale Endpoints](#anyscale-endpoints)
|
|
20
|
+
- [Ollama](#ollama)
|
|
21
|
+
- [LM Studio](#lm-studio)
|
|
22
|
+
- [OpenAI Key Management in VS Code](#openai-key-management-in-vs-code)
|
|
23
|
+
- [Add a new OpenAI Key in VS Code](#add-a-new-openai-key-in-vs-code)
|
|
24
|
+
- [Delete a configured OpenAI Key](#delete-a-configured-openai-key)
|
|
25
|
+
- [How is my API key saved securely?](#how-is-my-api-key-saved-securely)
|
|
26
|
+
- [OpenAI Key Management in JetBrains](#openai-key-management-in-jetbrains)
|
|
27
|
+
- [Adding or Modifying OpenAI API Key in JetBrains](#adding-or-modifying-openai-api-key-in-jetbrains)
|
|
28
|
+
- [How is my API key saved securely?](#how-is-my-api-key-saved-securely-1)
|
|
29
|
+
- [Accessing Navie Logs](#accessing-navie-logs)
|
|
30
|
+
- [In VS Code](#in-vs-code)
|
|
31
|
+
- [In JetBrains](#in-jetbrains)
|
|
32
|
+
- [GitHub Repository](#github-repository)
|
|
33
|
+
|
|
34
|
+
## Advanced Navie Commands
|
|
35
|
+
|
|
36
|
+
You can ask free-form questions, or start your question with one of these commands:
|
|
37
|
+
|
|
38
|
+
- [`@explain`](#explain)
|
|
39
|
+
- [`@help`](#help)
|
|
40
|
+
- [`@generate`](#generate)
|
|
41
|
+
|
|
42
|
+
### `@explain`
|
|
43
|
+
|
|
44
|
+
The `@explain` command prefix within Navie serves as a default option focused on helping you learn more about your project. Using the `@explain` prefix will focus the Navie AI response to be more explanatory and will dive into architectural level questions across your entire code base. You can also use this to ask for ways to improve the performance of a feature as well.
|
|
45
|
+
|
|
46
|
+
#### Examples <!-- omit in toc -->
|
|
47
|
+
|
|
48
|
+
- @explain how does user authentication work in this project?
|
|
49
|
+
- @explain how is the export request for physical flows handled, and what are the tables involved?
|
|
50
|
+
- @explain how does the products listing page works and how can I improve the performance?
|
|
51
|
+
|
|
52
|
+
### `@help`
|
|
53
|
+
|
|
54
|
+
Navie will help you setup AppMap, including generating AppMap recordings and diagrams. This prefix will focus the Navie AI response to be more specific towards help with using AppMap products and features. This will leverage the [AppMap documentation](https://appmap.io/docs) as part of the context related to your question and provide guidance for using AppMap features or diving into advanced AppMap topics.
|
|
55
|
+
|
|
56
|
+
#### Examples <!-- omit in toc -->
|
|
57
|
+
|
|
58
|
+
- @help how do I setup process recording for my node.js project?
|
|
59
|
+
- @help how can I reduce the size of my large AppMap Data recordings?
|
|
60
|
+
- @help how can i export my AppMap data to atlassian confluence?
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### `@generate`
|
|
64
|
+
|
|
65
|
+
The `@generate` prefix will focus the Navie AI response to optimize for new code creation. This is useful when you want the Navie AI to respond with code implementations across your entire code base. This is useful for both creation of new code as well as creation of test cases.
|
|
66
|
+
|
|
67
|
+
#### Examples <!-- omit in toc -->
|
|
68
|
+
|
|
69
|
+
- @generate Using the django-simple-captcha library add the necessary code for an offline captcha to my new user registration page.
|
|
70
|
+
- @generate Update the function for the physical flow export to include data type via physical_spec_data_type and physical_specification tables without changing the existing functionality.
|
|
71
|
+
- @generate Design and implement a cache key for user posts and show me how to implement it within this code base
|
|
72
|
+
|
|
73
|
+
## Bring Your Own Model Examples
|
|
74
|
+
|
|
75
|
+
### OpenAI
|
|
76
|
+
|
|
77
|
+
**Note:** We recommend configuring your OpenAI key using the code editor extension. Follow the [Bring Your Own Key](/docs/navie/bring-your-own-model.html#configuring-your-openai-key) docs for instructions.
|
|
78
|
+
|
|
79
|
+
Only `OPENAI_API_KEY` needs to be set, other settings can stay default:
|
|
80
|
+
|
|
81
|
+
| `OPENAI_API_KEY`| `sk-9spQsnE3X7myFHnjgNKKgIcGAdaIG78I3HZB4DFDWQGM` |
|
|
82
|
+
|
|
83
|
+
When using your own OpenAI API key, you can also modify the OpenAI model for Navie to use. For example if you wanted to use `gpt-3.5` or use an preview model like `gpt-4-vision-preview`.
|
|
84
|
+
|
|
85
|
+
| `APPMAP_NAVIE_MODEL`| `gpt-4-vision-preview` |
|
|
86
|
+
|
|
87
|
+
### Azure OpenAI
|
|
88
|
+
|
|
89
|
+
Assuming you [created](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource) a `navie` GPT-4 deployment on `contoso.openai.azure.com` OpenAI instance:
|
|
90
|
+
|
|
91
|
+
| `AZURE_OPENAI_API_KEY` | `e50edc22e83f01802893d654c4268c4f` |
|
|
92
|
+
| `AZURE_OPENAI_API_VERSION` | `2024-02-01` |
|
|
93
|
+
| `AZURE_OPENAI_API_INSTANCE_NAME` | `contoso` |
|
|
94
|
+
| `AZURE_OPENAI_API_DEPLOYMENT_NAME` | `navie` |
|
|
95
|
+
|
|
96
|
+
### AnyScale Endpoints
|
|
97
|
+
|
|
98
|
+
[AnyScale Endpoints](https://www.anyscale.com/endpoints) allows querying a
|
|
99
|
+
selection of open-source LLMs. After you create an account you can use it by
|
|
100
|
+
setting:
|
|
101
|
+
|
|
102
|
+
| `OPENAI_API_KEY` | `esecret_myxfwgl1iinbz9q5hkexemk8f4xhcou8` |
|
|
103
|
+
| `OPENAI_BASE_URL` | `https://api.endpoints.anyscale.com/v1` |
|
|
104
|
+
| `APPMAP_NAVIE_MODEL` | `mistralai/Mixtral-8x7B-Instruct-v0.1` |
|
|
105
|
+
|
|
106
|
+
Consult [AnyScale documentation](https://docs.endpoints.anyscale.com/) for model
|
|
107
|
+
names. Note we recommend using Mixtral models with Navie.
|
|
108
|
+
|
|
109
|
+
### Ollama
|
|
110
|
+
|
|
111
|
+
You can use [Ollama](https://ollama.com/) to run Navie with local models; after
|
|
112
|
+
you've successfully ran a model with `ollama run` command, you can configure
|
|
113
|
+
Navie to use it:
|
|
114
|
+
|
|
115
|
+
| `OPENAI_API_KEY` | `dummy` |
|
|
116
|
+
| `OPENAI_BASE_URL` | `http://127.0.0.1:11434/v1` |
|
|
117
|
+
| `APPMAP_NAVIE_MODEL` | `mixtral` |
|
|
118
|
+
|
|
119
|
+
**Note:** Even though it's running locally a dummy placeholder API key is still required.
|
|
120
|
+
|
|
121
|
+
### LM Studio
|
|
122
|
+
|
|
123
|
+
You can use [LM Studio](https://lmstudio.ai/) to run Navie with local models.
|
|
124
|
+
|
|
125
|
+
After downloading a model to run, select the option to run a local server.
|
|
126
|
+
|
|
127
|
+
<img class="video-screenshot" src="/assets/img/product/lmstudio-run-local-server.webp"/>
|
|
128
|
+
|
|
129
|
+
In the next window, select which model you want to load into the local inference server.
|
|
130
|
+
|
|
131
|
+
<img class="video-screenshot" src="/assets/img/product/lmstudio-load-model.webp"/>
|
|
132
|
+
|
|
133
|
+
After loading your model, you can confirm it's successfully running in the logs.
|
|
134
|
+
|
|
135
|
+
*NOTE*: Save the URL it's running under to use for `OPENAI_BASE_URL` environment variable.
|
|
136
|
+
|
|
137
|
+
For example: `http://localhost:1234/v1`
|
|
138
|
+
|
|
139
|
+
<img class="video-screenshot" src="/assets/img/product/lmstudio-confirm-running.webp"/>
|
|
140
|
+
|
|
141
|
+
In the `Model Inspector` copy the name of the model and use this for the `APPMAP_NAVIE_MODEL` environment variable.
|
|
142
|
+
|
|
143
|
+
For example: `Meta-Llama-3-8B-Instruct-imatrix`
|
|
144
|
+
|
|
145
|
+
<img class="video-screenshot" src="/assets/img/product/lmstudio-model-inspector.webp"/>
|
|
146
|
+
|
|
147
|
+
Continue to configure your local environment with the following environment variables based on your LM Studio configuration. Refer to the [documentation above](#bring-your-own-model-byom) for steps specific to your code editor.
|
|
148
|
+
|
|
149
|
+
| `OPENAI_API_KEY` | `dummy` |
|
|
150
|
+
| `OPENAI_BASE_URL` | `http://localhost:1234/v1` |
|
|
151
|
+
| `APPMAP_NAVIE_MODEL` | `Meta-Llama-3-8B-Instruct-imatrix` |
|
|
152
|
+
|
|
153
|
+
**Note:** Even though it's running locally a dummy placeholder API key is still required.
|
|
154
|
+
|
|
155
|
+
## OpenAI Key Management in VS Code
|
|
156
|
+
|
|
157
|
+
### Add a new OpenAI Key in VS Code
|
|
158
|
+
|
|
159
|
+
The standard way to add an OpenAI API key in VS Code is to use the `gear` icon in the Navie chat window, but you can alternatively set the key using the VS Code Command Palette with an `AppMap` command option.
|
|
160
|
+
|
|
161
|
+
In VS Code, open the Command Palette.
|
|
162
|
+
|
|
163
|
+
You can use a hotkey to open the VS Code Command Palette
|
|
164
|
+
- Mac: `Cmd + Shift + P`
|
|
165
|
+
- Windows/Linux: `Ctrl + Shift + P`
|
|
166
|
+
|
|
167
|
+
Or you can select `View` -> `Command Palette`
|
|
168
|
+
|
|
169
|
+
<img class="video-screenshot" src="/assets/img/product/byok-command-palette.webp"/>
|
|
170
|
+
|
|
171
|
+
Search for `AppMap Set OpenAPI Key`
|
|
172
|
+
|
|
173
|
+
<img class="video-screenshot" src="/assets/img/product/byok-search.webp"/>
|
|
174
|
+
|
|
175
|
+
Paste your key into the new field and hit enter.
|
|
176
|
+
|
|
177
|
+
You'll get a notification in VS Code that your key is set.
|
|
178
|
+
|
|
179
|
+
**NOTE:** You will need to reload your window for the setting to take effect. Use the Command Palette `Developer: Reload Window`
|
|
180
|
+
|
|
181
|
+
<img class="video-screenshot" src="/assets/img/product/byok-key-set.webp"/>
|
|
182
|
+
|
|
183
|
+
### Delete a configured OpenAI Key
|
|
184
|
+
|
|
185
|
+
To delete your key, simply open the Command Palette
|
|
186
|
+
|
|
187
|
+
You can use a hotkey to open
|
|
188
|
+
- Mac: `Cmd + Shift + P`
|
|
189
|
+
- Windows/Linux: `Ctrl + Shift + P`
|
|
190
|
+
|
|
191
|
+
Or you can select `View` -> `Command Palette`
|
|
192
|
+
|
|
193
|
+
<img class="video-screenshot" src="/assets/img/product/byok-command-palette.webp"/>
|
|
194
|
+
|
|
195
|
+
Search for `AppMap Set OpenAPI Key`
|
|
196
|
+
|
|
197
|
+
<img class="video-screenshot" src="/assets/img/product/byok-search.webp"/>
|
|
198
|
+
|
|
199
|
+
And simply hit enter with the field blank. VS Code will notify you that the key has been unset.
|
|
200
|
+
|
|
201
|
+
**NOTE:** You will need to reload your window for the setting to take effect. Use the Command Palette `Developer: Reload Window`
|
|
202
|
+
|
|
203
|
+
<img class="video-screenshot" src="/assets/img/product/byok-key-erased.webp"/>
|
|
204
|
+
|
|
205
|
+
### How is my API key saved securely?
|
|
206
|
+
|
|
207
|
+
For secure storage of API key secrets within AppMap, we use the default VS Code secret storage which leverages Electron's safeStorage API to ensure the confidentiality of sensitive information. Upon encryption, secrets are stored within the user data directory in a SQLite database, alongside other VS Code state information. This encryption process involves generating a unique encryption key, which, on macOS, is securely stored within `Keychain Access` under "Code Safe Storage" or "Code - Insiders Safe Storage," depending on the version. This method provides a robust layer of protection, preventing unauthorized access by other applications or users with full disk access. The safeStorage API, accessible in the main process, supports operations such as checking encryption availability, encrypting and decrypting strings, and selecting storage backends on Linux. This approach ensures that your secrets are securely encrypted and stored, safeguarding them from potential threats while maintaining application integrity.
|
|
208
|
+
|
|
209
|
+
## OpenAI Key Management in JetBrains
|
|
210
|
+
|
|
211
|
+
The standard way to add an OpenAI API key in JetBrains is to use the `gear` icon in the Navie chat window, but you can alternatively set the key directly in the JetBrains settings.
|
|
212
|
+
|
|
213
|
+
### Adding or Modifying OpenAI API Key in JetBrains
|
|
214
|
+
|
|
215
|
+
In JetBrains, open the `Settings` option.
|
|
216
|
+
|
|
217
|
+

|
|
218
|
+
|
|
219
|
+
In the `Settings` window, search for `appmap` in the search bar on the side. Under the `Tools -> AppMap` you will see a configuration option for your OpenAI API Key in the `AppMap Services` section. This is the same section you are able to add/edit/modify your other environment settings for using your own custom models.
|
|
220
|
+
|
|
221
|
+

|
|
222
|
+
|
|
223
|
+
### How is my API key saved securely?
|
|
224
|
+
|
|
225
|
+
AppMap follows JetBrains best practices for the storing of sensitive data. The AppMap JetBrains plugin uses the `PasswordSafe` package [to securely persist](https://www.jetbrains.com/help/idea/reference-ide-settings-password-safe.html) your OpenAI API key. The default storage format for `PasswordSafe` is operating system dependent. Refer to the [JetBrains Developer Documents](https://plugins.jetbrains.com/docs/intellij/persisting-sensitive-data.html#storage) for more information.
|
|
226
|
+
|
|
227
|
+
## Accessing Navie Logs
|
|
228
|
+
|
|
229
|
+
### In VS Code
|
|
230
|
+
|
|
231
|
+
You can access the Navie logs in VS Code by opening the `Output` tab and selecting `AppMap Services` from the list of available output logs.
|
|
232
|
+
|
|
233
|
+
To open the Output window, on the menu bar, choose View > Output, or in Windows press `Ctrl+Shift+U` or in Mac use `Shift+Command+U`
|
|
234
|
+
|
|
235
|
+

|
|
236
|
+
|
|
237
|
+
Click on the output log dropdown in the right corner to view a list of all the available output logs.
|
|
238
|
+
|
|
239
|
+

|
|
240
|
+
|
|
241
|
+
Select on the `AppMap: Services` log to view the logs from Navie.
|
|
242
|
+
|
|
243
|
+

|
|
244
|
+
|
|
245
|
+
### In JetBrains
|
|
246
|
+
|
|
247
|
+
You can enable debug logging of Navie in your JetBrains code editor by first opening `Help` > `Diagnostic Tools` > `Debug Log Settings`.
|
|
248
|
+
|
|
249
|
+

|
|
250
|
+
|
|
251
|
+
In the `Custom Debug Log Configuration` enter `appland` to enable DEBUG level logging for the AppMap plugin.
|
|
252
|
+
|
|
253
|
+

|
|
254
|
+
|
|
255
|
+
Next, open `Help` > `Show Log...` will open the IDE log file.
|
|
256
|
+
|
|
257
|
+

|
|
258
|
+
|
|
259
|
+
## GitHub Repository
|
|
260
|
+
|
|
261
|
+
[https://github.com/getappmap/appmap](https://github.com/getappmap/appmap)
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: docs
|
|
3
|
+
title: Docs - Reference
|
|
4
|
+
description: "Learn how to use the AppMap Remote Recording API to start, stop, and save AppMap Data. AppMap agent handles requests on the same port as the app."
|
|
5
|
+
toc: false
|
|
6
|
+
reference: true
|
|
7
|
+
name: Remote recording API
|
|
8
|
+
step: 11
|
|
9
|
+
redirect_from: [/docs/reference/remote-recording]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Remote recording API <!-- omit in toc -->
|
|
13
|
+
|
|
14
|
+
- [Start a remote recording](#start-a-remote-recording)
|
|
15
|
+
- [Retrieve the current recording status](#retrieve-the-current-recording-status)
|
|
16
|
+
- [Stop a remote recording](#stop-a-remote-recording)
|
|
17
|
+
- [Save recorded AppMap Data to disk](#save-recorded-appmap-data-to-disk)
|
|
18
|
+
|
|
19
|
+
When an application is set up for AppMap recording, the AppMap agent injects itself into the web stack and handles the remote recording HTTP requests, accepting requests on the same port as the web interface of the application.
|
|
20
|
+
|
|
21
|
+
For example, if you deployed your application to a local Tomcat server listening on port 8080, call the remote recording endpoints at `http://localhost:8080/_appmap/*`
|
|
22
|
+
|
|
23
|
+
## Start a remote recording
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
POST /_appmap/record
|
|
27
|
+
```
|
|
28
|
+
{: .example-code}
|
|
29
|
+
|
|
30
|
+
No payload in the request is expected.
|
|
31
|
+
|
|
32
|
+
This endpoint returns `200` if a new recording session was started successfully or `409` if an existing recording session was already in progress. It returns an empty body in the response.
|
|
33
|
+
|
|
34
|
+
**curl example:**
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
curl -H 'Accept: application/json' -sXPOST http://localhost:8080/_appmap/record
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Retrieve the current recording status
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
GET /_appmap/record
|
|
44
|
+
```
|
|
45
|
+
{: .example-code}
|
|
46
|
+
|
|
47
|
+
No payload in the request is expected.
|
|
48
|
+
|
|
49
|
+
This endpoint returns status `200` .
|
|
50
|
+
|
|
51
|
+
AppMap recording status is returned in the response body, the "enabled" property is set to `true` when recording is in progress:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
Content-type: application/json
|
|
55
|
+
{
|
|
56
|
+
"enabled": boolean
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**curl example:**
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
curl -H 'Accept: application/json' -sXGET http://localhost:8080/_appmap/record
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Stop a remote recording
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
DELETE /_appmap/record
|
|
70
|
+
```
|
|
71
|
+
{: .example-code}
|
|
72
|
+
|
|
73
|
+
No payload in the request is expected.
|
|
74
|
+
|
|
75
|
+
This method returns `200` If an active recording session was stopped successfully, and the body contains AppMap JSON, or `404` If there was no active recording session to be stopped.
|
|
76
|
+
|
|
77
|
+
If successful, the recorded AppMap is returned in the response body.
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Content-type: application/json
|
|
81
|
+
{
|
|
82
|
+
"version": "1.x",
|
|
83
|
+
"metadata": {},
|
|
84
|
+
"classMap": [],
|
|
85
|
+
"events": [],
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**curl example:**
|
|
90
|
+
```
|
|
91
|
+
curl -H 'Accept: application/json' -sXDELETE http://localhost:8080/_appmap/record -o MyFirstAppMap.appmap.json
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Save recorded AppMap Data to disk
|
|
95
|
+
|
|
96
|
+
Save the returned payload to disk as an `.appmap.json` file. We recommend that the AppMap file be named after the recorded test and that additional metadata is added to the recorded AppMap prior to saving, such as the AppMap’s name or labels indicating the test outcome and framework. See the [AppMap specification](https://github.com/getappmap/appmap#appmap-data-specification) for details about AppMap metadata.
|
|
97
|
+
|