# mulesoft API Visualizer - Full Documentation --- product: API Visualizer --- # Anypoint Visualizer Release Notes > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Anypoint Visualizer provides an interactive, graphical representation of your application network. The following pages contain new features and enhancements, known limitations, issues, and fixes for Anypoint Visualizer. - [Anypoint Visualizer Release Notes - 2022 and Later](https://docs.mulesoft.com/release-notes/visualizer/anypoint-visualizer-release-notes-2022) - [Anypoint Visualizer Release Notes - 2020](https://docs.mulesoft.com/release-notes/visualizer/anypoint-visualizer-release-notes-2020) - [Anypoint Visualizer Release Notes - 2019](https://docs.mulesoft.com/release-notes/visualizer/anypoint-visualizer-release-notes-2019) - [Anypoint Visualizer Release Notes - 2018](https://docs.mulesoft.com/release-notes/visualizer/anypoint-visualizer-release-notes-2018) See [Anypoint Visualizer](https://docs.mulesoft.com/visualizer/) documentation for more information. ## See Also - [Known Issues](https://help.salesforce.com/s/issues) --- product: API Visualizer --- # API Visualizer Architecture Visualization > For the full documentation index, see: https://docs.mulesoft.com/llms.txt The Architecture visualization shows the topology of your application network. Use it to document and share your network structure without exposing metrics. You can change display names, add tags, and assign nodes to layers directly in the canvas. ## Access API Visualizer 1. Sign in to Anypoint Platform using an account that has the Visualizer Editor permission. 2. Select **API Visualizer** from **Management Center**. ## View Information About One Service in Your Network When you select a node within the canvas, the node and its dependency stack are highlighted and all unconnected nodes are unavailable. API Visualizer displays information about the node in a card. This card is divided into the following tabs: - **Details** Provides information about the node. - **Customization** Provides information about the layer to which the node is assigned and the tags assigned to the node. You can [edit the node’s display name](https://docs.mulesoft.com/visualizer/customize-your-canvas#display-name) or [change the layer](https://docs.mulesoft.com/visualizer/layers#set-a-layer-ui) and [tags](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer#set-tag-ui) from this section. ## Filter Your View When you select a node (service) that has dependents and dependencies, you have the option to also select all nodes related to the service you selected. If the node you select does not have dependents and dependencies, this option is not offered. You can hide nodes through what you select in the canvas: - To hide a single node, select it, and then click **Hide selected service**. - To hide multiple nodes, multiselect them, and then click **Hide selected services**. - To hide all of the services other than the selected nodes, click **Hide other services**. If you want to hide everything that is not related to a given dependency stack, select a node and then click **Select dependents and dependencies**, which selects all nodes related to the service which you selected. Then, click **Hide other services**. You can search for a node (service) in the **Search services** text field. Services containing your search in any part of their name are highlighted, while others fade. ## Export Your Network View You can export the view of your network showing on your canvas to a PNG file by clicking the **Export as Image** button next to the zoom controls in the bottom right. If you customized your view, the customized network topology is exported. ## See More - [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view) - [Using Tags in API Visualizer](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer) - [Using Layers in API Visualizer](https://docs.mulesoft.com/visualizer/layers) --- product: API Visualizer --- # API Visualizer Overview > For the full documentation index, see: https://docs.mulesoft.com/llms.txt API Visualizer (formerly Anypoint Visualizer) gives you a real-time, graphical view of your entire application network, including APIs, Mule applications, and the third-party systems they invoke. The graph updates automatically and requires no prior configuration. Use it to explore dependencies, assess architecture, troubleshoot performance issues, and verify that APIs comply with your organization’s policies. This image shows a typical application network in API Visualizer. ![Application network visualization](/mulesoft/current/en-us/visualizer/_images/application-network.png) The connections between nodes are based on traffic between applications or APIs that occurred in the last seven days. If an application appears in multiple workers, the application appears as two distinct nodes in the graph. API Visualizer collects data from Mule applications, APIs, and proxies deployed to CloudHub; from standalone Mule runtime engines (Mule instances); or from Runtime Fabric, to discover all incoming and outgoing connections through an embedded plugin. As long as the application, API, or proxy is running on a supported Mule instance, it’s discovered along with any associated dependencies. See [How API Visualizer Collects Application Data](https://docs.mulesoft.com/visualizer/manage-performance) for more information about how API Visualizer collects data displayed in the graph. Understanding these dependencies helps you make better decisions, especially when you overlay data about these apps onto the network diagram. The visualizations tailored for Architecture, Troubleshooting, and Policies help you understand this data in the context of your application network. From API Visualizer, you can inspect performance metrics or policy information, define views, arrange applications in layers, and customize the labels displayed for nodes and connections. For more information, see [Customize the Canvas](https://docs.mulesoft.com/visualizer/customize-your-canvas). ## Use Cases API Visualizer supports several common use cases. - Discussing the Current Design State Enterprise architect Kara developed a plan for how the architecture she’s responsible for will accommodate a new product. She needs to capture its current state so she can plan the transition and get buy-in from stakeholders on her proposal. She uses the Architecture visualization to assess the structure of her network and export a diagram to share with her audience. - Implementing API-Led Connectivity Site reliability engineer Tom is tired of maintaining several separate connections to Salesforce. He wants to identify redundant point-to-point connections so he can come up with requirements for a new process API. Tom views the network topology using the Architecture visualization to see if there are redundant connections. - Exploring the Application Network API Visualizer provides a real-time view of the application network. Architects and product owners can see how the application network evolves, explore the application network to discover and plan how to unlock data, and break down siloed systems, all while knowing that the visualization is always up-to-date. They can use the Architecture visualization to plan how to connect systems more efficiently. - Defining API-Led Connectivity Classifications API Visualizer enables you to assign the nodes of the graph to layers. Layers help you quickly determine if the APIs are correctly categorized, and if the architectural principles of API-led connectivity are being followed. The Architecture visualization enables you to organize the nodes efficiently so that API-led connectivity is easy to interpret. - Accelerating Time-to-Production Architect Kara sees how projects are built from the development environment, throughout testing, staging, and production phases. Kara reviews the architecture as the code is deployed and raises any concerns to make sure that best practices and agreed-upon architecture are followed without waiting for the documentation to be generated. Using the Architecture visualization, Kara monitors the deployment and organization of assets in real time. Using the Policy visualization, she makes sure all APIs are compliant with InfoSec rules before promoting a project to production. - Resolving Production Issues Faster API Visualizer enables you to understand the behavior of all your APIs and their dependencies in a single view, which reduces the time needed to pinpoint the root cause of an error or understand the performance impact of a particular API on your clients. The Troubleshooting visualization provides insight into performance issues, enabling you to identify errors and quickly navigate to information provided by Anypoint Monitoring. - Ensuring Policy Compliance Lead API Architect Ayesha needs to understand which APIs comply or don’t comply with policies mandated by InfoSec. With the Policy visualization, she selects a set of policies, sees which APIs have none, one, or all of these policies applied, and verifies adherence to company standards before promoting an API or project to production. ## API Visualizer Features by Control Plane API Visualizer feature availability depends on the control plane of your Anypoint Platform instance. Data isn’t shared across separate instances. All API Visualizer features are available on [US Cloud](https://anypoint.mulesoft.com/), [EU Cloud](https://eu1.anypoint.mulesoft.com/), Government Cloud, and Private Cloud (3.x). This table shows feature availability for Hyperforce clouds.
API Visualizer FeatureAmericasEuropeAsia Pacific

