AppMap overview

Hi! Welcome to AppMap. 👋

What is AppMap?

AppMap is like “‘Google Maps for code”. AppMap “drives the back roads of your app”, collecting information about how it works. AppMap turns that information into interactive navigation of your software in your code editor and identifies key points of interest. The mapping feature shows you how functions, web services, data stores, security, I/O, and dependent services all work together when the app runs.

Getting started screenshot Fig.1 Using an AppMap in Visual Studio Code

AppMaps encompass both high-level code design views and detailed code path traces with linkage to source code.

With AppMaps, you can debug complex code design and data query issues, and ensure that your code is clean, aligned, and secure.

You use AppMaps right in your code editor, using an AppMap extension for your code editor. Like a compiler or linter, AppMap tools are assisting you continuously, as you code. You don’t have to push your code to a website or wait for centralized CI/CD runs to get feedback on your changes – you get it immediately.

AppMap is also a new kind of data platform about your code, and the code analysis and visualization platform is built on the data. You can use that data to accomplish tasks beyond what we list here, and we look forward to hearing how you are using AppMap data.

Happy AppMapping!

What is it for?

Here are a few examples of how to use AppMap visualization, data, and analysis tools.

Who uses AppMap?

Developers of any experience level can benefit from using AppMap:

  • Make better decisions about software design, because you can directly see the impact of your choices.
  • Solve hard problems faster, review code more effectively, and efficiently transfer their knowledge to colleagues.

Over 2,000 software developers already use the AppMap extension for VSCode and the AppMap for JetBrains!

Features

  • Code execution recording AppMap agent libraries record executing code and save the data as JSON files. Running test cases is the most common way to record AppMaps, but it’s not the only way. You can find additional examples of how to record AppMaps in the AppMap recording methods documentation.
  • Code visualization AppMap automatically displays the JSON data as interactive diagrams. Dependency maps and Trace diagrams let you navigate, zoom, and traverse code paths quickly. Learn more about How to use AppMap diagrams.
  • SQL query data AppMap records all SQL queries that your application makes. Whether a query is listed explicitly in the code, or automatically generated by an object-relational mapping (ORM) library, you can see exactly what’s happening between your code and the database. Learn more about How to use SQL in AppMaps
  • Web services data AppMap records all HTTP server requests that are handled by your application. The AppMap includes the request method, path, headers, parameters, and status code, so you can see exactly what message your application received, and how it responded. AppMap captures so much information about HTTP server requests that it can automatically generate a complete OpenAPI (aka Swagger) file for your application. Learn more about generating the OpenAPI description file.
  • Code labels You can apply labels to the most important functions in your code. You can quickly identify and locate the most important functions in each code path by searching for labels in AppMap diagrams. Labels are maintained right in the code base using annotations (Java and Python) or code comments (Ruby). Because labels are in the code, all developers can collaborate on labeling, and the code is always the source of truth for labels.
  • Custom analysis tools You can write code which processes AppMap JSON data directly, or use the higher-level functions provided by the appmap-js library to create custom diagrams, filters and rules.
  • Open source AppMap’s most killer feature. AppMap agent libraries and UI code are all available as MIT License open source. Learn about Open Source contributions and our community.

AppMap Cloud

AppMap Cloud is a repository for AppMaps. It enhances the power and performance of certain AppMap features, by providing a server-based API to store, index, and manage AppMaps. You can upload AppMaps to the Cloud to share them with colleagues and attach links to other apps, such as issue tracking and pull/merge requests. And it also provides role-based access control for your dev team or enterprise.

AppMap Cloud is located at https://app.land.

The AppMap Cloud is currently in an open preview, and free for use by individuals and teams. Contact us for information about commercial licensing and support. For Enterprises who require self-hosting, deployment options are available. Please contact us for more information.


Was this page helpful? thumb_up Yes thumb_down No
Thank you for your feedback!