/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cloudwatchrum.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* This structure contains much of the configuration data for the app monitor. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AppMonitorConfiguration implements Serializable, Cloneable, StructuredPojo { /** *
* If you set this to true
, the RUM web client sets two cookies, a session cookie and a user cookie.
* The cookies allow the 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.
*
* If you set this to true
, RUM enables X-Ray tracing for the user sessions that RUM samples. RUM adds
* an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed HTTP requests. You
* can see traces and segments from these user sessions in the X-Ray console and the CloudWatch ServiceLens console.
* For more information, see What is
* X-Ray?
*
* 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 operation.
*
* A list of pages in your application that are to be displayed with a "favorite" icon in the CloudWatch RUM * console. *
*/ private java.util.List* 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. *
*/ private String guestRoleArn; /** ** The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to RUM. *
*/ private String identityPoolId; /** ** 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 operation.
*
* Specifies the portion of user sessions to use for 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. *
*/ private Double sessionSampleRate; /** ** 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.
*
* If you set this to true
, the RUM web client sets two cookies, a session cookie and a user cookie.
* The cookies allow the 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.
*
true
, the RUM web client sets two cookies, a session cookie and a user
* cookie. The cookies allow the 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.
*/
public void setAllowCookies(Boolean allowCookies) {
this.allowCookies = allowCookies;
}
/**
*
* If you set this to true
, the RUM web client sets two cookies, a session cookie and a user cookie.
* The cookies allow the 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.
*
true
, the RUM web client sets two cookies, a session cookie and a user
* cookie. The cookies allow the 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.
*/
public Boolean getAllowCookies() {
return this.allowCookies;
}
/**
*
* If you set this to true
, the RUM web client sets two cookies, a session cookie and a user cookie.
* The cookies allow the 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.
*
true
, the RUM web client sets two cookies, a session cookie and a user
* cookie. The cookies allow the 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AppMonitorConfiguration withAllowCookies(Boolean allowCookies) {
setAllowCookies(allowCookies);
return this;
}
/**
*
* If you set this to true
, the RUM web client sets two cookies, a session cookie and a user cookie.
* The cookies allow the 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.
*
true
, the RUM web client sets two cookies, a session cookie and a user
* cookie. The cookies allow the 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.
*/
public Boolean isAllowCookies() {
return this.allowCookies;
}
/**
*
* If you set this to true
, RUM enables X-Ray tracing for the user sessions that RUM samples. RUM adds
* an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed HTTP requests. You
* can see traces and segments from these user sessions in the X-Ray console and the CloudWatch ServiceLens console.
* For more information, see What is
* X-Ray?
*
true
, RUM enables X-Ray tracing for the user sessions that RUM samples.
* RUM adds an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed HTTP
* requests. You can see traces and segments from these user sessions in the X-Ray console and the CloudWatch
* ServiceLens console. For more information, see What is X-Ray?
*/
public void setEnableXRay(Boolean enableXRay) {
this.enableXRay = enableXRay;
}
/**
*
* If you set this to true
, RUM enables X-Ray tracing for the user sessions that RUM samples. RUM adds
* an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed HTTP requests. You
* can see traces and segments from these user sessions in the X-Ray console and the CloudWatch ServiceLens console.
* For more information, see What is
* X-Ray?
*
true
, RUM enables X-Ray tracing for the user sessions that RUM samples.
* RUM adds an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed
* HTTP requests. You can see traces and segments from these user sessions in the X-Ray console and the
* CloudWatch ServiceLens console. For more information, see What is X-Ray?
*/
public Boolean getEnableXRay() {
return this.enableXRay;
}
/**
*
* If you set this to true
, RUM enables X-Ray tracing for the user sessions that RUM samples. RUM adds
* an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed HTTP requests. You
* can see traces and segments from these user sessions in the X-Ray console and the CloudWatch ServiceLens console.
* For more information, see What is
* X-Ray?
*
true
, RUM enables X-Ray tracing for the user sessions that RUM samples.
* RUM adds an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed HTTP
* requests. You can see traces and segments from these user sessions in the X-Ray console and the CloudWatch
* ServiceLens console. For more information, see What is X-Ray?
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AppMonitorConfiguration withEnableXRay(Boolean enableXRay) {
setEnableXRay(enableXRay);
return this;
}
/**
*
* If you set this to true
, RUM enables X-Ray tracing for the user sessions that RUM samples. RUM adds
* an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed HTTP requests. You
* can see traces and segments from these user sessions in the X-Ray console and the CloudWatch ServiceLens console.
* For more information, see What is
* X-Ray?
*
true
, RUM enables X-Ray tracing for the user sessions that RUM samples.
* RUM adds an X-Ray trace header to allowed HTTP requests. It also records an X-Ray segment for allowed
* HTTP requests. You can see traces and segments from these user sessions in the X-Ray console and the
* CloudWatch ServiceLens console. For more information, see What is X-Ray?
*/
public Boolean isEnableXRay() {
return this.enableXRay;
}
/**
* * 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 operation.
*
* You can't include both
* 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 operation.
*/
public java.util.ListExcludedPages
and IncludedPages
in the same operation.
*
* You can't include both
* A list of URLs in your website or application to exclude from RUM data collection.
*
* You can't include both
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setExcludedPages(java.util.Collection)} or {@link #withExcludedPages(java.util.Collection)} if you want
* to override the existing values.
* ExcludedPages
and IncludedPages
in the same operation.
*/
public void setExcludedPages(java.util.CollectionExcludedPages
and IncludedPages
in the same operation.
*
* You can't include both
* 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 operation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AppMonitorConfiguration withExcludedPages(String... excludedPages) {
if (this.excludedPages == null) {
setExcludedPages(new java.util.ArrayListExcludedPages
and IncludedPages
in the same operation.
*
* You can't include both
* A list of pages in your application that are to be displayed with a "favorite" icon in the CloudWatch RUM
* console.
*
* A list of pages in your application that are to be displayed with a "favorite" icon in the CloudWatch RUM
* console.
*
* A list of pages in your application that are to be displayed with a "favorite" icon in the CloudWatch RUM
* console.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setFavoritePages(java.util.Collection)} or {@link #withFavoritePages(java.util.Collection)} if you want
* to override the existing values.
*
* A list of pages in your application that are to be displayed with a "favorite" icon in the CloudWatch RUM
* console.
*
* 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.
*
* 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.
*
* 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.
*
* The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to RUM.
*
* The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to RUM.
*
* The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to RUM.
*
* 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 operation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AppMonitorConfiguration withExcludedPages(java.util.CollectionExcludedPages
and IncludedPages
in the same operation.
*
* You can't include both
* 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 operation.
*/
public java.util.ListExcludedPages
and IncludedPages
in the same operation.
*
* You can't include both
* 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
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setIncludedPages(java.util.Collection)} or {@link #withIncludedPages(java.util.Collection)} if you want
* to override the existing values.
* ExcludedPages
and IncludedPages
in the same operation.
*/
public void setIncludedPages(java.util.CollectionExcludedPages
and IncludedPages
in the same operation.
*
* You can't include both
* 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 operation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AppMonitorConfiguration withIncludedPages(String... includedPages) {
if (this.includedPages == null) {
setIncludedPages(new java.util.ArrayListExcludedPages
and IncludedPages
in the same operation.
*
* You can't include both
* Specifies the portion of user sessions to use for 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.
* ExcludedPages
and IncludedPages
in the same operation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AppMonitorConfiguration withIncludedPages(java.util.Collection
* 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. */ public void setSessionSampleRate(Double sessionSampleRate) { this.sessionSampleRate = sessionSampleRate; } /** *
* Specifies the portion of user sessions to use for 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. *
* * @return Specifies the portion of user sessions to use for 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. */ public Double getSessionSampleRate() { return this.sessionSampleRate; } /** *
* Specifies the portion of user sessions to use for 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. *
* * @param sessionSampleRate * Specifies the portion of user sessions to use for 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. * @return Returns a reference to this object so that method calls can be chained together. */ public AppMonitorConfiguration withSessionSampleRate(Double sessionSampleRate) { setSessionSampleRate(sessionSampleRate); return this; } /** *
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTelemetries(java.util.Collection)} or {@link #withTelemetries(java.util.Collection)} if you want to * override the existing values. *
* * @param telemetries * 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*