AppMap integrates with popular test frameworks, so you can automatically record an AppMap from each test case that you run.
Some characteristics of test case recording include:
For details on test case recording, see:
You can configure your application to record an AppMap of each HTTP server request.
Some characteristics of test case recording include:
For details on requests recording, see:
Remote recording enables you to create an AppMap while interacting directly with your app through the UI and/or API.
Some characteristics of remote recording include:
The steps for creating a remote recording are:
Start your application server with remote recording enabled:
Start the remote recording
There are several ways to start (and stop/finish) remote recording.
npx @appland/appmap@latest record remote
Note If you are having trouble connecting to your application to make a remote recording, try the CLI command. It provides step-by-step instructions with feedback at each step:
For some languages, the AppMap library provides a language-native function that you can use to record a specific span of code. For example, a Ruby block
, a Java Runnable, or a Python context manager (with
statement). This is a useful method when you need direct control over which code is recorded, when test cases are not avaliable, and when the application does not have a webserver and therefore can’t support remote recording. The method can be performed with a few lines of code, allows for programmatic control of the recording context, and does not require an upfront setup of functional or integration tests.
Some characteristics of remote recording include:
Full control over the recording Because the AppMap is made by your own code, you can inspect it, pre-process it, filter it, transform it, etc before it’s even written to the filesystem. You can even send it to other locations such as a remote storage system or HTTP endpoint.
Some AppMap agents provide the ability to record an entire process from start to finish. As long as you’ve configured it correctly, this is a sure-fire way to get an AppMap of your code.
Pros
Cons
Verbose The AppMap will contain all of the code that is executed during the process, there may be extraneous information that you have to filter out or ignore in order to find what you’re looking for.
Note For Ruby and Python, it’s recommended to use code block recording instead. You can record the entire process by injecting code block recording into the entry point of your application.