Interface MonitoringAsync

  • All Superinterfaces:
    AutoCloseable
    All Known Implementing Classes:
    MonitoringAsyncClient

    @Generated(value="OracleSDKGenerator",
               comments="API Version: 20180401")
    public interface MonitoringAsync
    extends AutoCloseable
    Use the Monitoring API to manage metric queries and alarms for assessing the health, capacity, and performance of your cloud resources.

    Endpoints vary by operation. For PostMetricData, use the telemetry-ingestion endpoints; for all other operations, use the telemetry endpoints. For more information, see the Monitoring documentation.

    • Method Detail

      • refreshClient

        void refreshClient()
        Rebuilds the client from scratch.

        Useful to refresh certificates.

      • setEndpoint

        void setEndpoint​(String endpoint)
        Sets the endpoint to call (ex, https://www.example.com).
        Parameters:
        endpoint - The endpoint of the serice.
      • getEndpoint

        String getEndpoint()
        Gets the set endpoint for REST call (ex, https://www.example.com)
      • setRegion

        void setRegion​(Region region)
        Sets the region to call (ex, Region.US_PHOENIX_1).

        Note, this will call setEndpoint after resolving the endpoint. If the service is not available in this region, however, an IllegalArgumentException will be raised.

        Parameters:
        region - The region of the service.
      • setRegion

        void setRegion​(String regionId)
        Sets the region to call (ex, ‘us-phoenix-1’).

        Note, this will first try to map the region ID to a known Region and call setRegion.

        If no known Region could be determined, it will create an endpoint based on the default endpoint format (Region.formatDefaultRegionEndpoint(Service, String) and then call setEndpoint.

        Parameters:
        regionId - The public region ID.
      • useRealmSpecificEndpointTemplate

        void useRealmSpecificEndpointTemplate​(boolean realmSpecificEndpointTemplateEnabled)
        Determines whether realm specific endpoint should be used or not.

        Set realmSpecificEndpointTemplateEnabled to “true” if the user wants to enable use of realm specific endpoint template, otherwise set it to “false”

        Parameters:
        realmSpecificEndpointTemplateEnabled - flag to enable the use of realm specific endpoint template
      • changeAlarmCompartment

        Future<ChangeAlarmCompartmentResponse> changeAlarmCompartment​(ChangeAlarmCompartmentRequest request,
                                                                      AsyncHandler<ChangeAlarmCompartmentRequest,​ChangeAlarmCompartmentResponse> handler)
        Moves an alarm into a different compartment within the same tenancy.

        For more information, see Moving an Alarm.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createAlarm

        Future<CreateAlarmResponse> createAlarm​(CreateAlarmRequest request,
                                                AsyncHandler<CreateAlarmRequest,​CreateAlarmResponse> handler)
        Creates a new alarm in the specified compartment.

        For more information, see Creating an Alarm. For important limits information, see Limits on Monitoring.

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • createAlarmSuppression

        Future<CreateAlarmSuppressionResponse> createAlarmSuppression​(CreateAlarmSuppressionRequest request,
                                                                      AsyncHandler<CreateAlarmSuppressionRequest,​CreateAlarmSuppressionResponse> handler)
        Creates a new alarm suppression at the specified level (alarm-wide or dimension-specific).

        For more information, see Adding an Alarm-wide Suppression and Adding a Dimension-Specific Alarm Suppression.

        For important limits information, see [Limits on Monitoring](https://docs.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteAlarm

        Future<DeleteAlarmResponse> deleteAlarm​(DeleteAlarmRequest request,
                                                AsyncHandler<DeleteAlarmRequest,​DeleteAlarmResponse> handler)
        Deletes the specified alarm.

        For more information, see Deleting an Alarm. For important limits information, see Limits on Monitoring.

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteAlarmSuppression

        Future<DeleteAlarmSuppressionResponse> deleteAlarmSuppression​(DeleteAlarmSuppressionRequest request,
                                                                      AsyncHandler<DeleteAlarmSuppressionRequest,​DeleteAlarmSuppressionResponse> handler)
        Deletes the specified alarm suppression.

        For more information, see Removing an Alarm-wide Suppression and Removing a Dimension-Specific Alarm Suppression.

        For important limits information, see [Limits on Monitoring](https://docs.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getAlarm

        Future<GetAlarmResponse> getAlarm​(GetAlarmRequest request,
                                          AsyncHandler<GetAlarmRequest,​GetAlarmResponse> handler)
        Gets the specified alarm.

        For more information, see Getting an Alarm. For important limits information, see Limits on Monitoring.

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getAlarmHistory

        Future<GetAlarmHistoryResponse> getAlarmHistory​(GetAlarmHistoryRequest request,
                                                        AsyncHandler<GetAlarmHistoryRequest,​GetAlarmHistoryResponse> handler)
        Get the history of the specified alarm.

        For more information, see Getting History of an Alarm. For important limits information, see Limits on Monitoring.

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getAlarmSuppression

        Future<GetAlarmSuppressionResponse> getAlarmSuppression​(GetAlarmSuppressionRequest request,
                                                                AsyncHandler<GetAlarmSuppressionRequest,​GetAlarmSuppressionResponse> handler)
        Gets the specified alarm suppression.

        For more information, see Getting an Alarm-wide Suppression.

        For important limits information, see [Limits on Monitoring](https://docs.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listAlarmSuppressions

        Future<ListAlarmSuppressionsResponse> listAlarmSuppressions​(ListAlarmSuppressionsRequest request,
                                                                    AsyncHandler<ListAlarmSuppressionsRequest,​ListAlarmSuppressionsResponse> handler)
        Lists alarm suppressions for the specified alarm.

        For more information, see Listing Alarm Suppressions.

        For important limits information, see [Limits on Monitoring](https://docs.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listAlarms

        Future<ListAlarmsResponse> listAlarms​(ListAlarmsRequest request,
                                              AsyncHandler<ListAlarmsRequest,​ListAlarmsResponse> handler)
        Lists the alarms for the specified compartment.

        For more information, see Listing Alarms. For important limits information, see Limits on Monitoring.

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listAlarmsStatus

        Future<ListAlarmsStatusResponse> listAlarmsStatus​(ListAlarmsStatusRequest request,
                                                          AsyncHandler<ListAlarmsStatusRequest,​ListAlarmsStatusResponse> handler)
        List the status of each alarm in the specified compartment.

        Status is collective, across all metric streams in the alarm. To list alarm status for each metric stream, use retrieveDimensionStates. Optionally filter by resource or status value.

        For more information, see [Listing Alarm Statuses](https://docs.oracle.com/iaas/Content/Monitoring/Tasks/list-alarm-status.htm). For important limits information, see [Limits on Monitoring](https://docs.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listMetrics

        Future<ListMetricsResponse> listMetrics​(ListMetricsRequest request,
                                                AsyncHandler<ListMetricsRequest,​ListMetricsResponse> handler)
        Returns metric definitions that match the criteria specified in the request.

        Compartment OCID required. For more information, see Listing Metric Definitions. For information about metrics, see Metrics Overview. For important limits information, see Limits on Monitoring.

        Transactions Per Second (TPS) per-tenancy limit for this operation: 10.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • postMetricData

        Future<PostMetricDataResponse> postMetricData​(PostMetricDataRequest request,
                                                      AsyncHandler<PostMetricDataRequest,​PostMetricDataResponse> handler)
        Publishes raw metric data points to the Monitoring service.

        For a data point to be posted, its timestamp must be near current time (less than two hours in the past and less than 10 minutes in the future).

        For more information about publishing metrics, see [Publishing Custom Metrics](https://docs.oracle.com/iaas/Content/Monitoring/Tasks/publishingcustommetrics.htm) and [Custom Metrics Walkthrough](https://docs.oracle.com/iaas/Content/Monitoring/Tasks/custom-metrics-walkthrough.htm). For information about developing a metric-posting client, see [Developer Guide](https://docs.oracle.com/iaas/Content/API/Concepts/devtoolslanding.htm). For an example client, see [MonitoringMetricPostExample.java](https://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/MonitoringMetricPostExample.java). For important limits information, see [Limits on Monitoring](https://docs.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).

        Per-call limits information follows.

        Dimensions per metric group*. Maximum: 20. Minimum: 1. * Unique metric streams*. Maximum: 50. * Transactions Per Second (TPS) per-tenancy limit for this operation: 50.

        A metric group is the combination of a given metric, metric namespace, and tenancy for the purpose of determining limits. A dimension is a qualifier provided in a metric definition. A metric stream is an individual set of aggregated data for a metric with zero or more dimension values. For more information about metric-related concepts, see [Monitoring Concepts](https://docs.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#concepts).

        *Note:** The endpoints for this operation differ from other Monitoring operations. Replace the string `telemetry` with `telemetry-ingestion` in the endpoint, as in the following example:

        https://telemetry-ingestion.eu-frankfurt-1.oraclecloud.com

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • removeAlarmSuppression

        Future<RemoveAlarmSuppressionResponse> removeAlarmSuppression​(RemoveAlarmSuppressionRequest request,
                                                                      AsyncHandler<RemoveAlarmSuppressionRequest,​RemoveAlarmSuppressionResponse> handler)
        Removes any existing suppression for the specified alarm.

        For more information, see Removing Suppression from an Alarm. For important limits information, see Limits on Monitoring.

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • retrieveDimensionStates

        Future<RetrieveDimensionStatesResponse> retrieveDimensionStates​(RetrieveDimensionStatesRequest request,
                                                                        AsyncHandler<RetrieveDimensionStatesRequest,​RetrieveDimensionStatesResponse> handler)
        Lists the current alarm status of each metric stream, where status is derived from the metric stream’s last associated transition.

        Optionally filter by status value and one or more dimension key-value pairs.

        For more information, see [Listing Metric Stream Status in an Alarm](https://docs.oracle.com/iaas/Content/Monitoring/Tasks/list-alarm-status-metric-stream.htm).

        For important limits information, see [Limits on Monitoring](https://docs.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • summarizeAlarmSuppressionHistory

        Future<SummarizeAlarmSuppressionHistoryResponse> summarizeAlarmSuppressionHistory​(SummarizeAlarmSuppressionHistoryRequest request,
                                                                                          AsyncHandler<SummarizeAlarmSuppressionHistoryRequest,​SummarizeAlarmSuppressionHistoryResponse> handler)
        Returns history of suppressions for the specified alarm, including both dimension-specific and and alarm-wide suppressions.

        For more information, see Getting Suppression History for an Alarm.

        For important limits information, see [Limits on Monitoring](https://docs.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • summarizeMetricsData

        Future<SummarizeMetricsDataResponse> summarizeMetricsData​(SummarizeMetricsDataRequest request,
                                                                  AsyncHandler<SummarizeMetricsDataRequest,​SummarizeMetricsDataResponse> handler)
        Returns aggregated data that match the criteria specified in the request.

        Compartment OCID required. For more information, see Querying Metric Data and Creating a Query. For important limits information, see Limits on Monitoring.

        Transactions Per Second (TPS) per-tenancy limit for this operation: 10.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateAlarm

        Future<UpdateAlarmResponse> updateAlarm​(UpdateAlarmRequest request,
                                                AsyncHandler<UpdateAlarmRequest,​UpdateAlarmResponse> handler)
        Updates the specified alarm.

        For more information, see Updating an Alarm. For important limits information, see Limits on Monitoring.

        This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.