US Cloud

Canada Cloud

EU Cloud

United Kingdom Cloud

Japan Cloud

India Cloud

Australia Cloud

Architecture

Available

Available

Available

Available

Available

Available

Available

Policies

Available

Available

Available

Available

Available

Available

Available

Troubleshooting

Available

Planned

Available

Planned

Planned

Planned

Planned

For more information about MuleSoft Government Cloud and Anypoint Platform Private Cloud Edition (Anypoint Platform PCE), see [Control Plane Hosting Options](https://docs.mulesoft.com/hosting-home/#control-plane-hosting-options). ### See Also - [Set up API Visualizer](https://docs.mulesoft.com/visualizer/setup) - [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view) --- product: API Visualizer --- # CloudHub Setup in API Visualizer > For the full documentation index, see: https://docs.mulesoft.com/llms.txt API Visualizer only includes activity from applications deployed to a supported version of Mule runtime engine (Mule). When deploying a Mule app or API, make sure that you are using a supported version of Mule as the deployment target. > [!NOTE] If your version of Mule was released before June 30th 2018, to ensure you have the correct > API Visualizer agent, upgrade your version of Mule to any of the supported versions listed in this > section. You can do this update with zero downtime for CloudHub applications, APIs, and proxies. > These versions are listed in Runtime Manager > Runtime Version. Expand the Show old patch releases > section in the runtime versions drop-down. ## Verify Supported Mule Runtime Engine (Mule) Versions for Metrics The metrics that API Visualizer displays come from Anypoint Monitoring. As a result, metrics are shown in API Visualizer only for applications running on Mule versions that are also supported for Anypoint Monitoring. To see your app, its connections, and the related metrics in API Visualizer, enable the Anypoint Monitoring agent after you upgrade. > [!NOTE] If you currently have Anypoint Monitoring enabled for applications running on 4.x-AM, > app-level monitoring continues to work for those apps. However, metrics at the connection level do > not appear. Update your applications to run on non-AM Mule versions for better functionality and > the latest patch updates as soon as they are available. ## Enable the Monitoring Agent For your app to appear in API Visualizer and for metrics to be displayed, manually enable the Anypoint Monitoring agent for the following Mule versions: - Mule Version 4.1 patch releases available after March 22, 2019 - Mule Version 4.2 To enable the Anypoint Monitoring agent: 1. Log in to Anypoint Platform using an account that has the Anypoint Monitoring User permission. 2. In the navigation bar or the main Anypoint Platform screen, click **Monitoring**. 3. In the Anypoint Monitoring navigation menu, click **Settings**. 4. Select **CloudHub**. 5. From the **Environment** drop-down list, choose an environment. 6. In **List of resources in **, search for an app to visualize. 7. Next to the app, click **Enable & Apply** to enable visualization and monitoring for the app. For more information about Anypoint Monitoring, see [Enable Monitoring Using the UI](https://docs.mulesoft.com/monitoring/configure-monitoring-cloudhub). ## Verify Supported Mule Versions for Policies The APIs and policies that API Visualizer displays in the Policy visualization come from an update to the agent in Mule runtime engine (Mule). As a result, API Visualizer shows policies only for apps running on supported Mule versions released on December 12, 2019 or later. ## Manage Performance and Data Collection The agent that API Visualizer uses to collect metadata sometimes has a performance impact. For more information about data collection and performance, see [Manage Performance and Data Collection](https://docs.mulesoft.com/visualizer/manage-performance). --- product: API Visualizer --- # Customize the API Visualizer Canvas > For the full documentation index, see: https://docs.mulesoft.com/llms.txt You can choose what appears in your API Visualizer canvas by applying filters for environments, tags, and services. This enables you to hide the nodes that you do not want to see in the application graph. Filters have a cascading design, so all nodes that don’t belong to the checked environments or tags are automatically hidden from the list of services. You can toggle **Show dependents and dependencies** to see the services and dependencies of the nodes and services which have the selected tags. The **View** card and the canvas are updated to display the current selection. Users who have the Visualizer Editor permission can save defined views so that any API Visualizer user can access them. When you close API Visualizer and reload the canvas later, the views you last accessed are displayed. You can customize layers, tags, and display names in the Architecture visualization UI or by setting a runtime property. If you are using a Mule runtime patch that was released after December 12, 2019, you can use all unicode characters with UTF-8 encoding (such as international letters, symbols, and numbers). > [!NOTE] You can’t customize layers, tags, and display names using the runtime properties in > Runtime Manager Canada and Japan control plane deployments. ## Layers You can use one of the default layers provided by API Visualizer, or add a custom layer to create a visual representation of the apps in your network. You can use layers across API Visualizer, but note that you can only define layers in the [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization). To automate the classification of nodes into layers, configure the property `anypoint.platform.visualizer.layer=`. For more information, see [Using Layers in API Visualizer](https://docs.mulesoft.com/visualizer/layers). ## Tags You can add tags to API, application, proxy, or other services, so you can use the tags as filters to adjust your view. You can use tags across API Visualizer, but note that you can only define tags in the [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization). To automate adding tags to a node, use the property `anypoint.platform.visualizer.tags=, `. For more information, see [Using Tags in API Visualizer](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer). ## Display Name You can edit the display name of a service to provide a more readable, explanatory title. You can use display names across API Visualizer, but note that you can define display names only in the [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization). To automate adding a display name to the node, configure the property `anypoint.platform.visualizer.displayName=`. --- product: API Visualizer --- # Defining a View in API Visualizer > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Users with the **Visualizer Editor** permission can create auto-discoverable views that provide a single source of truth and are accessible to their team members across environments. Views display your saved filter selection, including: - Selected environments - Selected tags - Selected nodes in the list of services - New services deployed that match the selected environments and tags - If the **Show dependents and dependencies** option is selected and the a service is deployed and related to a selected service Views that you have access to appear in a list in the **View** card (click the drop-down arrow to see the list). This gives you easy access to all the views that are available to you, and saves you time because no readjusting of filters is needed every time you access API Visualizer to get the view that is relevant to you. ## Defined Views If you have the Visualizer Editor permission, you can create views that provide a consistent and high-quality source of truth for the architecture of each of your organization’s projects. Any API Visualizer user who has permission for the included environments can see these auto-discoverable views in a drop-down list in the **View** card. Only editors can create, rename, and edit defined views. These views provide team members with a topological view of the apps that are specific to the areas they are responsible for. Providing a dynamic view for team members ensures their ability to troubleshoot their projects more quickly and easily, and promotes architectural consistency. ## Create a Defined View Only users with the Visualizer Editor permission can create defined views. 1. In the top navigation bar, on the right of the view name, click the drop-down arrow. 2. Click **+New**. 3. In the **New view** dialog, enter a **Name** for the view, and click **Save**. 4. Configure the view by selecting which environments, [tags](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer), and services to include. 5. Hide the nodes which you have selected in the canvas using the **Hide selected services** option. 6. Hide the services other than the nodes which you have selected using the **Hide other services** option. 7. Click **Save**. You can also create a new view by selecting **Save as** from the drop-down menu to save your current filter selection updates as a new view and preserve the original view. > [!NOTE] When you save a view, it saves both your **Production** and **Sandbox** configurations. Once you save the view, it becomes accessible to other users, meaning that any user who has access to the apps in the environment sees the view in their list of views. ## Edit a View Users can make changes to their private view’s filters, and save them. However, only users with the Visualizer Editor permission can edit defined views. 1. Make the changes to the current filters. An asterisk appears next to the view name until you click **Save** in the **View** card. 2. Click **Save**. 3. (Visualizer editor only) Click **Save as** to save your updates as a new view and preserve the original view. ![visualizer save as new view](/mulesoft/current/en-us/visualizer/_images/visualizer-save-as-new-view.png) ## Rename a View Users can rename their private view, but only users with Visualizer Editor permission can rename defined views. 1. Click the drop-down arrow next to **Save**, and click **Rename**. ![visualizer rename view](/mulesoft/current/en-us/visualizer/_images/visualizer-rename-view.png) 2. In the **Rename view** dialog, enter a new **Name**, and click **Save**. ## Share a View Sharing a defined view is automatic in the sense that when a new view is created and saved, it is visible in the view list of users who have access to the environment and apps in the view. You can also click **Copy Sharing URL** from the drop-down arrow next to **Save** and send it to the user with whom you want to share the view. ![visualizer share view](/mulesoft/current/en-us/visualizer/_images/visualizer-share-view.png) ## Delete a View Only users with the Visualizer Editor permission can delete views. 1. Click the drop-down arrow next to **Save**, and select **Delete**. 2. Click **Delete** again. ## Private View When you access API Visualizer for the first time, your private view is displayed. Each subsequent time you access API Visualizer, you are returned to the view you last accessed. Your private view includes defined views, providing a complete picture of the projects to which you have access. In your private view, you can: - Edit and save which apps are included in your private view - Rename your private view - Discard changes you made to your private view - Export your private view as a PNG file You can’t delete a private view. --- product: API Visualizer --- # Managing Performance and Data Collection > For the full documentation index, see: https://docs.mulesoft.com/llms.txt API Visualizer collects runtime information from running applications, APIs, and proxies to detect all of its dependencies. The information collected includes IP address and URL (without parameters) of the incoming request, as well as URL (without parameters), and some header values of outgoing requests. This information is encrypted and stored in a database.
MetadataDescription

node_info

General information about the node.

org_id

The organization where the node is deployed.

ip

The IP address of the node.

type

Specifies whether the node is an API or Mule application.

deployment_id

An internal ID that specifies the hash of the application or API.

app_name

The name of the application.

url

The fully qualified domain of the application.

The agent that API Visualizer uses to collect metadata may have a performance impact. ## Reduce Potential Performance Impact for CloudHub To reduce any potential performance impact for an application running in CloudHub, you can disable data collection and the Anypoint Monitoring agent. ### Disable Data Collection in CloudHub If you’re using this Mule version, you can disable data collection by setting an application property: - Mule Version 4 Released Before March 22, 2019 1. Set the application property `anypoint.platform.config.visualizer.agent.enabled=false`. 2. Redeploy the application. ### Disable the Anypoint Monitoring agent in CloudHub If you’re using this Mule version, you can disable the Anypoint Monitoring agent: - Mule Version 4 Released on March 22, 2019 or Later 1. Log in to Anypoint Platform using an account that has the Anypoint Monitoring User permission. 2. In the navigation bar or the main Anypoint Platform screen, click **API Visualizer**. 3. Click **Settings**. 4. Select **CloudHub**. 5. From the **Environment** drop-down list, choose an environment. 6. In **List of resources in **, search for an application whose metrics you want to see. 7. Next to application, click **Disable & Apply** to disable monitoring for the application. ## Reduce Potential Performance Impact for Standalone Mule API Visualizer requires an additional header injection to work for standalone Mule deployments. To disable the additional header injection, set the following property: anypoint.platform.config.analytics.agent.header\_injection.disabled=true Additionally, to reduce potential performance impact for applications running in a standalone instance of Mule, you can do one of the following: - Deploy the application to a server without the Anypoint Monitoring agent installed. - Disable data collection for a specific server. To disable data collection for a server and all the applications deployed to that server, set the following property at the server level (not the application level): anypoint.platform.config.analytics.agent.disabled=true > [!NOTE] This disables monitoring for applications on the server as well. ## Reduce Potential Performance Impact for Runtime Fabric API Visualizer requires an additional header injection to work for Runtime Fabric deployments. To disable the additional header injection, set the following property: anypoint.platform.config.analytics.agent.header\_injection.disabled=true --- product: API Visualizer --- # Runtime Fabric Setup > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Follow the instructions for [setting up Runtime Fabric](https://docs.mulesoft.com/runtime-fabric/latest/setting-up-runtime-fabric). After you install Runtime Fabric, API Visualizer can display applications that are running and deployed to Runtime Fabric. API Visualizer relies on a header injection to display connections between services correctly. ## Enable Header Injection API Visualizer requires an additional header injection for Anypoint Runtime Fabric deployments. However, due to potential performance impact, header injection is disabled by default in Mule version 4.x released before April 7, 2020. For Runtime Fabric, enable the header injection at the app level: 1. Navigate to the **Properties** tab and take one of the following actions: - If you have already deployed apps to Runtime Fabric: 1. Click **Applications** in the menu on the left of Runtime Manager. 2. Select the app for which to enable the header injection, and click **Manage Application**. - If you are deploying an app for the first time, navigate to the deployment page and click **Deploy application**. 2. In the **Properties** tab, set the following property in the app: `anypoint.platform.config.analytics.agent.header_injection.disabled=false` Additionally, use version 1.5.12 or later of the HTTP Connector in your Mule 4 applications. ## Verify Supported Mule Runtime Engine (Mule) Versions for Policies The APIs and policies that API Visualizer displays in the Policy visualization come from an update to the agent in Mule runtime engine (Mule). As a result, API Visualizer shows policies only for apps running on supported Mule versions released on December 12, 2019 or later. ## Known Limitations - If a Mule 4 CloudHub app calls a Runtime Fabric ingress endpoint, there will be and extra edge from the CloudHub app to a node with the IP address for the controller. You can use your filters within API Visualizer to hide this node. - If a Runtime Fabric Mule app calls a Mule 4 CloudHub Mule app using its DNS, the correct connection is drawn, but there will be an additional edge from the External Traffic node to the CloudHub app. - If you have an app in two different clusters with the same name, these applications are drawn as one node on the canvas. Rename one app. - In the Troubleshooting visualization, **View Logs** and **View Dashboard** links are not currently supported. ## Manage Performance and Data Collection The agent that API Visualizer uses to collect metadata sometimes has a performance impact. For more information about data collection and performance, see [Managing Performance and Data Collection](https://docs.mulesoft.com/visualizer/manage-performance). --- product: API Visualizer --- # Set up API Visualizer > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Configure the roles and permissions required to use API Visualizer and understand what to consider when deploying applications. ## Configure Permissions To view content in API Visualizer, be assigned a role that has one of the following permissions: - **Runtime Manager > Read Applications** Enables a user to view the graph of an app network, but does not allow them to make changes. - **API Manager > View Policies or Manage Policies** Enables a user to view the APIs linked to their Mule applications and the policies applied to those APIs. Only relevant for the Policy Visualization. - **Visualizer > Visualizer Editor** Enables a user to manage and customize certain aspects of the visualization of an application network. You can create a [custom role](https://docs.mulesoft.com/access-management/roles#custom-roles) and assign the Visualizer Editor permission to it. > [!NOTE] The **Visualizer Editor** permission can be assigned only within the root organization. ## Select a Deployment Type API Visualizer supports the following deployment types: - [CloudHub](https://docs.mulesoft.com/visualizer/cloudhub-setup) - [Standalone Mule](https://docs.mulesoft.com/visualizer/standalone-mule-setup) - [Runtime Fabric](https://docs.mulesoft.com/visualizer/runtime-fabric-setup) The set up process and supported Mule runtimes differ depending on deployment type. Further details are included in each section. ## Deploy an App When you deploy an app you want to view in API Visualizer, make sure that you select a supported version of Mule as the deployment target. See [Runtime Manager](https://docs.mulesoft.com/runtime-manager/) for more information. After redeploying an app, all metadata collected by API Visualizer is removed for that app. The number of inbound connections for the app node is reset. ## Verify Supported Connectors API Visualizer can monitor activity for outbound connections for these connectors: - Salesforce - HTTP/HTTPS - Database - Mule 4 Extension Connectors ### Manage Performance and Data Collection The agent that API Visualizer uses to collect metadata sometimes has a performance impact. For more information about data collection and performance, see [Managing Performance and Data Collection](https://docs.mulesoft.com/visualizer/manage-performance). --- product: API Visualizer --- # Standalone Mule Setup > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Set up API Visualizer for standalone Mule by installing the Anypoint Monitoring agent, ensuring supported Mule versions, and enabling header injection so connections render correctly. Configure server properties as required, use the correct HTTP Connector version, and review performance guidance for data collection to balance visibility and overhead. ## Install Agent To support API Visualizer for standalone Mule deployments, install the [Anypoint Monitoring agent](https://docs.mulesoft.com/monitoring/am-installing). > [!NOTE] The APIs and policies that API Visualizer displays in the Policy visualization come from > an update to the agent. As a result, policies are shown in API Visualizer only if your deployments > use an agent from December 19, 2019 or later. ## Enable Header Injection API Visualizer requires header injection for standalone Mule deployments so that the deployments display the correct connections. However, due to a potential performance impact, header injection is disabled by default for Mule version 4.x with Anypoint Monitoring Agent released before April 6, 2020. Enable header injection at the server (not app) level. This affects all applications running on the server. 1. To enable header injection for apps deployed to a standalone Mule instance, click **Server** in the menu on the left of **Runtime Manager**. 2. Select the server for which to enable header injection and click **Manage Server**. 3. Click the Properties tab and set the following property in the server: `anypoint.platform.config.analytics.agent.header_injection.disabled=false` Set the property to `false`, as shown in the example to enable header injection, because the property is disabled by default. Additionally, use version 1.5.12 or later of the HTTP Connector in your Mule 4 applications. ### Manage Performance and Data Collection The agent that API Visualizer uses to collect metadata sometimes has a performance impact. For more information about data collection and performance, see [Managing Performance and Data Collection](https://docs.mulesoft.com/visualizer/manage-performance). --- product: API Visualizer --- # Supported Connection-Level Metrics in API Visualizer > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Connection-level metrics, or _edge metrics_, are available for many of your connections in the API Visualizer canvas. Depending on your deployment type (CloudHub, standalone Mule, or Runtime Fabric), some inbound or outbound metrics do not appear at the connection level. You can use this guide to determine why metrics are absent from your canvas. Metric is Not Available Connections appear if there has been traffic between those services in the past 7 days. If there was no traffic for a particular edge in the time range selected on the **Metric** card, however, metrics will not appear on that edge. This message might appear in the card: `Inbound/Outbound metrics are not available for this connection. Learn more.` > [!NOTE] You may also see the same message if you are using a dedicated load balancer. See below. Metric is Not Applicable If support for a type of metric on a connection level is listed as _not applicable_, API Visualizer does not have access to the data associated with this connection type. For example, you have selected inbound average response time and have a Mule app calling Salesforce. This metric refers to the average time that Salesforce took to respond to the inbound call. This is not data that API Visualizer currently registers. In this case, the following message appears: `Inbound/Outbound metrics are not applicable for this type of connection.` ## CloudHub The following connection types and directions support or do not support connection-level metrics, depending on the specified requirements and restrictions.
Connection TypeSupportedRequirements and Restrictions

Inbound Metrics

Client App Group to a Mule App

Yes

None

External Traffic to a Mule App

Yes

None

Mule App to a Mule App

Yes

If there has not been traffic in the selected time range, the following message appears: Inbound metrics are not available for this connection. Learn more.

Mule App to a Non-Mule Node

Not applicable

None

Outbound Metrics

Client App Group to a Mule App

Not applicable

None

External Traffic to a Mule App

Not applicable

None

Mule App to a Mule App

Yes

  • Outbound metrics on a connection are available only if the destination app is using one of these Mule versions. If not, the following message appears:

Outbound metrics are not available for this connection. Update the runtime version of the destination Mule app.

  • If the dedicated load balancer (DLB) modifies the URL, then metrics are not available for any of the connections passing through the DLB and the following message appears:

Outbound metrics are not available for this connection. Learn more.

Mule App to a Non-Mule Node

Yes

None

## Standalone Mule The following connection types and directions support or do not support connection-level metrics, depending on the specified requirements and restrictions.
Connection TypeSupportedRequirements and Restrictions

Inbound Metrics

Client App Group to a Mule App

Yes

None

External Traffic to a Mule App

Yes

If there is a connection from external traffic to a Mule app and also a connection from a Mule app using Mule 4.x to the same app, then the Mule-app-to-Mule-app edge metric does not appear; rather, it is averaged into the value shown on the edge from external traffic.

Mule App to a Mule App

Yes

If there has not been traffic in the selected time range, the following message appears: Inbound metrics are not available for this connection. Learn more.

Mule App to a Non-Mule Node

Not applicable

None

Outbound Metrics

Client App Group to a Mule App

Not applicable

None

External Traffic to a Mule App

Not applicable

None

Mule App to a Mule App

Yes

If the dedicated load balancer (DLB) modifies the URL, then metrics are not available for any of the connections passing through the DLB and the following message appears:

Outbound metrics are not available for this connection. Learn more.

This message also appears if there has not been traffic in the selected time range.

Mule App to a Non-Mule Node

Yes

None

## Runtime Fabric The following connection types and directions support or do not support connection-level metrics, depending on the specified requirements and restrictions.
Connection TypeSupportedRequirements and Restrictions

Inbound Metrics

Client App Group to a Mule App

Yes

None

External Traffic to a Mule App

Yes

None

Mule App to a Mule App

Yes

If there has not been traffic in the selected time range, the following message appears: Inbound metrics are not available for this connection. Learn more.

Mule App to a Non-Mule Node

Not applicable

None

Outbound Metrics

Client App Group to a Mule App

Not applicable

None

External Traffic to a Mule App

Not applicable

None

Mule App to a Mule App

Yes

If the dedicated load balancer (DLB) modifies the URL, then metrics are not available for any of the connections passing through the DLB and the following message appears:

Outbound metrics are not available for this connection. Learn more.

This message also appears if there has not been traffic in the selected time range.

Mule App to a Non-Mule Node

Yes

None

--- product: API Visualizer --- # Troubleshooting API Visualizer > For the full documentation index, see: https://docs.mulesoft.com/llms.txt If you encounter an error or an issue while using API Visualizer, you can try these solutions. ## Why are no applications loading?
Error MessageCauseSolution

You don’t have access to any ${environment_type} environments. You can request access from your org admin.

Either the organization or business group does not have the specified environment configured, or you do not have the necessary permissions.

Learn more about role permissions or request the CloudHub Network Viewer permission in Anypoint Runtime Manager from your org administrator.

There are no services to show in the selected environments. Update the applications' runtime versions so they can appear in API Visualizer.

API Visualizer currently supports only applications deployed to CloudHub and standalone Mule runtime engines (Mule) with specific runtimes.

If you know that you have applications deployed in a supported environment, but are not seeing them in the API Visualizer canvas, update your applications to use the supported Mule version. View a list of supported Mule runtime engines.

Apps aren’t appearing (and you aren’t getting a specific error message).

API Visualizer only supports specific Mule versions (runtimes).

If you are not seeing some of your applications in the API Visualizer canvas or in the services list, check your filters. If the filters are not the issue, update your applications to use a different supported Mule version for the applications to appear on the canvas. If you have upgraded to a version of Mule 4 that was released after March 22, 2019, enable monitoring before the applications and metrics can appear.

## Why can’t I see metrics for my applications?
Error MessageCauseSolution

You cannot view metrics because you do not have Anypoint Monitoring for this account. Learn more

While all users have access at no additional cost to API Visualizer and Anypoint Monitoring, your account is first enabled.

File a support ticket or contact your Customer Success representative and ask for your account to be enabled.

Metrics aren’t available for this app. Update the runtime version.

The application is not using a Mule version that supports Anypoint Monitoring metrics.

For CloudHub applications, use an -AM Mule to support Anypoint Monitoring, or upgrade to a Mule 4 version available after March 22, 2019, and then enable the Monitoring agent. View a list of supported Mule versions.

## Why can’t I see metrics for my connections? Metrics at the connection level are only available for certain types of connections. For more information on edge metrics compatibility, see [Supported Connection-Level Metrics](https://docs.mulesoft.com/visualizer/connection-metrics-compatibility). ## I seem to have permissions issues
Error MessageCauseSolution

You don’t have permissions to edit this node. Learn more.

You need the Visualizer Editor permission to edit in API Visualizer.

Learn more about the different permissions in API Visualizer and how to configure custom roles.

Metrics are hidden for this app because you don’t have the Runtime Manager "Read Application" permission for its environment. Learn more.

You have selected an application that belongs to an environment for which you do not have the Read Application permission. The node is showing only because it is a dependency of another node.

Learn more about configuring permissions.

You cannot customize this service because you don’t have the Runtime Manager "Read Application" permission for its environment.

The node you selected belongs to an environment for which you do not have the Read Application permission. This node is displayed only because it is a dependency of another node.

Learn more about configuring permissions.

## Limitations ### Why can’t I see the source of traffic from Anypoint Connector for Database (Database Connector)? When you use Database Connector, API Visualizer does not indicate the type of database, such as Postgres or Oracle, from which the traffic originates. Additionally, API Visualizer cannot differentiate between instances of a database. ### Why do some Mule apps and APIs deployed on premises show incorrect or incomplete metrics and connection information? Apps and APIs that are associated with a Mule domain appear in the API Visualizer application network, but metrics and connection information related to these apps and APIs might be inaccurate. ### Why don’t I see metadata from an HTTP requester? To avoid high graph cardinality, API Visualizer does not show outbound traffic to IP addresses or localhost. ### Why don’t I see edges on the canvas for my hybrid apps? Visualizer uses the host header and port number to identify a Mule app when generating edges. In a hybrid deployment, if multiple Mule apps have the same host header and port number, Visualizer can’t identify which Mule app is the caller and can’t draw the edge. ## See Also - [Known Issues](https://help.salesforce.com/s/issues) --- product: API Visualizer --- # Troubleshooting App Visualization > For the full documentation index, see: https://docs.mulesoft.com/llms.txt The Troubleshooting visualization shows you the current and past health of your Mule apps. It enables you to quickly visualize where your network is slow, receiving heavy traffic, or failing. From this visualization, you can drill down directly into Anypoint Monitoring dashboards or logs to continue to troubleshoot the performance of your systems. > [!NOTE] The Troubleshooting visualization isn’t available on Canada and Japan control plane > deployments. ## Choosing Your Metric On the **Monitoring** tab, select options in the **Metric** card to show metrics for all the nodes in your application network. For applicable metrics, these values also appear on the connection, or _edge_. In the **Metrics** section, you can select one from these metrics: - **Avg response time** - **Avg throughput** - **Failure rate** - **Avg CPU utilization** - **Avg memory utilization** For the selected time range, _failure rate_ is equal to the total number of failures divided by the total number of requests. For average response time, average throughput, and failure rate, you can select **Inbound** or **Outbound** metrics. If you select inbound, the value that appears on the application is the weighted average of that particular metric for all inbound connections to that node. If you select outbound, the value is the weighted average of that metric for all outbound connections. In the **Time Range** section, you can select the time window used to calculate the average values of the selected metric. ### Metrics Notation To avoid long numbers, API Visualizer uses unit prefixes to simplify your view:

Avg throughput

66.7m TPM

66.7 milli transactions per minute

0.0667 TPM

[Here is a quick review of metric prefixes](https://en.wikipedia.org/wiki/Metric_prefix). ## View Metrics for One Service in Your Network When you select a node within the graph, the node and its dependency stack are highlighted and all unconnected nodes are unavailable. API Visualizer displays information about the node in a card. This card is divided into the following tabs: The **Details** tab contains the **Details** section, which provides information about the node. The **Monitoring** tab contains: Metrics summary Provides monitoring metrics for the selected node, including average response time, average throughput, failure rate, average CPU utilization, and average memory utilization. This shows either inbound or outbound values for average response time, average throughput, and failure rate, depending on what you’ve selected in the **Metric** card. Metrics chart Shows the time-series chart of the selected metric in the **Metric** card. Within the **Monitoring** tab, you can also select **View logs** or **View dashboard** to navigate to the associated logs or dashboard in Anypoint Monitoring. > [!NOTE] The **View logs** and **View dashboard** buttons aren’t available for apps that are > deployed to CloudHub 2.0. ## View Metrics for a Connection in Your Network If the selected metric is compatible, the canvas also displays metrics on the connections, or _edges_. When you select a connection within the graph, API Visualizer displays the edge’s metrics details in a card. For more information about which connections support this feature, see [Supported Connection-Level Metrics](https://docs.mulesoft.com/visualizer/connection-metrics-compatibility). > [!NOTE] Edges displayed between services are active, meaning that there has been traffic in the > past seven days. Nonactive app edges do not appear on the canvas. ## Filtering your View When you select a node, you can click **Select dependents and dependencies**, which selects all nodes related to the service you selected. If a single node is selected and does not have any dependents or dependencies, this option is hidden. You can hide nodes through what you select in the canvas. - To hide a single node, select it, and then click **Hide selected service**. - To hide multiple nodes, multiselect them, and then click **Hide selected services**. - To hide all of the services other than the selected nodes, you can click **Hide other services**. If you want to hide everything that is not related to a given dependency stack, select a node and then click **Select dependents and dependencies**, which selects all nodes related to the service which you selected. Then, click **Hide other services**. You can search for a node (service) in the **Search services** text field. Services containing your search in any part of their name are highlighted, while others fade. ## Export Your Network View You can export the view of your network showing on your canvas to a PNG file by clicking the **Export as Image** button next to the zoom controls in the bottom right. - If you customized your view with filters, the customized network topology is exported. - If you selected metrics or durations, these settings are reflected in the export. ## See Also - [Known Issues](https://help.salesforce.com/s/issues) --- product: API Visualizer --- # Use-Case Specific Visualizations > For the full documentation index, see: https://docs.mulesoft.com/llms.txt Use API Visualizer to view a graph of your application network. The _base unit_ is a Mule application that is deployed and running on a supported instance of Mule. To maximize visualization readability, consumer nodes (nodes that have only outbound connections) are shown at the top. Backend systems (nodes that have only inbound connections) are shown at the bottom. When the `ClientId` category is detected for a consumer node, the nodes are grouped by `ClientId`; otherwise, they are grouped under the **External Traffic** node. The target specified by `application/API/proxy` must have the `ClientId` enforcement policy to detect the `ClientId` value. For usability purposes, client app names replace `ClientIds` values in the canvas. All client apps that call the same Mule app are grouped into a single client app group node. The number of client apps in the group is specified in the display name. When viewing or modifying a graph, API Visualizer provides the following functionality: - Zoom control: Use the zoom in, zoom out, and zoom fit buttons on the bottom right corner of the canvas to control the zoom. You can also use scroll to zoom in and out. - Pan the visualization: Click and drag on the canvas to pan the visualization. - Search: Search for the name of a service on the canvas and the nodes that contain your search will be highlighted. ## Select Your Use Case API Visualizer has three use cases, or _visualizations_: Architecture, Troubleshooting, and Policies. By identifying your use case, you can select the visualization that suits your needs. The [_Architecture visualization_](https://docs.mulesoft.com/visualizer/architecture-visualization) shows the topology of your apps and APIs. This visualization is the most useful for understanding your system architecture. You can view and modify the names of your services, give them specific tags, and assign them to layers. The [_Troubleshooting visualization_](https://docs.mulesoft.com/visualizer/troubleshooting-visualization) enables you to view the health of the system and evaluate performance-based metrics. This visualization helps you identify issues or unusual behavior across your apps and APIs. The [_Policy visualization_](https://docs.mulesoft.com/visualizer/policy-visualization) enables you to see the policy landscape of your application network at a glance. You can view which components are compliant with policies you select, and you can determine where lapses in security or policy application may have occurred. ## View an Application Network in an Organization 1. Log in to Anypoint Platform. 2. In the navigation bar or the main Anypoint Platform screen, click **API Visualizer**. If API Visualizer is not available, contact your Salesforce admin to make sure that you have the correct permissions to access the application. 3. In the list in the canvas, select the visualization you want to use. 4. In the environment filters in the **View** card, select an environment. API Visualizer displays only the environments you have permissions to view. 5. Click the checkboxes for the business groups you want to view. After selecting the organization and environment group, API Visualizer displays a graph of your application network. ## Views Users with the Visualizer Editor permission can define views based on filtered environments and tags. These defined views are auto-discoverable and are available to all API Visualizer users who have permission for the included environments. These views can be opened in any of the use-case-specific visualizations. For more information, see [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view). ## See Also - [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization) - [Troubleshooting App Visualization](https://docs.mulesoft.com/visualizer/troubleshooting-visualization) - [Viewing Policies in API Visualizer](https://docs.mulesoft.com/visualizer/policy-visualization) - [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view) --- product: API Visualizer --- # Using Layers in API Visualizer > For the full documentation index, see: https://docs.mulesoft.com/llms.txt When you associate a node with a layer, you create a visual representation of the applications in your network. Use one of the default layers provided by API Visualizer, or create a custom layer. > [!NOTE] The application appears in its assigned layer in every defined view in which it’s > included. It also appears in the correct layer across all visualization types. ## Add a Service to a Layer Map a node to a layer in the application’s properties file, or using the UI in the Architecture visualization. ### Set a Layer with Properties Use the `anypoint.platform.visualizer.layer=` property to automate adding nodes to a layer either by adding it to application’s properties at deployment time through the Runtime Manager UI, CI/CD (Maven), or API. This property is an application property, not a server property. When you use this property, nodes automatically appear in the specified layer and, if that layer doesn’t exist, it’s automatically created. You can’t reassign a node layer using the API Visualizer UI if you assign it using an application property. ## Set a Layer with the Architecture Visualization UI If a node wasn’t assigned to a layer at deployment time using the Runtime Manager UI or API, by default, the node isn’t assigned to a layer in API Visualizer. Use the API Visualizer UI to: - Assign a node to an existing layer or, if the node does not have a layer set via properties, change the assigned layer. - Create a new layer. ### Assign a Layer to a Node 1. Within the Architecture visualization, select the application node to add to a layer. Hold the shift key to select multiple nodes to apply layers to all the selected nodes at once. The **Customization** section for the node appears in the **Customization** tab of the node’s card: ![Select Node](/mulesoft/current/en-us/visualizer/_images/select-node.png) 2. In the **Customization** section, expand the drop-down list next to **Layer** as shown in this image: ![Select Layer](/mulesoft/current/en-us/visualizer/_images/select-layer.png) 3. Select the layer from the drop-down list. The node you selected appears within the layer as shown in this image: ![Node in Layer](/mulesoft/current/en-us/visualizer/_images/select-layer-result.png) ### Create a New Layer In addition to the default layers provided by API Visualizer, you can create new layers to customize the view of your application network. 1. Select the node to add to a new layer. 2. From the drop-down list in the **Customization** section, select **New Layer**. 3. Enter a name for your layer in the dialog box, then select **Create Layer**. The node appears in the new layer. You can add more nodes to the new layer as necessary. ## Delete a Layer If a layer has no services assigned to it, API Visualizer deletes the layer automatically: - If the layer is a default layer, it disappears from the canvas but is still available in the dropdown. - If the layer is a custom layer, it disappears from the canvas and the dropdown. API Visualizer also automatically adjusts the network display. ## Reorder Layers In the canvas of the Architecture visualization, use the arrows to move it up or down relative to the other layers. ## Minimize and Maximize Layers Use the minus sign (**\-**) to minimize a layer. When a layer is minimized, the apps and app details are hidden. Use the plus sign (**+**) to maximize a layer to show all the apps. ## See Also - [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view) - [Using Tags in API Visualizer](https://docs.mulesoft.com/visualizer/use-tags-in-visualizer) - [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization) --- product: API Visualizer --- # Using Tags in API Visualizer > For the full documentation index, see: https://docs.mulesoft.com/llms.txt You can add tags to an application, proxy, or other service. Similar to layers, there are two ways of assigning a tag to a node: by using properties or through the API Visualizer UI. If a tag is assigned to an application, the application will appear in every view in which the tags are selected. ## Set the Tag Using Properties You can automate adding tags to nodes by using `anypoint.platform.visualizer.tags=, `, either in the application’s properties file or at deployment time through the Runtime Manager UI or API. Note that this is an application property, not a server property. When you use this property, the nodes automatically show the assigned tags in the **View** card of API Visualizer. You can add but cannot override tags in the UI. Additionally, you can modify the tags only in properties. In the following example, the tag `demo` was added through properties. Therefore, you cannot modify the `demo` tag on the canvas. However, `project-a` and `project-b` were created using the UI, so you can modify them. ![properties tags](/mulesoft/current/en-us/visualizer/_images/properties-tags.png) ## Set Tags Using the UI By default, when you first view a node using API Visualizer, it does not have any tags assigned. You can assign a tag to an existing node using the UI if it does not already have the same tag applied through properties. 1. In the Architecture visualization, select the application node to tag. You can hold the shift key to select multiple nodes to apply tags to all the selected nodes at once. _Result:_ The **Customization** section for the node appears in the **Details** tab of the node’s card as shown in the following image: ![select node](/mulesoft/current/en-us/visualizer/_images/select-node.png) 2. In the **Customization** section, click **\+ Add tag** as shown in the following image: ![add tag](/mulesoft/current/en-us/visualizer/_images/add-tag.png) 3. Type the name of the tag to apply. Existing tags appear in a drop-down list as you begin to type. You can either: - Select an existing tag, or - Enter a name for a new tag, and click **Create tag **, or - Enter a name for the new tag, and press enter. > [!NOTE] You cannot apply the same tag to one node multiple times. ![create tag](/mulesoft/current/en-us/visualizer/_images/create-tag.png) _Result:_ The tags that you added to a node are listed in the **Customization** section. This node is included in the list of services if you [filter by this tag](https://docs.mulesoft.com/visualizer/view#customize-view). ## Delete a Tag You can delete tags from API Visualizer. Deleting a tag does not delete the associated nodes. To delete a tag assigned using the `anypoint.platform.visualizer.tags=` property, return to the application’s properties file and delete the assignment `anypoint.platform.visualizer.tags=`. To delete a tag that was configured in the UI: 1. In the Architecture visualization, select a node with the tag you want to delete. 2. Locate the tag in the **Customization** section, and click the **X** on the tag to delete. ## See Also - [Defining a View in API Visualizer](https://docs.mulesoft.com/visualizer/view) - [Filtering by Tags](https://docs.mulesoft.com/visualizer/view#customize-view) - [Using Layers in API Visualizer](https://docs.mulesoft.com/visualizer/layers) - [API Visualizer Architecture Visualization](https://docs.mulesoft.com/visualizer/architecture-visualization) --- product: API Visualizer --- # Viewing Policies in API Visualizer > For the full documentation index, see: https://docs.mulesoft.com/llms.txt When deploying a Mule app, make sure that you are using a version of Mule that supports the Policy visualization. Learn more about which [runtimes are supported](https://docs.mulesoft.com/visualizer/setup#select-a-deployment-type). The Policy visualization is not supported for API Manager 1.x. The Policy visualization enables you to see the relationship between Mule app deployments and the APIs they are implementing and which policies have been applied to those APIs. Data about which policies have been applied to your APIs comes from API Manager. The Policy visualization has two modes: _overview_ and _compliance_. Both modes show your deployed APIs, but each in a different manner: - _Overview_ mode shows you the number of policies that are applied to each API in your canvas. The number on the API reflects this. - _Compliance_ mode enables you to explore which APIs are compliant with policies that you select. Compliance mode is active when you select policies from the **Policies** card; your canvas then changes to show which of your APIs are compliant with the policies you selected. The list of policies includes custom policies and is grouped by policy category. When you select multiple policies, the number on the API node represents how many of the selected policies the API is complying with. A fraction might indicate that your API is not compliant with all of the selected policies. If an API in the canvas is compliant with all of the selected policies, it turns green. ## View Information About One Service in Your Network When you select a node within the graph, the node and its dependency stack are highlighted and all unconnected nodes are unavailable. In the Policy visualization, the top card contains information about the Mule app. If the Mule app is an implementation of one or more APIs, cards for each of the APIs will appear below. The card will contain the API, version, and instance names as well as a list of which policies have been applied. The policies are listed in the order in which they are applied and are identified as either being applied at the API level or as an automated policy. ## Filter Your View When you select a node, you can click **Select dependents and dependencies**, which selects all nodes related to the service you selected. If a single node is selected and does not have any dependents or dependencies, this option is hidden. You can hide nodes through what you select in the canvas. - To hide a single node, select it, and then click **Hide selected service**. - To hide multiple nodes, multiselect them, and then click **Hide selected services**. - To hide all of the services other than the selected nodes, you can click **Hide other services**. If you want to hide everything that is not related to a given dependency stack, select a node and then click **Select dependents and dependencies**, which selects all nodes related to the service which you selected. Then, click **Hide other services**. You can search for a node, or _service_, in the **Search services** text field. Services containing your search in any part of their name are highlighted, while others fade. ## Export Your Network View You can export the view of your network showing on your canvas to a PNG file by clicking the **Export as Image** button next to the zoom controls in the bottom right. - If you customized your view with filters, the customized network topology is exported. - If you selected specific policies, these settings are reflected in the export.