Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions solutions/observability/apm/mobile-service-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,18 @@ Optimize your end-user experience and your application QA strategy based on your
:screenshot:
:::

## Service map [mobile-service-map]
Comment thread
alexandra5000 marked this conversation as resolved.
```{applies_to}
stack: ga 9.6+
serverless: ga
```

The **Service map** panel shows the mobile service’s upstream and downstream connections. It uses the selected time range and environment, and the mobile filters—device, operating system version, app version, and network connection type—are added to the KQL query.

Click **Explore in Service map** to open the full map with the service selected. The link preserves the time range, environment, and KQL query, so the mobile filters carry over.

For licensing requirements and map controls, refer to [](/solutions/observability/apm/service-map.md).

## Throughput and transactions [mobile-throughput-transactions]

The **Throughput** chart visualizes the average number of transactions per minute for the selected service.
Expand Down
29 changes: 27 additions & 2 deletions solutions/observability/apm/service-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ A service map is a real-time visual representation of the instrumented services

You can view all your instrumented services and the connections between them, or focus on the services that interest you most.

## Requirements [service-map-requirements]

Service maps access is dependent on your subscription level. For more information, refer to:

* **Elastic Stack**: [Subscriptions](https://www.elastic.co/subscriptions).
* **{{obs-serverless}}**: The [Observability Serverless feature tier](/solutions/observability/observability-serverless-feature-tiers.md#obs-subscription-features).

## How do service maps work? [service-maps-how]

Service Maps rely on distributed traces to draw connections between services. As [distributed tracing](/solutions/observability/apm/traces.md) is enabled out-of-the-box for supported technologies, so are service maps. However, if a service isn’t instrumented, or a `traceparent` header isn’t being propagated to it, distributed tracing will not work, and the connection will not be drawn on the map.
Expand All @@ -39,9 +46,13 @@ If you’re using {{edot}} or contrib OpenTelemetry, set the `deployment.environ

To focus on one or more services, select them in the **Service name** filter. The map highlights the selected services and their connections.

Service maps are also embedded where you’re already working: a service’s **Overview** tab and its transaction details include a **Service map** panel scoped to that service. To view the panel for a transaction group, open the service’s **Transactions** tab and select a group from the **Transactions** table.
Service maps are also embedded where you’re already working: a service’s **Overview** tab and its transaction details include a **Service map** panel. The panel centers on the service and shows its upstream and downstream connections. To view the panel for a transaction group, open the service’s **Transactions** tab and select a group from the **Transactions** table.

The [mobile service overview](/solutions/observability/apm/mobile-service-overview.md#mobile-service-map) includes the same panel.

To open the full service map from an embedded panel, click **Explore in Service map**. The services you were viewing stay filtered and highlighted on the full map.
Use **Hops** to adjust how many connections to follow from the service, and **Max visible** to limit the number of nodes shown.

To open the full service map from an embedded panel, click **Explore in Service map**. The map preserves the time range, environment, and KQL query, and selects the service in the **Service name** filter. From transaction details, it also adds filters for the transaction name and type. Selected services stay highlighted.

::::
::::{applies-item} stack: ga 9.0-9.5
Expand Down Expand Up @@ -94,6 +105,20 @@ In the transaction flyout, under **Trace sample**, click a span or transaction i

The transaction flyout follows the service flyout's environment, transaction type, and time range. If the transaction no longer matches those filters, it displays the previous data with a warning. For the full workflow and filter behavior, refer to [Investigate a service with flyouts](/solutions/observability/apm/discover-traces.md#investigate-with-flyouts).

### Move between dashboards and the service map [service-map-dashboard-context]
```{applies_to}
stack: ga 9.6+
serverless: ga
```

When you copy the map to a dashboard, the panel preserves the environment, KQL query, selected services, map orientation, and the **Dependencies**, **Alert status**, **SLO status**, and **Anomaly severity** filters. Selecting multiple services in **Service name** also preserves their highlights. The destination dashboard opens with the map’s time range.

Field-value and field-existence filters are included in the panel’s KQL query. Range and custom filters aren’t copied.

By default, the copied panel uses its own filters. To also apply the dashboard’s query and filters, edit the panel and turn on **Sync with dashboard filters**.

From a dashboard panel, click **View in Service map** to continue investigating on the full map. The link preserves the panel’s time range, environment, KQL query, selected services, map orientation, and map filters. Dashboard queries and filters applied through **Sync with dashboard filters** aren’t included in this link.

## Investigate the service map with AI [service-map-ai-investigation]
```{applies_to}
stack: ga 9.6+
Expand Down
17 changes: 15 additions & 2 deletions solutions/observability/apm/service-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ Selecting a non-mobile [**service**](/solutions/observability/apm/services.md) b

{applies_to}`stack: ga 9.4+` {applies_to}`serverless: ga` Each RED metric chart (**Latency**, **Throughput**, and **Failed transaction rate**) includes an **Open in Discover** button to explore the underlying trace data directly in Discover.

{applies_to}`stack: ga 9.6+` {applies_to}`serverless: ga` The overview also includes a **Service map** panel scoped to the service, showing how it connects to the rest of your architecture. Refer to [](/solutions/observability/apm/service-map.md) for more information.

## Time series and expected bounds comparison [service-time-comparison]

For insight into the health of your services, you can compare how a service performs relative to a previous time frame or to the expected bounds from the corresponding {{anomaly-job}}. For example, has latency been slowly increasing over time, did the service experience a sudden spike, is the throughput similar to what the {{ml}} job expects — enabling a comparison can provide the answer.
Expand Down Expand Up @@ -58,6 +56,21 @@ Response times for the service. You can filter the **Latency** chart to display
:screenshot:
:::

## Service map [service-overview-map]
```{applies_to}
stack: ga 9.6+
serverless: ga
```

The **Service map** panel shows the service’s upstream and downstream connections. Click **Explore in Service map** to open the full map with the service selected and the time range, environment, and KQL query preserved.

For licensing requirements and map controls, refer to [](/solutions/observability/apm/service-map.md).

:::{image} /solutions/images/observability-service-overview-contextual-map.jpg
:alt: Service map panel in the service overview, showing upstream and downstream connections and map controls
:screenshot:
:::

## Throughput and transactions [service-throughput-transactions]

The **Throughput** chart visualizes the average number of transactions per minute for the selected service.
Expand Down
17 changes: 15 additions & 2 deletions solutions/observability/apm/transactions-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,13 +88,26 @@ Additional RUM goodies, like core vitals, and visitor breakdown by browser, loca

Selecting a transaction group will bring you to the **transaction** details. This page is visually similar to the transaction overview, but it shows data from all transactions within the selected transaction group.

{applies_to}`stack: ga 9.6+` {applies_to}`serverless: ga` The transaction details also include a **Service map** panel scoped to the service. Refer to [](/solutions/observability/apm/service-map.md) for more information.

:::{image} /solutions/images/observability-apm-transactions-overview.png
:alt: Example view of response time distribution
:screenshot:
:::

### Service map [transaction-details-service-map]
```{applies_to}
stack: ga 9.6+
serverless: ga
```

The **Service map** panel shows the service’s upstream and downstream connections. Click **Explore in Service map** to open the full map with the service selected. The link preserves the time range, environment, and KQL query, and adds filters for the transaction name and type.

For licensing requirements and map controls, refer to [](/solutions/observability/apm/service-map.md).

:::{image} /solutions/images/observability-transaction-details-contextual-map.jpg
:alt: Service map panel beside the failed transaction rate chart in transaction details
:screenshot:
:::

### Latency distribution [transaction-duration-distribution]

The latency distribution shows a plot of all transaction durations for the given time period. The following screenshot shows a typical distribution and indicates most of our requests were served quickly — awesome! The requests on the right are taking longer than average; we probably need to focus on them.
Expand Down
Loading