Dependency mapping has been a feature of APM tools since the 2nd generation of tools came along about 10 years ago. The problem with those maps is that, even though they can handle application components starting and stopping, they are reliant upon configuration that occurs when deploying monitoring agents. It has always been a difficult task to redefine the components that belong to an application so that the maps could update based upon the new configuration. Particularly problematic was the concept that a single service could belong to many different applications at the same time.
All of that changed when Instana released Application Perspectives (a set of innovative capabilities that automatically monitor services and allow the user to create dynamic grouping definitions via the UI). The definition of an application can easily be created on an ad-hoc basis and a single service can belong to as many application perspectives as needed. This comes with the added benefit that all flow maps are created and updated in context of Application Perspectives – automatically.
Viewing Service and Endpoint Flow Maps
To access a Flow Map, you will first need to have either a service or an endpoint in focus within Instana. You can accomplish this by clicking on a service or endpoint name.
The flow maps themselves are simple to understand and provide dependency information which is useful when troubleshooting. I like to use flow maps to understand upstream and downstream dependencies for impact analysis purposes. The focal service or endpoint will appear in the center of the flow map. Upstream dependencies are on the left and downstream dependencies are on the right. You can click the “latency”, “calls”, or “errors” buttons to add color coding all of the components displayed in the flow map. Anything that lights up red is something you need to investigate. It doesn’t get any more straight forward than that. Investigation is a simple matter of clicking on the service or endpoint name to drill down to the summary view for that service or endpoint.
It’s important to note that the flow maps adhere to the filtering applied when Application Perspectives are created. So if you access a flow map from within an Application Perspective you see only the components that apply to the defined perspective. This is really useful for filtering out all of the noise that occurs in large microservice environments.
The combination of Application Perspectives with automatic flow maps makes it possible to view your services and endpoints in the way that makes the most sense to you. You’ll stay focused on the components that you’re responsible for and you’ll know immediately if there are any problems.