About the author: Chinmay Gaikwad is a Technical Evangelist at Epsagon (LinkedIn).

Service maps are a visual and interactive depiction of how the services interact with each other. They also provide critical health information (such as latency, number of errors, etc.) for each service. As more and more applications are getting deployed as microservices, service maps have become increasingly important.

In this blog, we will explore the importance of service maps in an observability solution and cover the basics of this feature in Epsagon. In the second part of the series, we go into the details of the benefits of service maps.

Figure 1: Service Maps help visualize microservices

Epsagon Service Maps

Epsagon enables you to understand complex distributed application architecture. The Epsagon Service Map decomposes applications into resources and services, drawing their observed connections in real-time so that you can identify errors, dependencies, or performance bottlenecks in your architecture. Service maps utilize distributed tracing to connect different applications.

Figure 2: Epsagon Service Map

Getting started 

Generating service maps on Epsagon is extremely simple. First, you need to integrate your environment. Epsagon supports AWS, Kubernetes environments (including OpenShift, Rancher, etc.), and OpenWhisk environments.

Figure 3: Integrating different environments with Epsagon

The next step is to install our framework-specific libraries and then run the library as a part of your application either by using auto-tracing or calling the SDK. For a Node.js example, check out our docs.

That is it! You are all set to visualize and monitor your applications using service maps. You can access them using the toolbar on the left.

Figure 4: Service Map Menu

Using Service Maps

As mentioned before, service maps have a number of benefits such as architecture visibility, detecting performance issues, etc. which we will discuss later.

With Epsagon, you can utilize two views:

  1. Hover view
  2. Focus view

Hover View

Hover over a resource in the service map to understand which other resources are dependent (connected) to it. The hover view also gives you metrics such as the health of the resource, events frequency, latency, and errors.

Figure 5: Service Maps: Hover View

Focus View

Focus View allows you to zoom in on individual resources and see exactly which other resources are dependent on them. Enter Focus View by right-clicking on the desired resource and selecting focus view.

Looking for an error-causing resource can be done simply by observing red arrows in the graph. Red arrows represent a problematic call that has a more 0.5% error rate. To gain a better understanding you can click on the relevant node to see more information, and jump to traces to explore the exact issue. In addition, you can drill into a detailed breakdown of your service’s calls by clicking on it, and looking at the duration breakdown.

Figure 6: Focus View

See our Service Maps in action in this how-to video

Serverless vs. Container Environments

When it comes to serverless versus container and/or Kubernetes environments, service maps provide similar functionality. The only difference is that with serverless, you can directly go to the relevant function in the serverless environment while in the container/K8s environment, you can directly jump to the specific pod as shown below.

Figure 7: Serverless Environment Focus View

Figure 8: Container/K8s Environment Focus View


Service maps are a great tool to visualize complex architectures, view resource-specific metrics, reduce MTTD, and MTTR. With Epsagon, you can also build high performant systems as well as onboard new team members. You can read about the benefits here

Relevant documentation:

Start your Epsagon 14-day free trial >>

Read More:

How to Troubleshoot API Errors with Epsagon

How to Effectively Monitor AWS Lambda

How We Improved Epsagon’s Trace Search Using Epsagon

How to Effectively Monitor Amazon ECS