Skip to main content

Graph limits

Due to performance considerations, we currently disable graph rendering when the element count exceeds a specific number of 8000.

What is the element count?

Since this is a performance, rather than a product measure, the elements count is not the number of AWS/Azure resources but rather the number of renderable elements; this means all Nodes and Edges (connections). Therefore it is not possible to predict the specific number of elements that will result from rendering any single Function and its related components as the actual element number depends solely on the graph structure, which is unique to each environment.

What can I do if I have too many elements and the graph does not render?

To allow you to still render the graph even if your account is too large, we added a filtering option (tag filters) using resource tags.

TagFilter.png

Using the filter will reduce the number of returned resources and will display only the functions that contain the selected tags and their related resources. This will help you stay under the element limit but if the selection is too large, you may run into the same problem. The tag selection works the same way as the Functions tab.

Important

The tag filter is currently the only approach that will actually limit the number of rendered elements that count against the limit. Search or hiding certain elements will have no effect.

Adding/updating tags

If you have functions that do not have a tag assigned, you will not be able to see them using the tag filter. To properly utilize this feature, all your functions need to have tags assigned using a few different values so you can filter down to parts of your system. Potential tag ideas are application, service, runtimeLanguage, team or some other custom groupings depending on your needs.

Use the method that suits you best, either adding them directly in the AWS Console or using your IaC solution.

When will I see the new tags in the graph?

While we do a near-immediate update of the Functions tab based on change events such as TagResource, this does not apply to the graph as we do not currently support partial updates and only run full scheduled discoveries. In most environments, this would be at 6 AM GMT. This means that you have to wait until the next discovery for the tags to appear.

CloudNative developers can also trigger the graph discovery prematurely using the Resources_Utils_TriggerGraphDiscovery_V1 Lambda function.

Alternatively, changing Inventory settings will trigger both Resources and Graph discoveries over the entire account. If the Inventory settings are empty, adding a dummy Exclude rule would be considered a change but would still include everything.

In summary, new tags will appear if either:

  • Graph discovery runs daily on schedule at 6 AM GMT (some regions may have different time settings)

  • Resources_Utils_TriggerGraphDiscovery_V1 Lambda function is triggered with the specific organization ID/account ID

  • Changes in Inventory settings

Account Inventory Settings

During onboarding or later in Settings, you can change the Inventory settings to limit the scope of what you see in the system and what is scanned. Here you can use both Function tags and names.

However, keep in mind that modifying this will change the scope of the whole system, including what you see in Functions and what is actually scanned and protected. Depending on your use case it could also be a reasonable way to limit the size of the graph.