Application API Throttling

To protect the Enterprise Manager OMS against an excessive amount of resource usage, you can set the following OMS properties that govern the throttling effect.

Note:

Application API throttling only applies to Grafana dashboard creation.

Depending on the version of Enterprise Manager you are running, OMS properties will be different. The following tables list OMS throttling properties that can be used for specific Enterprise Manager releases.

Table 44-1 OMS Throttling Setting Properties (Release 6 and greater)

Property Name Data Type Default Value Purpose Error Message
oracle.sysman.db.restfulapi.grafana.throttle.max.concurrent.request
number 20

Global Limit

Control the total number of concurrent requests per OMS.

You have hit the API's maximum number of concurrent access limit of <oracle.sysman.db.restfulapi.grafana.throttle.max.concurrent.request>.Contact Enterprise Manager Administrator to adjust this limit.
oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user
number 30

Per-user Limit

Control the total number of concurrent requests per user and per OMS.

You have exceeded the limit of <oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user> API requests per <oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user.interval.seconds> seconds. You can reduce the page refresh frequency or Contact Enterprise Manager Administrator to adjust this limit.
oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user.interval.sec
number 60 (seconds)

Rate-limiting

Control the rate at which the user can access the API, i.e., within a 10 minute window, the maximum number of API requests a single user can make.

You have exceeded the limit of <oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user> API requests per <oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user.interval.seconds> seconds. You can reduce the page refresh frequency or Contact Enterprise Manager Administrator to adjust this limit.
oracle.sysman.db.restfulapi.grafana.throttle.timeseries.maxdatapoints
number 10000

Data Limit

Determines the maximum number of datapoints to return when any query is executed for Grafana Plugin's Timeseries Query Type option.

None, number of rows in the query result will be simply be reduced to the maximum value set.
oracle.sysman.db.restfulapi.grafana.throttle.nontimeseries.maxnumrows
number 100

Data Limit

Determines the maximum number of rows to return when any query is executed for Grafana Plugin's Non-timeseries Query Type option.

None, number of rows in the query result will be simply be reduced to the maximum value set.
oracle.sysman.db.restfulapi.grafana.throttle.nontimeseries.maxnumcolumns
number 10

Data Limit

Determines the maximum number of columns to return when any query is executed for Grafana Plugin's Non-timeseries Query Type option.

None, number of columns in the query result will be simply be reduced to the maximum value set.
oracle.sysman.db.restfulapi.grafana.throttle.query.timeout
number 180 (seconds)

Query Timeout

Limits the amount of time (in seconds) a query execution can spend on a database. Default is 180 seconds.

Query execution was interrupted, maximum statement execution time("+queryTimeout+" seconds) exceeded.

The following OMS properties are used with Enterprise Manager Release 4 and Release 5.

Table 44-2 OMS Trottling Setting Properties (Release 4 and Release 5)

Property Name Data Type Default Value Purpose Error Message
oracle.sysman.db.restfulapi.grafana.throttle.max.concurrent.request
number 20 Global Limit

Control the total number of concurrent requests per OMS.

You have hit the API's maximum number of concurrent access limit of < oracle.sysman.db.restfulapi.grafana.throttle.max.concurrent.request>. Contact Enterprise Manager Administrator to adjust this limit.

oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user
number 30 Per-user Limit

Control the total number of concurrent requests per user and per OMS.

You have exceeded the limit of <oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user> API requests per <oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user.interval.seconds> seconds. You can reduce the page refresh frequency or contact an Enterprise Manager Administrator to adjust this limit.

oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user.interval.sec
number 60 (seconds) Rate-limiting

Control the rate at which the user can access the API, i.e., within a 10 minute window, the maximum number of API requests a single user can make.

You have exceeded the limit of < oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user > API requests per <oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user.interval.seconds> seconds. You can reduce the page refresh frequency or contact an Enterprise Manager Administrator to adjust this limit.

oracle.sysman.db.restfulapi.grafana.executesql.repository.query.timeout
number 180 (seconds) Query Timeout

Limits the amount of time (in seconds) a query execution can spend on a repository.

Query execution was interrupted, maximum statement execution time("+queryTimeout+" seconds) exceeded.

oracle.sysman.db.restfulapi.grafana.executesql.target.query.timeout
number 180 (seconds) Query Timeout

Limits the amount of time (in seconds) a query execution can spend on a database.

Query execution was interrupted, maximum statement execution time("+queryTimeout+" seconds) exceeded.

You can set these OMS properties using EMCTL as shown in the following examples.

emctl set property -name oracle.sysman.db.restfulapi.grafana.throttle.max.concurrent.request -value 5 -sysman_pwd <pwd>
emctl set property -name oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user -value 10 -sysman_pwd <pwd>
emctl set property -name oracle.sysman.db.restfulapi.grafana.throttle.max.req.per.user.interval.sec -value 120 -sysman_pwd <pwd>

Alternatively, you can view and edit OMS properties from the Cloud Control console as follows:

  1. From the Setup menu, select Manage Cloud Control, then select Management Services.

    Note:

    You will need OMS Configuration Property resource privilege to navigate to this page.
  2. On the Management Services page, click Configuration Properties.

  3. On the Configuration Properties page, you can view and edit OMS properties.

Repository Session (SQL) Throttling

To protect the Enterprise Manager Repository database, you can control the number of SQL requests. This type of throttling is carried out at the database level using the Database Resource Manager. For information about limiting SQL requests, see Repository Session (SQL) Throttling.