Skip to content

Commit

Permalink
docs(client-rum): Doc-only update for new RUM metrics that were added
Browse files Browse the repository at this point in the history
  • Loading branch information
awstools committed Feb 23, 2024
1 parent 93fdd39 commit f281e0d
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,23 @@ export interface BatchCreateRumMetricDefinitionsCommandOutput
* <p>By default, RUM app monitors send some metrics to CloudWatch. These default metrics
* are listed in <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-metrics.html">CloudWatch metrics that you can collect
* with CloudWatch RUM</a>.</p>
* <p>In addition to these default metrics, you can choose to send extended metrics or custom metrics or both.</p>
* <p>In addition to these default metrics, you can choose to send extended metrics, custom
* metrics, or both.</p>
* <ul>
* <li>
* <p>Extended metrics enable you to send metrics with additional dimensions not included
* in the default metrics. You can also send extended metrics to Evidently as well as CloudWatch.
* The valid dimension names for the additional dimensions for extended metrics are
* <code>BrowserName</code>, <code>CountryCode</code>, <code>DeviceType</code>,
* <code>FileType</code>, <code>OSName</code>, and <code>PageId</code>. For more information, see
* <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-vended-metrics.html">
* Extended metrics that you can send to CloudWatch and CloudWatch Evidently</a>.</p>
* <p>Extended metrics let you send metrics with additional dimensions that aren't included in the
* default metrics. You can also send extended metrics to both Evidently and CloudWatch. The valid dimension names for the additional dimensions for extended
* metrics are <code>BrowserName</code>, <code>CountryCode</code>,
* <code>DeviceType</code>, <code>FileType</code>, <code>OSName</code>, and
* <code>PageId</code>. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-vended-metrics.html">
* Extended metrics that you can send to CloudWatch and CloudWatch
* Evidently</a>.</p>
* </li>
* <li>
* <p>Custom metrics are metrics that you define. You can send custom metrics to CloudWatch or
* to CloudWatch Evidently or to both. With custom metrics,
* you can use any metric name and namespace, and to derive the metrics you can use any custom events, built-in events,
* custom attributes, or default attributes. </p>
* <p>Custom metrics are metrics that you define. You can send custom metrics to CloudWatch.
* CloudWatch Evidently, or both. With custom metrics, you can use any metric
* name and namespace. To derive the metrics, you can use any custom events, built-in
* events, custom attributes, or default attributes. </p>
* <p>You can't send custom metrics to the <code>AWS/RUM</code> namespace. You must send custom metrics to a
* custom namespace that you define. The namespace that you use can't start with <code>AWS/</code>.
* CloudWatch RUM prepends <code>RUM/CustomMetrics/</code> to the custom namespace that you define,
Expand Down
81 changes: 62 additions & 19 deletions clients/client-rum/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,25 @@ export interface AppMonitorConfiguration {
* @public
* <p>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 RUM.</p>
* <note>
* <p>It is possible that an app monitor does not have a value for <code>GuestRoleArn</code>. For example,
* this can happen when you use the console to create an app monitor and you allow CloudWatch RUM to
* create a new identity pool for Authorization. In this case, <code>GuestRoleArn</code> is not present in the
* <a href="https://docs.aws.amazon.com/cloudwatchrum/latest/APIReference/API_GetAppMonitor.html">GetAppMonitor</a>
* response because it is not stored by the service.</p>
* <p>If this issue affects you, you can take one of the following steps:</p>
* <ul>
* <li>
* <p>Use the Cloud Development Kit (CDK) to create an identity pool and the associated IAM
* role, and use that for your app monitor.</p>
* </li>
* <li>
* <p>Make a separate <a href="https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetIdentityPoolRoles.html">GetIdentityPoolRoles</a>
* call to Amazon Cognito to retrieve
* the <code>GuestRoleArn</code>.</p>
* </li>
* </ul>
* </note>
*/
GuestRoleArn?: string;

Expand Down Expand Up @@ -333,18 +352,19 @@ export type MetricDestination = (typeof MetricDestination)[keyof typeof MetricDe
* @public
* <p>Use this structure to define one extended metric or custom metric that RUM will send
* to CloudWatch or CloudWatch Evidently. For more information, see
* <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-vended-metrics.html">
* Additional metrics that you can send to CloudWatch and CloudWatch Evidently</a>.</p>
* <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-custom-and-extended-metrics.html">
* Custom metrics and extended metrics that you can send to CloudWatch and CloudWatch Evidently</a>.</p>
* <p>This structure is validated differently for extended metrics and custom metrics. For extended metrics
* that are sent to the <code>AWS/RUM</code> namespace, the following validations apply:</p>
* <ul>
* <li>
* <p>The <code>Namespace</code> parameter must be omitted or set to <code>AWS/RUM</code>.</p>
* </li>
* <li>
* <p>Only certain combinations of values for <code>Name</code>, <code>ValueKey</code>, and <code>EventPattern</code>
* are valid. In addition to what is displayed in the list below, the <code>EventPattern</code> can also include information
* used by the <code>DimensionKeys</code> field.</p>
* <p>Only certain combinations of values for <code>Name</code>, <code>ValueKey</code>, and
* <code>EventPattern</code> are valid. In addition to what is displayed in the
* following list, the <code>EventPattern</code> can also include information used by
* the <code>DimensionKeys</code> field.</p>
* <ul>
* <li>
* <p>If <code>Name</code> is <code>PerformanceNavigationDuration</code>, then
Expand Down Expand Up @@ -433,6 +453,24 @@ export type MetricDestination = (typeof MetricDestination)[keyof typeof MetricDe
* must include <code>\{"event_type":["com.amazon.rum.session_start_event"]\}</code>
* </p>
* </li>
* <li>
* <p>If <code>Name</code> is <code>PageViewCount</code>, then
* <code>ValueKey</code>must be null and the <code>EventPattern</code>
* must include <code>\{"event_type":["com.amazon.rum.page_view_event"]\}</code>
* </p>
* </li>
* <li>
* <p>If <code>Name</code> is <code>Http4xxCount</code>, then
* <code>ValueKey</code>must be null and the <code>EventPattern</code>
* must include <code>\{"event_type": ["com.amazon.rum.http_event"],"event_details":\{"response":\{"status":[\{"numeric":["&gt;=",400,"&lt;",500]\}]\}\}\} \}</code>
* </p>
* </li>
* <li>
* <p>If <code>Name</code> is <code>Http5xxCount</code>, then
* <code>ValueKey</code>must be null and the <code>EventPattern</code>
* must include <code>\{"event_type": ["com.amazon.rum.http_event"],"event_details":\{"response":\{"status":[\{"numeric":["&gt;=",500,"&lt;=",599]\}]\}\}\} \}</code>
* </p>
* </li>
* </ul>
* </li>
* </ul>
Expand Down Expand Up @@ -623,10 +661,10 @@ export interface MetricDefinitionRequest {
/**
* @public
* <p>The field within the event object that the metric value is sourced from.</p>
* <p>If you omit this field, a hardcoded value of 1 is pushed as the metric value. This is useful if you
* just want to count the number of events that the filter catches. </p>
* <p>If this metric is sent to CloudWatch Evidently, this field will be passed to Evidently raw and Evidently
* will handle data extraction from the event.</p>
* <p>If you omit this field, a hardcoded value of 1 is pushed as the metric value. This is
* useful if you want to count the number of events that the filter catches. </p>
* <p>If this metric is sent to CloudWatch Evidently, this field will be passed to
* Evidently raw. Evidently will handle data extraction from the event.</p>
*/
ValueKey?: string;

Expand Down Expand Up @@ -728,9 +766,8 @@ export interface MetricDefinitionRequest {
* </p>
* </li>
* </ul>
* <p>If the metrics destination'
* is <code>CloudWatch</code> and the event
* also matches a value in <code>DimensionKeys</code>, then the metric is published with the specified dimensions. </p>
* <p>If the metrics destination is <code>CloudWatch</code> and the event also matches a value
* in <code>DimensionKeys</code>, then the metric is published with the specified dimensions. </p>
*/
EventPattern?: string;

Expand All @@ -755,10 +792,11 @@ export interface BatchCreateRumMetricDefinitionsRequest {

/**
* @public
* <p>The destination to send the metrics to. Valid values are <code>CloudWatch</code> and <code>Evidently</code>. If
* you specify <code>Evidently</code>, you must also specify the ARN of the CloudWatchEvidently experiment
* that will receive
* the metrics and an IAM role that has permission to write to the experiment.</p>
* <p>The destination to send the metrics to. Valid values are <code>CloudWatch</code> and
* <code>Evidently</code>. If you specify <code>Evidently</code>, you must also specify the
* Amazon Resource Name (ARN) of the CloudWatchEvidently experiment that will receive
* the metrics and an IAM role that has permission to write to the
* experiment.</p>
*/
Destination: MetricDestination | undefined;

Expand Down Expand Up @@ -1233,7 +1271,7 @@ export interface CreateAppMonitorRequest {
* Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the
* Amazon Cognito identity pool to use for authorization. If you don't include <code>AppMonitorConfiguration</code>, you must set up your own
* authorization method. For more information, see
* <a href="https://docs.aws.amazon.com/monitoring/CloudWatch-RUM-get-started-authorization.html">Authorize your application
* <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started-authorization.html">Authorize your application
* to send data to Amazon Web Services</a>.</p>
* <p>If you omit this argument, the sample rate used for RUM is set to 10% of the user sessions.</p>
*/
Expand Down Expand Up @@ -1617,10 +1655,15 @@ export interface PutRumMetricsDestinationRequest {
/**
* @public
* <p>This parameter is required if <code>Destination</code> is <code>Evidently</code>. If <code>Destination</code> is
* <code>CloudWatch</code>, do not use this parameter.</p>
* <code>CloudWatch</code>, don't use this parameter.</p>
* <p>This parameter specifies
* the ARN of an IAM role that RUM will assume to write to the Evidently
* experiment that you are sending metrics to. This role must have permission to write to that experiment.</p>
* <p>If you specify this parameter, you must be signed on to a role that has <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">PassRole</a> permissions attached to it, to allow
* the role to be passed. The <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html#managed-policies-cloudwatch-RUM">
* CloudWatchAmazonCloudWatchRUMFullAccess</a>
* policy doesn't include <code>PassRole</code>
* permissions.</p>
*/
IamRoleArn?: string;
}
Expand Down Expand Up @@ -1652,7 +1695,7 @@ export interface UpdateAppMonitorRequest {
* Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the
* Amazon Cognito identity pool to use for authorization. If you don't include <code>AppMonitorConfiguration</code>, you must set up your own
* authorization method. For more information, see
* <a href="https://docs.aws.amazon.com/monitoring/CloudWatch-RUM-get-started-authorization.html">Authorize your application
* <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started-authorization.html">Authorize your application
* to send data to Amazon Web Services</a>.</p>
*/
AppMonitorConfiguration?: AppMonitorConfiguration;
Expand Down
Loading

0 comments on commit f281e0d

Please sign in to comment.