Last updated Dec 5, 2023

Rate this page:

View app metrics

App metrics show you how your Forge app is currently performing across all sites. This page explains how to view and filter the metrics for your app, including specific data about your app's invocation errors.

If you have a Cloud Fortified app, or are listed as a contact for one, you can also access metrics for these apps in the console.

The following app metrics are available to use on the developer console:

To view app metrics:

  1. Access the developer console.
  2. Select the Forge app that you want to view metrics for.
  3. Select Metrics in the left menu.

Metrics screen

The screen shows all sites that your Forge app is currently installed on, where there has been at least one invocation in the last 14 days.

Invocation metrics

The following metrics are available for all function invocations.

This doesn’t include code executing in a Custom UI iframe, but includes functions invoked by @forge/bridge.

  • Invocation success rate: The percentage of successful vs. failed invocations, across all functions. An invocation is considered successful if the function doesn’t fail with an invocation error.
  • Invocation count: The total number of invocations, regardless of success or failure.
  • Invocation errors: The number of invocations that failed with an error. They are grouped into the following error types:
    • Out of memory: The function has exhausted the available memory.
    • Timeout: The function has not been successful within a time limit.
    • Unhandled exception: The function threw an uncaught exception. This category may include exceeding other platform limits such as network requests. To learn more about why the exception was thrown, view your app logs by selecting Logs in the left hand menu. For more information, see View app logs and installations.
  • Invocation time: The time it takes for each function under the handler field in the app manifest.yml file to successfully complete an invocation. The chart shows the distribution of invocation time as a histogram across different time buckets. The time is measured from inside the AWS lambda, and doesn't include cold start, but it includes the time it took for the lambda initialization phase to complete.

Each metric is displayed as both a chart and a value. The value, displayed at the top of the screen, represents the overall or total value for that metric and includes any applied filters.

Invocation errors

To learn more about your app's invocation errors, select the chart title, or select the More actions () menu on the chart and View details.

The following screen appears, showing site-specific information about your app's invocation errors.

Invocation errors detailed view

In this view, you can search, filter, and sort the data to identify errors across specific sites and installations. You can also group the chart by version and error type, by selecting the Group chart by dropdown above the chart.

  • Metrics are shown according to the selected time range.
  • The data displayed in the chart will be filtered according to the sites selected in the table.
  • By default, the table is sorted by error count, but you can sort by any column.

Invocation time

To learn more about your app's invocation time, select the chart title, or select the More actions (⋯) menu on the chart and View details.

The following screen appears, showing function-specific information about your app's invocation time.

Invocation time detailed view

In this view, you can search, filter, and group the data to see invocation time across specific functions, environments, and time periods.

To group the chart by function or version, select the Group chart by dropdown above the chart. Note, this will only reflect in the chart data, not in the table data.

  • Metrics are shown according to the selected time range and the selected deployment environment.
  • By default, the table is sorted in descending order of invocation time, meaning functions with the longest invocation time will appear at the top. However, you can sort by any column.

API metrics

This section describes a Forge preview feature. Preview features are deemed stable; however, they remain under active development and may be subject to shorter deprecation windows. Preview features are suitable for early adopters in production environments.

We release preview features so partners and developers can study, test, and integrate them prior to General Availability (GA). For more information, see Forge release phases: EAP, Preview, and GA.

We're renaming the Export metrics API to App metrics API by 19 December 2023. See the Forge changelog for more details.

The following metrics are available for all function invocations making either Fetch API, Async events API, and Web trigger API, or Storage API HTTP requests via the Export metrics API only:

  • API request count: The total number of HTTP requests, grouped by status codes like- 2xx, 3xx, 4xx, 5xx
  • API request latency: The round trip time it takes for a HTTP request triggered within a forge function.
  • This doesn’t include code executing in a custom UI iframe. However, this includes functions invoked by @forge/bridge.
  • You'll be able to view API metrics on the developer console in a future release.

The following tags and dimensions are available with API metrics:

  1. remote: Useful to bifurcate between product, external, and Graphql HTTP requests. This field can have one of the following values: jira, confluence, bitbucket, egress or stargate.

  2. status: Represents the HTTP status code received for an API call. This field can have one of the following values: 2xx, 3xx, 400, 401, 403, 404, 429, 4xx, 500, 502, 503, 504 or 5xx. Only available for API request count metric.

  3. url: Represents the path of the HTTP request. This field can have one of the following values, depending on the type of API call:

    • For external HTTP requests, url field will be captured as hostname. For example: api.slack.com , api.google.com

    • For product HTTP requests, url field will have unknown value.

    In a future release, the templatized path for Product API calls will be capture, as such: /rest/api/2/field/{fieldKey}/option , /repositories/{workspace}/{repo_slug}/commits, /rest/api/user/watch/content/{contentId}

    • For Storage, Graphql, and Async HTTP requests, url field can have values as /forge/entities/graphql, /graphql, /webhook/queue/publish/{cloudId}/{environmentId}/{appId}/{appVersion}, and more.

Filters

Use these filters to refine your metrics:

  • All sites: Narrows down the metrics based on the sites that your app is installed onto, for example, <your-site>.atlassian.net. You can select multiple sites.

  • Environment: Narrows down the metrics for a specific app environment for your app.

  • Date: Narrows down the metrics based on your chosen time interval. Choose from a range of predefined values, such as the Last 24 hours, or choose a more specific time interval using the Custom option.

Each metric can also be grouped by app version or function, by selecting the Group by dropdown next to a chart.

  • Metrics are only shown for sites with at least one invocation in the past 14 days.
  • All dates are in Coordinated Universal Time (UTC).
  • Each chart's data resolution depends on the time interval you've selected. For example 'Last 24 hours' shows data at a 30 minute resolution, and 'Last hour' shows data at a 1 minute resolution.
  • Metrics may not always be accurate because undelivered metrics data isn’t back-filled and data sampling might be used for some metrics.

You can bookmark the URL on your browser to access metrics based on specific filtering criteria for quick access.

You must use data in accordance with the privacy rights that you've obtained from your user. For more information, see the Atlassian Developer Terms and Forge Terms.

Rate this page: