AppMap is an open-source runtime code analysis tool.
AppMap records code execution traces, collecting information about how your code works and what it does. Then it presents this information as interactive diagrams that you can search and navigate. In the diagrams, you can see exactly how functions, web services, data stores, security, I/O, and dependent services all work together when application code runs.
You use AppMap Data right in your code editor, using an AppMap extension or plugin. AppMap Data also link directly to code, so you can use the information in the diagrams to make immediate code changes and improvements.
Over 85,000 software developers are using the AppMap extension for VSCode and the AppMap plugin for JetBrains.
AppMap dependency map in Visual Studio Code
AppMap works best with web application and API frameworks, such as Rails, Django, Flask, Express, and Spring. That’s because AppMap has specialized features for mapping web services, routing, view templates, HTTP client requests, caching, authentication, and SQL. You can map any kind of project that’s written in a supported language, but it’s when you map a database-backed web application or API service that you’ll see the full power of AppMap.
AppMap works equally well with small and large projects - monoliths and microservices. And by large, we mean large. AppMap has been used successfully on code bases with 10 million lines of code. For a project that large, AppMap is a truly game-changing way to understand what the code is doing, from the front-end templates and web services, through the classes and functions, through SQL and HTTP client requests, and back.
Help new developers get oriented by creating a library of key AppMap Diagrams
If you’re an expert on a code base, you can create AppMap Data that will help other developers to learn how the code works, ramp up quickly, and contribute. Start collecting AppMap Data of key flows into a project Wiki or README. Then, when you get questions about the code base, you can direct developers there to get “self-service” code onboarding help from these diagrams.
Use AppMap Data to add context to bug reports and other code issues
If you find a bug or security flaw, you can record AppMap Data and attach it to the code issue/ticket. The AppMap Data will be a massive help to the developer who takes on the task of finding and fixing the bug. Developers, security testers, and QA people can all help make bug fixing easier by recording and submitting AppMap Data to the dev team.
Use AppMap Data to learn new-to-you code
If you’re new to a code base, you can ask a code expert to provide you with AppMap Diagrams that will orient you to the work you’ve been asked to do. The code expert can direct you to a Wiki or README that has AppMap Diagrams of key flows. Or, the code expert can make you a custom AppMap Diagram - and then you can return the favor by contributing the AppMap Diagram to the project Wiki or README, along with some of your own thoughts about how to use it.