# Service Map

Copy as Markdown[Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fuser-guides%2Fapm%2Ffeatures%2Fservice-map.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fcoralogix.com%2Fdocs%2Fuser-guides%2Fapm%2Ffeatures%2Fservice-map.md%20and%20help%20me%20with%20my%20question%20about%20this%20Coralogix%20documentation%20page.)

Service Map fully visualizes your system architecture, breaking down your application into all its constituent services and drawing the observed dependencies between them in real-time based on your [distributed tracing](https://coralogix.com/docs/docs/user-guides/data_exploration/spans/.md).

## Setup[​](#setup "Direct link to Setup")

To use Service Map:

* [Install and configure](https://coralogix.com/docs/docs/user-guides/apm/getting-started/apm-onboarding-tutorial/.md) Coralogix APM.
* Send spans (not only Span Metrics) using head or tail sampling.

## Span attributes[​](#span-attributes "Direct link to Span attributes")

To identify certain services in the Service Map, define the following attributes.

### [AWS S3](https://opentelemetry.io/docs/specs/semconv/object-stores/s3/)[​](#aws-s3 "Direct link to aws-s3")

| Attribute       | Type   | Description                                                                 |
| --------------- | ------ | --------------------------------------------------------------------------- |
| `span.kind`     | string | Set to `CLIENT`, as it's an external call                                   |
| `rpc.system`    | string | Set to `aws-api`                                                            |
| `rpc.service`   | string | Contains S3 or tag with prefix `aws.s3`                                     |
| `aws.s3.bucket` | string | The name of the S3 is retrieved from this attribute. If missing, S3 is used |

We also identify AWS S3 spans based on the specific S3 icon.

### [Kafka](https://opentelemetry.io/docs/specs/semconv/messaging/kafka/)[​](#kafka "Direct link to kafka")

| Attribute                                               | Type   | Description                                                                                                                                                                                  |
| ------------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `span.kind`                                             | string | In one match (call), Kafka can be either a destination or source service.<br />Set to `PRODUCER` if Kafka is the destination service.<br />Set to `CONSUMER` if Kafka is the source service. |
| `messaging.system`                                      | string | Set to `kafka`                                                                                                                                                                               |
| `messaging.destination` or `messaging.destination.name` | string | Name of the topic displayed the UI: "kafka topic \<x>"                                                                                                                                       |

We also identify Kafka spans based on the specific Kafka icon.

### [RabbitMQ](https://opentelemetry.io/docs/specs/semconv/messaging/rabbitmq/)[​](#rabbitmq "Direct link to rabbitmq")

| Attribute                                               | Type   | Description                                                                                                                                                                                 |
| ------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `span.kind`                                             | string | In one match (call), RabbitMQ can be either a destination or source service.<br />Set to PRODUCER if Kafka is the destination service.<br />Set to CONSUMER if Kafka is the source service. |
| `messaging.system`                                      | string | Set to `rabbitmq`                                                                                                                                                                           |
| `messaging.destination` or `messaging.destination.name` | string | Name of the topic displayed the UI: "RabbitMQ \<x>"                                                                                                                                         |

We also identify RabbitMQ spans based on the specific RabbitMQ icon.

### [Redis](https://opentelemetry.io/docs/specs/semconv/database/redis/)[​](#redis "Direct link to redis")

| Attribute                             | Type   | Description                                                                                |
| ------------------------------------- | ------ | ------------------------------------------------------------------------------------------ |
| `span.kind`                           | string | Set to `CLIENT`, as it's an external call                                                  |
| `db.system`                           | string | Set to `redis`                                                                             |
| `db.name` + `db.redis.database_index` | string | Database name. If one attribute is missing, the system uses the attribute that is present. |

## How it works[​](#how-it-works "Direct link to How it works")

The Service Map offers insights into your services and their well-being, effectively cutting through extraneous information to pinpoint problematic areas.

### Access Service Map[​](#access-service-map "Direct link to Access Service Map")

To access this feature, navigate to **APM**, then to **Service Map** in your Coralogix toolbar.

### Visualize traces[​](#visualize-traces "Direct link to Visualize traces")

View a visualization of your traces, organized into clusters. In the left-hand sidebar, filter by LANGUAGE, PROVIDER, ENVIRONMENT and/or DATABASE, MESSAGING SYSTEM, and BUCKET.

### Identify service dependencies[​](#identify-service-dependencies "Direct link to Identify service dependencies")

The Service Map presents a comprehensive overview of a service's dependencies, encompassing connections in various environments.

* Hover over and select a service point to view all of its associated information.
* Select the service and proceed to viewing its overview, logs, and traces, as shown below.
* Search for a service using the search function.

[![Service map](/docs/assets/images/service-map-a561bfa6f9d98091e93629fe9fe3ed6e.webp)](https://coralogix.com/docs/docs/assets/images/service-map-a561bfa6f9d98091e93629fe9fe3ed6e.webp)

## Limitations[​](#limitations "Direct link to Limitations")

The Service Map supports rendering up to 20,000 nodes. If the map exceeds this limit, it is not rendered. To view the map, refine your scope by reducing the number of services.

## Next steps[​](#next-steps "Direct link to Next steps")

If your map includes Lambda functions, see [Serverless monitoring](https://coralogix.com/docs/docs/user-guides/apm/features/serverless-monitoring/.md) for function-level invocations and traces.

## Additional resources[​](#additional-resources "Direct link to Additional resources")

|               |                                                                                                                                                                                                                    |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Documentation | [Application Performance Monitoring (APM)](https://coralogix.com/blog/application-performance-monitoring-visibility/)<br />[Explore spans](https://coralogix.com/docs/docs/user-guides/data_exploration/spans/.md) |
| Blog          | [One Click Visibility: Coralogix Expands APM Capabilities to Kubernetes](https://coralogix.com/blog/application-performance-monitoring-visibility/)                                                                |
