# AppMonitorConfigurationProperty

This structure contains much of the configuration data for the app monitor.

- Source: Generated code
- Type last changed: v2.93.0 · 23 Aug 2023

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_rum as rum } from 'aws-cdk-lib';
const appMonitorConfigurationProperty: rum.CfnAppMonitor.AppMonitorConfigurationProperty = {
  allowCookies: false,
  enableXRay: false,
  excludedPages: ['excludedPages'],
  favoritePages: ['favoritePages'],
  guestRoleArn: 'guestRoleArn',
  identityPoolId: 'identityPoolId',
  includedPages: ['includedPages'],
  metricDestinations: [{
    destination: 'destination',

    // the properties below are optional
    destinationArn: 'destinationArn',
    iamRoleArn: 'iamRoleArn',
    metricDefinitions: [{
      name: 'name',

      // the properties below are optional
      dimensionKeys: {
        dimensionKeysKey: 'dimensionKeys',
      },
      eventPattern: 'eventPattern',
      namespace: 'namespace',
      unitLabel: 'unitLabel',
      valueKey: 'valueKey',
    }],
  }],
  sessionSampleRate: 123,
  telemetries: ['telemetries'],
};
```

## Properties

- `allowCookies`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — If you set this to `true` , the CloudWatch RUM web client sets two cookies, a session cookie and a user cookie.

  The cookies allow the CloudWatch RUM web client to collect data relating to the number of users an application has and the behavior of the application across a sequence of events. Cookies are stored in the top-level domain of the current page.

- `enableXRay`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — If you set this to `true` , CloudWatch RUM sends client-side traces to X-Ray for each sampled session.

  You can then see traces and segments from these user sessions in the RUM dashboard and the CloudWatch ServiceLens console. For more information, see [What is AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)

- `excludedPages`: string[] — A list of URLs in your website or application to exclude from RUM data collection.

  You can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.

- `favoritePages`: string[] — A list of pages in your application that are to be displayed with a "favorite" icon in the CloudWatch RUM console.

- `guestRoleArn`: string — The ARN of the guest IAM role that is attached to the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.

- `identityPoolId`: string — The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.

- `includedPages`: string[] — If this app monitor is to collect data from only certain pages in your application, this structure lists those pages.

  You can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.

- `metricDestinations`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnAppMonitor.MetricDestinationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_rum.CfnAppMonitor.MetricDestinationProperty.html)[] — An array of structures that each define a destination that this app monitor will send extended metrics to.

- `sessionSampleRate`: number — Specifies the portion of user sessions to use for CloudWatch RUM data collection.

  Choosing a higher portion gives you more data but also incurs more costs.

  The range for this value is 0 to 1 inclusive. Setting this to 1 means that 100% of user sessions are sampled, and setting it to 0.1 means that 10% of user sessions are sampled.

  If you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.

- `telemetries`: string[] — An array that lists the types of telemetry data that this app monitor is to collect.

  - `errors` indicates that RUM collects data about unhandled JavaScript errors raised by your application.
  - `performance` indicates that RUM collects performance data about how your application and its resources are loaded and rendered. This includes Core Web Vitals.
  - `http` indicates that RUM collects data about HTTP errors thrown by your application.
