@appland/appmap 3.143.0 → 3.145.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 +21 -0
- package/built/cmds/navie/help.js +6 -1
- package/built/cmds/navie/help.js.map +1 -1
- package/built/cmds/navie.js +9 -4
- package/built/cmds/navie.js.map +1 -1
- package/built/rpc/explain/navie/navie-local.js +14 -14
- package/built/rpc/explain/navie/navie-local.js.map +1 -1
- package/package.json +2 -2
- 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 +0 -27
- package/built/docs/appmap-docs.md +0 -27
- package/built/docs/community.md +0 -28
- package/built/docs/guides/exporting-appmap-diagrams.md +0 -50
- package/built/docs/guides/handling-large-appmap-diagrams.md +0 -138
- package/built/docs/guides/index.md +0 -21
- package/built/docs/guides/navigating-code-objects.md +0 -67
- package/built/docs/guides/openapi.md +0 -105
- package/built/docs/guides/reading-sql-in-appmap-diagrams.md +0 -69
- package/built/docs/guides/refine-appmap-data.md +0 -186
- package/built/docs/guides/reverse-engineering.md +0 -377
- package/built/docs/guides/runtime-code-review.md +0 -111
- package/built/docs/guides/using-appmap-analysis.md +0 -206
- package/built/docs/guides/using-appmap-diagrams.md +0 -331
- package/built/docs/integrations/atlassian-compass.md +0 -25
- package/built/docs/integrations/atlassian-confluence.md +0 -51
- package/built/docs/integrations/circle-ci.md +0 -424
- package/built/docs/integrations/docker.md +0 -109
- package/built/docs/integrations/github-actions.md +0 -524
- package/built/docs/integrations/index.md +0 -20
- package/built/docs/integrations/plantuml.md +0 -66
- package/built/docs/integrations/postman.md +0 -30
- package/built/docs/integrations/readme.md +0 -39
- package/built/docs/integrations/smartbear-swaggerhub.md +0 -119
- package/built/docs/reference/analysis-labels.md +0 -49
- package/built/docs/reference/analysis-rules.md +0 -61
- package/built/docs/reference/appmap-client-cli.md +0 -628
- package/built/docs/reference/appmap-gradle-plugin.md +0 -141
- package/built/docs/reference/appmap-java.md +0 -311
- package/built/docs/reference/appmap-maven-plugin.md +0 -164
- package/built/docs/reference/appmap-node.md +0 -185
- package/built/docs/reference/appmap-python.md +0 -520
- package/built/docs/reference/appmap-ruby.md +0 -514
- package/built/docs/reference/github-action.md +0 -171
- package/built/docs/reference/index.md +0 -25
- package/built/docs/reference/jetbrains.md +0 -136
- package/built/docs/reference/license-key-install.md +0 -74
- package/built/docs/reference/navie.md +0 -261
- package/built/docs/reference/remote-recording-api.md +0 -97
- package/built/docs/reference/uninstalling-appmap.md +0 -119
- package/built/docs/reference/vscode.md +0 -122
- package/built/docs/setup-appmap-in-ci/example-projects.md +0 -21
- package/built/docs/setup-appmap-in-ci/how-it-works.md +0 -43
- package/built/docs/setup-appmap-in-ci/in-circleci.md +0 -423
- package/built/docs/setup-appmap-in-ci/in-github-actions.md +0 -177
- package/built/docs/setup-appmap-in-ci/index.md +0 -22
- package/built/docs/setup-appmap-in-ci/matrix-builds.md +0 -225
- package/built/docs/setup-appmap-in-ci/troubleshooting.md +0 -71
- package/built/docs/setup-appmap-in-your-code-editor/add-appmap-to-your-code-editor.md +0 -93
- package/built/docs/setup-appmap-in-your-code-editor/appmap-analysis.md +0 -77
- package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-from-tests.md +0 -93
- package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-with-remote-recording.md +0 -112
- package/built/docs/setup-appmap-in-your-code-editor/generate-appmap-data-with-request-recording.md +0 -77
- package/built/docs/setup-appmap-in-your-code-editor/how-appmap-works.md +0 -166
- package/built/docs/setup-appmap-in-your-code-editor/index.md +0 -25
- package/built/docs/setup-appmap-in-your-code-editor/navigating-appmap-diagrams.md +0 -59
- package/built/docs/setup-appmap-in-your-code-editor/navigating-code-objects.md +0 -67
- package/built/docs/unused_for_now_index.html +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
# [@appland/appmap-v3.145.0](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.144.0...@appland/appmap-v3.145.0) (2024-05-20)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* Detect code editor in the 'navie' command ([61a94ee](https://github.com/getappmap/appmap-js/commit/61a94ee3784486d483714564d140e805d29e21bc))
|
|
7
|
+
* Fix typos ([03990fd](https://github.com/getappmap/appmap-js/commit/03990fd11d5041784e739900f3bc8447711939af))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* Add a URL to the beginning of each doc search result ([fde8d16](https://github.com/getappmap/appmap-js/commit/fde8d168af60e3dee6b08368eabc3f15ec398d18))
|
|
13
|
+
* Introduce Navie commands, including [@classify](https://github.com/classify) ([e76a3fc](https://github.com/getappmap/appmap-js/commit/e76a3fcaa825a1fe0bd8e0db5042e2ee38989a84))
|
|
14
|
+
|
|
15
|
+
# [@appland/appmap-v3.144.0](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.143.0...@appland/appmap-v3.144.0) (2024-05-19)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* Sync only high level docs ([5186e4e](https://github.com/getappmap/appmap-js/commit/5186e4e0c896324b808e5341878b02da6df41e3a))
|
|
21
|
+
|
|
1
22
|
# [@appland/appmap-v3.143.0](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.142.1...@appland/appmap-v3.143.0) (2024-05-17)
|
|
2
23
|
|
|
3
24
|
|
package/built/cmds/navie/help.js
CHANGED
|
@@ -36,12 +36,17 @@ class HelpIndex {
|
|
|
36
36
|
return this.idx
|
|
37
37
|
.search(keywords.join(' '))
|
|
38
38
|
.map((result) => {
|
|
39
|
-
|
|
39
|
+
let content = this.contentByRef.get(result.ref);
|
|
40
40
|
const [filePath, from, to] = unpackRef(result.ref);
|
|
41
41
|
if (!content) {
|
|
42
42
|
(0, console_1.warn)(`Could not find content for ${result.ref}`);
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
|
+
const filePathWithoutMdSuffix = filePath.replace(/\.md$/, '');
|
|
46
|
+
content = [
|
|
47
|
+
`<!-- Permalink: https://appmap.io/docs/${filePathWithoutMdSuffix} -->`,
|
|
48
|
+
content,
|
|
49
|
+
].join('\n');
|
|
45
50
|
return {
|
|
46
51
|
filePath,
|
|
47
52
|
from,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cmds/navie/help.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,uCAAuE;AACvE,qCAAoC;AACpC,0CAAuC;AACvC,2DAA+D;AAC/D,+BAA4B;AAC5B,2BAAgC;AAChC,oDAA4B;AAC5B,qCAA+B;AAE/B,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,qBAAqB,CAAC;KACnD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;KAClC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC,CAAC,CAAC;AAErB,QAAA,mBAAmB,GAAG,EAAE,CAAC;AAEtC,SAAgB,OAAO,CAAC,QAAgB,EAAE,IAAY,EAAE,EAAU;IAChE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAFD,0BAEC;AAED,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC;AAHD,8BAGC;AAOD,MAAa,SAAS;IACpB,YACU,GAAe,EACf,kBAA4C,EAC5C,YAAiC;QAFjC,QAAG,GAAH,GAAG,CAAY;QACf,uBAAkB,GAAlB,kBAAkB,CAA0B;QAC5C,iBAAY,GAAZ,YAAY,CAAqB;IACxC,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,QAAkB,EAAE,UAAU,GAAG,2BAAmB;QAC/D,OACE,IAAI,CAAC,GAAG;aACL,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cmds/navie/help.ts"],"names":[],"mappings":"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"}
|
package/built/cmds/navie.js
CHANGED
|
@@ -33,12 +33,12 @@ const promises_1 = require("node:fs/promises");
|
|
|
33
33
|
const consumers_1 = require("node:stream/consumers");
|
|
34
34
|
const chalk_1 = __importDefault(require("chalk"));
|
|
35
35
|
const client_1 = require("@appland/client");
|
|
36
|
-
const navie_1 = require("@appland/navie");
|
|
37
36
|
const handleWorkingDirectory_1 = require("../lib/handleWorkingDirectory");
|
|
38
37
|
const explain_1 = require("../rpc/explain/explain");
|
|
39
38
|
const navie_local_1 = __importDefault(require("../rpc/explain/navie/navie-local"));
|
|
40
39
|
const navie_remote_1 = __importDefault(require("../rpc/explain/navie/navie-remote"));
|
|
41
40
|
const aiEnvVar_1 = __importStar(require("./index/aiEnvVar"));
|
|
41
|
+
const detectCodeEditor_1 = __importDefault(require("../lib/detectCodeEditor"));
|
|
42
42
|
function commonNavieArgsBuilder(args) {
|
|
43
43
|
return args
|
|
44
44
|
.option('directory', {
|
|
@@ -65,8 +65,7 @@ function commonNavieArgsBuilder(args) {
|
|
|
65
65
|
array: true,
|
|
66
66
|
})
|
|
67
67
|
.option('agent-mode', {
|
|
68
|
-
describe: `
|
|
69
|
-
choices: Object.values(navie_1.Agents).map((agent) => agent.toLowerCase()),
|
|
68
|
+
describe: `This option is deprecated. Instead, start your question with @<command | agent>.`,
|
|
70
69
|
})
|
|
71
70
|
.option('code-editor', {
|
|
72
71
|
describe: 'Active code editor. This information is used to tune the @help responses. If unspecified, the code editor may be picked up from environment variables APPMAP_CODE_EDITOR, TERM_PROGRAM and TERMINAL_EMULATOR.',
|
|
@@ -175,9 +174,15 @@ async function handler(argv) {
|
|
|
175
174
|
})
|
|
176
175
|
.on('token', (token) => output.write(token));
|
|
177
176
|
}
|
|
177
|
+
let codeEditor = argv.codeEditor;
|
|
178
|
+
if (!codeEditor) {
|
|
179
|
+
codeEditor = (0, detectCodeEditor_1.default)();
|
|
180
|
+
if (codeEditor)
|
|
181
|
+
(0, node_console_1.warn)(`Detected code editor: ${codeEditor}`);
|
|
182
|
+
}
|
|
178
183
|
const question = await getQuestion(argv.input, argv.question);
|
|
179
184
|
const capturingProvider = (...args) => attachNavie(buildNavieProvider(argv)(...args));
|
|
180
|
-
await (0, explain_1.explainHandler)(capturingProvider,
|
|
185
|
+
await (0, explain_1.explainHandler)(capturingProvider, codeEditor).handler({ question });
|
|
181
186
|
}
|
|
182
187
|
exports.handler = handler;
|
|
183
188
|
function openOutput(outputPath) {
|
package/built/cmds/navie.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navie.js","sourceRoot":"","sources":["../../src/cmds/navie.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAoC;AACpC,qCAA4C;AAC5C,+CAA4C;AAE5C,qDAA6C;AAE7C,kDAA0B;AAG1B,4CAAoD;
|
|
1
|
+
{"version":3,"file":"navie.js","sourceRoot":"","sources":["../../src/cmds/navie.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,17 +66,17 @@ class LocalHistory {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
const OPTION_SETTERS = {
|
|
69
|
-
tokenLimit: (
|
|
70
|
-
|
|
69
|
+
tokenLimit: (navieOptions, value) => {
|
|
70
|
+
navieOptions.tokenLimit = typeof value === 'string' ? parseInt(value, 10) : value;
|
|
71
71
|
},
|
|
72
|
-
temperature: (
|
|
73
|
-
|
|
72
|
+
temperature: (navieOptions, value) => {
|
|
73
|
+
navieOptions.temperature = typeof value === 'string' ? parseFloat(value) : value;
|
|
74
74
|
},
|
|
75
|
-
modelName: (
|
|
76
|
-
|
|
75
|
+
modelName: (navieOptions, value) => {
|
|
76
|
+
navieOptions.modelName = String(value);
|
|
77
77
|
},
|
|
78
|
-
explainMode: (
|
|
79
|
-
|
|
78
|
+
explainMode: () => {
|
|
79
|
+
(0, console_1.warn)(`Option 'explainMode' is deprecated and will be ignored`);
|
|
80
80
|
},
|
|
81
81
|
};
|
|
82
82
|
class LocalNavie extends events_1.default {
|
|
@@ -87,7 +87,7 @@ class LocalNavie extends events_1.default {
|
|
|
87
87
|
this.projectInfoProvider = projectInfoProvider;
|
|
88
88
|
this.helpProvider = helpProvider;
|
|
89
89
|
_LocalNavie_instances.add(this);
|
|
90
|
-
this.
|
|
90
|
+
this.navieOptions = new navie_1.Navie.NavieOptions();
|
|
91
91
|
_LocalNavie_skipTelemetry.set(this, !telemetry_1.default.enabled);
|
|
92
92
|
if (threadId) {
|
|
93
93
|
(0, console_1.log)(`[local-navie] Continuing thread ${threadId}`);
|
|
@@ -103,7 +103,7 @@ class LocalNavie extends events_1.default {
|
|
|
103
103
|
setOption(key, value) {
|
|
104
104
|
const setter = OPTION_SETTERS[key];
|
|
105
105
|
if (setter) {
|
|
106
|
-
setter(this.
|
|
106
|
+
setter(this.navieOptions, value);
|
|
107
107
|
}
|
|
108
108
|
else {
|
|
109
109
|
throw new Error(`LocalNavie does not support option '${key}'`);
|
|
@@ -121,11 +121,11 @@ class LocalNavie extends events_1.default {
|
|
|
121
121
|
};
|
|
122
122
|
const history = await this.history.restoreMessages();
|
|
123
123
|
this.history.saveMessage({ content: question, role: 'user' });
|
|
124
|
-
const
|
|
125
|
-
|
|
124
|
+
const navieFn = (0, navie_1.navie)(clientRequest, this.contextProvider, this.projectInfoProvider, this.helpProvider, this.navieOptions, history);
|
|
125
|
+
navieFn.on('event', (event) => this.emit('event', event));
|
|
126
126
|
const response = new Array();
|
|
127
127
|
try {
|
|
128
|
-
for (var _d = true, _e = __asyncValues(
|
|
128
|
+
for (var _d = true, _e = __asyncValues(navieFn.execute()), _f; _f = await _e.next(), _a = _f.done, !_a;) {
|
|
129
129
|
_c = _f.value;
|
|
130
130
|
_d = false;
|
|
131
131
|
try {
|
|
@@ -156,7 +156,7 @@ _LocalNavie_skipTelemetry = new WeakMap(), _LocalNavie_instances = new WeakSet()
|
|
|
156
156
|
telemetry_1.default.sendEvent({
|
|
157
157
|
name: 'navie-local',
|
|
158
158
|
properties: {
|
|
159
|
-
modelName: this.
|
|
159
|
+
modelName: this.navieOptions.modelName,
|
|
160
160
|
azureVersion: process.env.AZURE_OPENAI_API_VERSION,
|
|
161
161
|
},
|
|
162
162
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navie-local.js","sourceRoot":"","sources":["../../../../src/rpc/explain/navie/navie-local.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"navie-local.js","sourceRoot":"","sources":["../../../../src/rpc/explain/navie/navie-local.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/appmap",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.145.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/cli.js",
|
|
6
6
|
"engines": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"build": "tsc && yarn build:html && yarn build:doc",
|
|
23
23
|
"watch": "tsc --watch",
|
|
24
24
|
"build:html": "ts-node esbuild.html.ts",
|
|
25
|
-
"build:doc": "rsync -av --
|
|
25
|
+
"build:doc": "cd ../../docs && rsync -av --include='appmap-overview.md' --include='navie/***' --include='diagrams/***' --include='get-started-with-appmap/***' --exclude='*' --delete . ../packages/cli/built/docs",
|
|
26
26
|
"start": "ts-node src/cli.ts",
|
|
27
27
|
"build-native": "yarn build && ./bin/build-native"
|
|
28
28
|
},
|
|
Binary file
|
|
Binary file
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<title>AppMap | {{ page.title }}</title>
|
|
6
|
-
</head>
|
|
7
|
-
<!-- Layout: default -->
|
|
8
|
-
<body>
|
|
9
|
-
<script>
|
|
10
|
-
(function () {
|
|
11
|
-
// https://stackoverflow.com/a/21198129
|
|
12
|
-
var hash = window.location.hash.substring(1);
|
|
13
|
-
let newLocation = '/docs/reference/analysis-rules';
|
|
14
|
-
if (hash) {
|
|
15
|
-
newLocation += '#' + hash;
|
|
16
|
-
}
|
|
17
|
-
window.location = newLocation;
|
|
18
|
-
})();
|
|
19
|
-
</script>
|
|
20
|
-
<p>
|
|
21
|
-
You're being redirected to the new home of this content:
|
|
22
|
-
</p>
|
|
23
|
-
<p>
|
|
24
|
-
<a href="https://docs.appland.com/docs/reference/analysis-rules.html">https://docs.appland.com/docs/reference/analysis-rules.html</a>
|
|
25
|
-
</p>
|
|
26
|
-
</body>
|
|
27
|
-
</html>
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
layout: docs
|
|
3
|
-
toc: true
|
|
4
|
-
title: Docs - AppMap Docs
|
|
5
|
-
description: "Explore AppMap, and AppMap Navie AI, an open-source code analysis and AI assistant that capturing code execution traces as interactive diagrams and powers runtime context for AI code generation."
|
|
6
|
-
redirect_from: [/docs, /docs/faq, /docs/appmap-overview]
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
# AppMap Docs
|
|
10
|
-
|
|
11
|
-
AppMap is a developer tools platform powered by runtime analysis and AI. It's composed of three components:
|
|
12
|
-
|
|
13
|
-
* Navie - AI code architect.
|
|
14
|
-
* AppMap data - Runtime traces of your application runtime.
|
|
15
|
-
* AppMap diagrams - Interactive visualizations of AppMap data.
|
|
16
|
-
|
|
17
|
-
By using AppMap data, Navie is the first AI code architect with the context to understand how your app works when it runs, like a principal engineer or software architect. AppMap data provides Navie with accurate information about application behavior, APIs, database queries, and more, providing valuable context so you can ask more challenging questions and get better answers.
|
|
18
|
-
|
|
19
|
-
Over 90,000 software developers are using the [AppMap extension for VSCode](https://marketplace.visualstudio.com/items?itemName=appland.appmap) and the [AppMap plugin for JetBrains](https://plugins.jetbrains.com/plugin/16701-appmap).
|
|
20
|
-
|
|
21
|
-
<a class="btn btn-primary btn-lg" href="/docs/get-started-with-appmap/">Get Started with AppMap</a>
|
|
22
|
-
|
|
23
|
-
{% include docs/app_framework_logos.html %}
|
|
24
|
-
|
|
25
|
-

|
|
26
|
-
_AppMap dependency map in Visual Studio Code_
|
|
27
|
-
|
package/built/docs/community.md
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
layout: docs
|
|
3
|
-
toc: true
|
|
4
|
-
title: Docs - Community
|
|
5
|
-
description: "Join AppMap's vibrant community on Slack for discussions, issue reporting, and become a contributor."
|
|
6
|
-
redirect_from: [/docs/troubleshooting]
|
|
7
|
-
---
|
|
8
|
-
# Community
|
|
9
|
-
|
|
10
|
-
## Forum
|
|
11
|
-
[AppMap Slack](https://appmap.io/slack) is the best place for discussing AppMap with team members and community users. Ask questions about installation and setup of AppMap agents, get expert advice about the recording strategies for your applications, and share your AppMap Diagrams with people who code in your language.
|
|
12
|
-
|
|
13
|
-
## Reporting problems
|
|
14
|
-
[Join us on Slack](https://appmap.io/slack) and share your findings with us, or visit the [GitHub repositories](https://github.com/getappmap) and submit tickets there.
|
|
15
|
-
|
|
16
|
-
## Open source
|
|
17
|
-
AppMap is an open source platform, a suite of projects shared and built with our valued community. We would like to encourage you to join our talented team of contributors and help us build a rapidly growing set of tools that are transforming the way developers and teams are building and maintaining their applications.
|
|
18
|
-
|
|
19
|
-
### Become a contributor
|
|
20
|
-
- [Join us on Slack](https://appmap.io/slack) and discuss the best assignment to start with
|
|
21
|
-
- You can browse the list of issues in each repo and look for tickets tagged with [“good first issue”](https://github.com/getappmap/vscode-appland/labels/good%20first%20issue)
|
|
22
|
-
- Accept the [CLA](/docs/CLA%20Instructions.pdf)
|
|
23
|
-
- Review and observe our [Code of Conduct](/docs/Code%20of%20Conduct%20for%20Contributors.pdf)
|
|
24
|
-
- Develop and have fun with us
|
|
25
|
-
|
|
26
|
-
### Projects
|
|
27
|
-
- [AppMap framework](https://github.com/getappmap/appmap)
|
|
28
|
-
- [AppMap client agents and code editor plugins](https://github.com/getappmap)
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
layout: docs
|
|
3
|
-
title: Docs - Guides
|
|
4
|
-
description: "Learn how to export your AppMap Diagrams into raw JSON format, SVG formats, and into 3rd party documentation tools like Confluence"
|
|
5
|
-
guides: true
|
|
6
|
-
name: Exporting AppMap Diagrams
|
|
7
|
-
step: 4
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Exporting AppMap Diagrams <!-- omit in toc -->
|
|
11
|
-
|
|
12
|
-
After generating AppMap Data, you can view this data inside your Code Editor. But you may also want to share this data with other members of your team. This document will describe the options available for exporting AppMap Diagrams.
|
|
13
|
-
|
|
14
|
-
- [Export to JSON](#export-to-json)
|
|
15
|
-
- [Export to SVG (Sequence Diagrams Only)](#export-to-svg-sequence-diagrams-only)
|
|
16
|
-
- [Export to Atlassian Confluence](#export-to-atlassian-confluence)
|
|
17
|
-
|
|
18
|
-
## Export to JSON
|
|
19
|
-
|
|
20
|
-
The AppMap Diagram is a visual representation of the AppMap Data generated from your application. It is based on the open source [AppMap Data Specification](https://github.com/getappmap/appmap). You can export your AppMap Data into this raw data format to share with other users. When a user opens this `json` file in a code editor with the AppMap plugin installed, it will be rendered into the AppMap Visualizations.
|
|
21
|
-
|
|
22
|
-
To export your AppMap Data into `json` , open your AppMap Diagram, and select the `Export` icon in the upper right corner of the AppMap.
|
|
23
|
-
|
|
24
|
-

|
|
25
|
-
|
|
26
|
-
Select the `JSON` option for export. This will open your local system's file explorer to the file containing the raw AppMap data.
|
|
27
|
-
|
|
28
|
-
## Export to SVG (Sequence Diagrams Only)
|
|
29
|
-
|
|
30
|
-
SVG (Scalable Vector Graphics) is an XML-based vector image format for defining two-dimensional graphics. AppMap utilizes this format to export Sequence Diagrams of your AppMap Diagram which can be viewed inside of any modern web browser.
|
|
31
|
-
|
|
32
|
-
To export your Sequence Diagram into SVG, open your AppMap Diagram, and select the `Export` icon in the upper right corner of the AppMap.
|
|
33
|
-
|
|
34
|
-

|
|
35
|
-
|
|
36
|
-
Select the `SVG` option for export. This will convert your AppMap Sequence Diagram into an SVG file and open it as a new file within your code editor.
|
|
37
|
-
|
|
38
|
-

|
|
39
|
-
|
|
40
|
-
Save the open file with an `.svg` extension and then open it in a web browser to view your AppMap Sequence Diagram.
|
|
41
|
-
|
|
42
|
-

|
|
43
|
-
|
|
44
|
-
## Export to Atlassian Confluence
|
|
45
|
-
|
|
46
|
-
AppMap integrates with [Confluence](https://www.atlassian.com/software/confluence), the popular corporate wiki developed by the Atlassian.
|
|
47
|
-
|
|
48
|
-
Confluence facilitates robust documentation and knowledge sharing. AppMap automatically generates interactive software diagrams from run-time data, ensuring an accurate and up-to-date understanding of code architecture and behavior. This integration leverages the strengths of both platforms enabling teams to better understand, document, and collaborate on their software projects.
|
|
49
|
-
|
|
50
|
-
Refer to the [AppMap Confluence integration docs](/docs/integrations/atlassian-confluence) to learn how to configure the AppMap Confluence App to support adding interactive AppMap Diagrams to Confluence documents.
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
layout: docs
|
|
3
|
-
title: Docs - Guides
|
|
4
|
-
description: "Learn how to manage large AppMap Diagrams effectively. Discover tips to handle AppMap Data over 10 MB and 200 MB in size, focusing on optimizing AppMap Data for better interpretation and performance."
|
|
5
|
-
guides: true
|
|
6
|
-
name: Handling Large AppMap Diagrams
|
|
7
|
-
step: 4
|
|
8
|
-
redirect_from: [/docs/reference/handling-large-appmaps, /docs/guides/handling-large-appmaps]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Handling Large AppMap Diagrams <!-- omit in toc -->
|
|
12
|
-
|
|
13
|
-
Some AppMap Diagrams contain too much data and can be difficult to review. Often, these diagrams have many repetitive function calls that add a lot of data to the file, but don't add much value when interpreting the AppMap. Large AppMap Diagrams are a potential indication that you should change how you're recording by filtering out less valuable information. For example, you could exclude some calls to logging functions, or record fewer endpoints when manually recording.
|
|
14
|
-
|
|
15
|
-
- [AppMap Diagrams Over 10 MB](#appmap-diagrams-over-10-mb)
|
|
16
|
-
- [AppMap Diagrams Over 200 MB](#appmap-diagrams-over-200-mb)
|
|
17
|
-
- [Handle Large AppMap Diagrams in the CLI](#handle-large-appmap-diagrams-in-the-cli)
|
|
18
|
-
- [Video Tutorial](#video-tutorial)
|
|
19
|
-
|
|
20
|
-
## AppMap Diagrams Over 10 MB
|
|
21
|
-
|
|
22
|
-
When you attempt to open an AppMap in a code editor extension that is over 10 MB, it will be automatically pruned down to ~10 MB. The most frequently called functions will be removed until the file is below 10 MB in size. (Don't worry, the file will remain untouched because the pruning is done in memory). You will see notifications within the AppMap informing you that it has been pruned, and the pruned functions will be highlighted in the Stats panel:
|
|
23
|
-
|
|
24
|
-

|
|
25
|
-
|
|
26
|
-
The automatic pruning might be sufficient, but if you want more control over what events are removed, you have two options:
|
|
27
|
-
|
|
28
|
-
1. [Use the `prune` CLI command to remove events from an existing AppMap](/docs/reference/appmap-client-cli.html#prune)
|
|
29
|
-
2. Change the configuration of your `appmap.yml` to exclude certain events when an AppMap is generated
|
|
30
|
-
* [Configure exclusions in a Ruby project](/docs/reference/appmap-ruby.html#configuration)
|
|
31
|
-
* [Configure exclusions in a Java project](/docs/reference/appmap-java.html#configuration)
|
|
32
|
-
* [Configure exclusions in a Python project](/docs/reference/appmap-python.html#configuration)
|
|
33
|
-
* [Configure exclusions in a Node.js project](/docs/reference/appmap-node.html#configuration)
|
|
34
|
-
|
|
35
|
-
## AppMap Diagrams Over 200 MB
|
|
36
|
-
|
|
37
|
-
When an AppMap Diagram is over 200 MB, we will **not** open it in the code editor extension because it could cause performance issues on your computer. Instead, we generate statistics about your AppMap and open the Stats panel. Use this information to configure your `appmap.yml` to exclude these functions (see below). The next time that you generate your AppMap, it will be smaller because it will not contain the specified functions:
|
|
38
|
-
|
|
39
|
-

|
|
40
|
-
|
|
41
|
-
* [Configure exclusions in a Ruby project](/docs/reference/appmap-ruby.html#configuration)
|
|
42
|
-
* [Configure exclusions in a Java project](/docs/reference/appmap-java.html#configuration)
|
|
43
|
-
* [Configure exclusions in a Python project](/docs/reference/appmap-python.html#configuration)
|
|
44
|
-
* [Configure exclusions in a Node.js project](/docs/reference/appmap-node.html#configuration)
|
|
45
|
-
|
|
46
|
-
We do not recommend using the `prune` CLI command for AppMap Diagrams over 200 MB, because it loads the entire AppMap into memory, which may cause performance issues for your computer.
|
|
47
|
-
|
|
48
|
-
## Handle Large AppMap Diagrams in the CLI
|
|
49
|
-
|
|
50
|
-
For some AppMap Diagrams that are extraordinarily large, you may notice issues opening them in your code editor.
|
|
51
|
-
In this scenario, you can use the AppMap CLI to analyze the statistics of the offending AppMap if you are unable to see the
|
|
52
|
-
statistics in your code editor.
|
|
53
|
-
|
|
54
|
-
You can then use the details from the `stats` command on the large AppMap to properly exclude functions that are noisy and may not provide any
|
|
55
|
-
useful insights (for example getters and setters).
|
|
56
|
-
|
|
57
|
-
Here's how it works.
|
|
58
|
-
|
|
59
|
-
In this example, we have a specific test in our Python Django application that is generating a very large (over 1GB) AppMap.
|
|
60
|
-
We'll use the AppMap CLI to get information about the nosiest functions that we can exclude from a future AppMap recording.
|
|
61
|
-
|
|
62
|
-

|
|
63
|
-
|
|
64
|
-
First, you'll need to ensure you have the AppMap CLI binaries installed on your machine.
|
|
65
|
-
If you have already installed the AppMap code editor plugin for JetBrains or VS Code, the binaries will already exist
|
|
66
|
-
in your `$HOME/.appmap/bin` directory.
|
|
67
|
-
|
|
68
|
-
Otherwise, you can download the latest version of AppMap binaries on [GitHub following this guide.](/docs/reference/appmap-client-cli.html#install-appmap-cli-precompiled-binary)
|
|
69
|
-
|
|
70
|
-
With your binary installed. We'll run the following command to analyze the large AppMap to identify noisy functions to exclude.
|
|
71
|
-
|
|
72
|
-
For more details about how the AppMap CLI works and the stats command, refer to the [AppMap reference guide.](/docs/reference/appmap-client-cli.html#stats)
|
|
73
|
-
|
|
74
|
-
In our command below, we'll run the stats command pointing to the directory where the AppMap lives,
|
|
75
|
-
and the name of the appmap (the file extension `.appmap.json` can be optionally added or omitted).
|
|
76
|
-
|
|
77
|
-
```console
|
|
78
|
-
$ appmap stats <directory containing AppMap Data> --appmap-file <name of the AppMap Data file>
|
|
79
|
-
```
|
|
80
|
-
{: .example-code}
|
|
81
|
-
|
|
82
|
-
For example:
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
$ appmap stats tmp/appmap/pytest --appmap-file tests_integration_catalogue_test_category_TestMovingACategory_test_fix_tree.appmap.json
|
|
86
|
-
Analyzing AppMap: tmp/appmap/pytest/tests_integration_catalogue_test_category_TestMovingACategory_test_fix_tree.appmap.json
|
|
87
|
-
|
|
88
|
-
1. function:oscar/apps/catalogue/abstract_models/AbstractCategory#get_ancestors_and_self
|
|
89
|
-
count: 1526529
|
|
90
|
-
estimated size: 572.2 MB
|
|
91
|
-
|
|
92
|
-
2. function:oscar/apps/catalogue/abstract_models/AbstractCategory.fix_tree
|
|
93
|
-
count: 1
|
|
94
|
-
estimated size: 583.0 bytes
|
|
95
|
-
|
|
96
|
-
3. function:oscar/apps/catalogue/abstract_models/AbstractCategory#set_ancestors_are_public
|
|
97
|
-
count: 1
|
|
98
|
-
estimated size: 368.0 bytes
|
|
99
|
-
```
|
|
100
|
-
{: .example-code}
|
|
101
|
-
|
|
102
|
-
In our example the `get_ancestors_and_self` function in the `AbstractCategory` class is
|
|
103
|
-
the single largest offender and the main cause of the large appmap.
|
|
104
|
-
|
|
105
|
-
We will now add an exclusion for this function in our `appmap.yml` configuration file.
|
|
106
|
-
|
|
107
|
-
To learn how to add an exclusion to your project refer to the documentation below.
|
|
108
|
-
|
|
109
|
-
* [Configure exclusions in a Ruby project](/docs/reference/appmap-ruby.html#configuration)
|
|
110
|
-
* [Configure exclusions in a Java project](/docs/reference/appmap-java.html#configuration)
|
|
111
|
-
* [Configure exclusions in a Python project](/docs/reference/appmap-python.html#configuration)
|
|
112
|
-
* [Configure exclusions in a Node.js project](/docs/reference/appmap-node.html#configuration)
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
In this example we'll exclude the `apps.catalogue.abstract_models.AbstractCategory.get_ancestors_and_self` function from
|
|
116
|
-
our main `oscar` python package.
|
|
117
|
-
|
|
118
|
-
My updated `appmap.yml` now looks like this:
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
appmap_dir: tmp/appmap
|
|
122
|
-
language: python
|
|
123
|
-
name: django-oscar
|
|
124
|
-
packages:
|
|
125
|
-
- path: sandbox
|
|
126
|
-
- path: oscar
|
|
127
|
-
exclude:
|
|
128
|
-
- apps.catalogue.abstract_models.AbstractCategory.get_ancestors_and_self
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
Now if I run my tests again, this noisy function will no longer be included within the AppMap and the size of the file will
|
|
132
|
-
be significantly reduced.
|
|
133
|
-
|
|
134
|
-

|
|
135
|
-
|
|
136
|
-
### Video Tutorial
|
|
137
|
-
|
|
138
|
-
{% include vimeo.html id='931215155' %}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
layout: docs
|
|
3
|
-
title: Docs - How-To Guides
|
|
4
|
-
description: "Learn how to leverage AppMap effectively with guides on handling large AppMap Diagrams, reading SQL, refining, generating OpenAPI, reverse engineering, and more."
|
|
5
|
-
step: 1
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# How-To Guides
|
|
9
|
-
|
|
10
|
-
These guide contain in-depth information on how to use AppMap for different use cases and scenarios.
|
|
11
|
-
|
|
12
|
-
- [Using AppMap Diagrams](/docs/guides/using-appmap-diagrams)
|
|
13
|
-
- [Navigating Code Objects](/docs/guides/navigating-code-objects)
|
|
14
|
-
- [Exporting AppMap Diagrams](/docs/guides/exporting-appmap-diagrams)
|
|
15
|
-
- [Handling Large AppMap Diagrams](/docs/guides/handling-large-appmap-diagrams)
|
|
16
|
-
- [Reading SQL in AppMap Diagrams](/docs/guides/reading-sql-in-appmap-diagrams)
|
|
17
|
-
- [Refining AppMap Data](/docs/guides/refine-appmap-data)
|
|
18
|
-
- [Generating OpenAPI Definitions](/docs/guides/openapi)
|
|
19
|
-
- [Using AppMap Analysis](/docs/guides/using-appmap-analysis)
|
|
20
|
-
- [Reverse Engineering with AppMap](/docs/guides/reverse-engineering)
|
|
21
|
-
- [Understanding the Runtime Code Review Report](/docs/guides/runtime-code-review)
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
layout: docs
|
|
3
|
-
title: Docs - Guides
|
|
4
|
-
description: "Explore AppMap's Code Objects view to navigate code functions, HTTP requests, and SQL queries across all AppMap Diagrams."
|
|
5
|
-
guides: true
|
|
6
|
-
name: Navigating Code Objects
|
|
7
|
-
step: 3
|
|
8
|
-
redirect_from: [/docs/your-first-15-minutes-with-appmap/navigating-code-objects, /docs/setup-appmap-in-your-code-editor/navigating-code-objects]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Navigating Code Objects
|
|
12
|
-
{% include vimeo.html id='916048582' %}
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
**In this video**
|
|
17
|
-
Dive into the Code objects view, a high level view of code functions, HTTP requests, and SQL queries across the entire set of your AppMap Diagrams and learn how to locate and navigate to an AppMap from code reference pins on your code functions.
|
|
18
|
-
|
|
19
|
-
**Links mentioned**
|
|
20
|
-
[Rails Sample Application](https://github.com/land-of-apps/sample_app_6th_ed/tree/codespaces-devcontainer)
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
## Follow along
|
|
24
|
-
|
|
25
|
-
Welcome to AppMap, In this tutorial we will be diving into advanced navigation of AppMap Diagrams - the Code Objects view. We’ll answer the question, “What if I have a lot of AppMap Diagrams and I don’t know where exactly to look?”
|
|
26
|
-
|
|
27
|
-
In this view, we collect all the different code functions and HTTP server requests and SQL queries all into one list. Every request, query, and function call that occurs anywhere in the whole set of AppMap Diagrams will be in this list.
|
|
28
|
-
|
|
29
|
-
## Code Objects View
|
|
30
|
-
|
|
31
|
-
There are three sections to the Code Objects view. The first section is the Code view, this will show packages, classes, and functions, it will show the framework code as well as my code, essentially everything present within your AppMap Diagrams. We can click on a function to navigate directly to the code. In this example, I’ll navigate to my Application controllers, and view the Microposts controller. This will take me directly to the code for this function. This is a great way to see more comprehensively what you have across your code base.
|
|
32
|
-
|
|
33
|
-
<img class="video-screenshot" src="/assets/img/docs/first-fifteen-minutes/code-objects-view.webp"/>
|
|
34
|
-
|
|
35
|
-
## HTTP Routes List
|
|
36
|
-
|
|
37
|
-
In the HTTP Service request list, you can see basically a mini spec file showing you what routes are available across all of your AppMap Diagrams.
|
|
38
|
-
|
|
39
|
-
If this route only exists in a single AppMap, you’ll be taken directly to the AppMap for this request, but if the route exists in multiple diagrams you’ll get a VScode picker to choose which one to open.
|
|
40
|
-
|
|
41
|
-
Here is this route, and here it is shown in a trace view, and you’ll see the status code for that is 302 which is a redirect.
|
|
42
|
-
|
|
43
|
-
<img class="video-screenshot" src="/assets/img/docs/first-fifteen-minutes/code-objects-trace-view.webp"/>
|
|
44
|
-
|
|
45
|
-
## SQL Query List
|
|
46
|
-
|
|
47
|
-
The final section of Code Objects is a list of all the SQL queries across your AppMap Diagrams. Just like before, if you click into it and it is unique across your AppMap set then you’ll be sent directly to the AppMap or the quick picker will prompt you to open one.
|
|
48
|
-
|
|
49
|
-
The code view is a handy way to navigate your code base, similar to the file view you’d get in VS Code except this code view will only show the code that participated in your test case recordings or remote recordings.
|
|
50
|
-
|
|
51
|
-
But it’s more common to simply be navigating within the code itself. So what if you want to get to the AppMap Diagram from within the code?
|
|
52
|
-
|
|
53
|
-
## Opening AppMap Diagrams from code object names
|
|
54
|
-
|
|
55
|
-
The command “Open code object in AppMap” can be used to find and open all the AppMap Diagrams that contain a particular code object (package, class, or function name).
|
|
56
|
-
|
|
57
|
-
<img class="video-screenshot" src="/assets/img/docs/first-fifteen-minutes/code-object-command-palette.webp"/>
|
|
58
|
-
|
|
59
|
-
To get here in VS Code open the command palette.
|
|
60
|
-
|
|
61
|
-
On Mac:
|
|
62
|
-
`Shift + Command + P`
|
|
63
|
-
|
|
64
|
-
On Windows/Linux:
|
|
65
|
-
`Ctrl + Shift + P`
|
|
66
|
-
|
|
67
|
-
I can then search for the `UsersController#show` function - if it's in a single AppMap I’ll get taken directly to that AppMap. If it exists in more than one you’ll get the quick picker to choose which one you want.
|