Edit Usage Report

Description

Edits the usage report. To edit a usage report, you need to submit the complete JSON representation of the usage report which includes updates to the usage report properties. The name of the report cannot be changed when editing the usage report.

Request Parameters

Parameter

Details

reportname

The unique name of the report. The name must remain the same when editing.

since

The time duration for the report.

Values: LAST_DAY, LAST_WEEK, LAST_MONTH, LAST_YEAR, CUSTOM

LAST_DAY represents a time range spanning the previous 24 hours.

LAST_WEEK represents a time range spanning the previous 7 days.

LAST_MONTH represents a time range spanning the previous 30 days.

LAST_YEAR represents a time range spanning the previous 365 days.

CUSTOM represents a time range that is specified using the from and to parameters.

from

The timestamp (milliseconds since UNIX epoch, namely January 1, 1970, 00:00:00 GMT) for the beginning period of the report.

Optional parameter. Used when since parameter is CUSTOM.

to

The timestamp (milliseconds since UNIX epoch, namely January 1, 1970, 00:00:00 GMT) for the ending period of the report.

Optional parameter. Used when since parameter is CUSTOM.

aggregationInterval

Optional. Aggregation interval in minutes. Server metrics are aggregated and returned for time slices aggregated using the specified aggregation interval. The time range for the report, specified using the since parameter (and from and to when since is CUSTOM) is split into multiple slices, each covering an aggregation interval. Server metrics are then aggregated for each time slice and returned as data points in the report data.

When the aggregationInterval is not specified, the following defaults are used:

LAST_DAY: 30 minutes

LAST_WEEK: 4 hours

LAST_MONTH: 24 hours

LAST_YEAR: 1 week

CUSTOM: 30 minutes up to 1 day, 4 hours up to 1 week, 1 day up to 30 days, and 1 week for longer periods.

NoteNote:

If the samplingInterval specified in Usage Reports Settings is more than the aggregationInterval, the samplingInterval is used instead.

queries

A list of queries for which to generate the report. You need to specify the list as an array of JSON objects representing the queries. Each query specifies the list of metrics to be queries for a given set of resourceURIs.

metadata

Can be any JSON Object. Typically used for storing presentation tier data for the usage report, such as report title, colors, line-styles, etc.

Query Parameters

Property

Description

resourceURIs

Comma separated list of resource URIs for which to report metrics. Specifies services or folders for which to gather metrics.

The resourceURI is formatted as below:

services/—Entire Site

services/Folder/—Folder within a Site. Reports metrics aggregated across all services within that Folder and Sub-Folders.

services/Folder/ServiceName.ServiceType—Service in a specified folder, for example: services/Map_bv_999.MapServer.

services/ServiceName.ServiceType—Service in the root folder, for example: Map_bv_999.MapServer.

metrics

Comma separated list of metrics to be reported. Supported metrics are:

  • RequestCount—the number of requests received
  • RequestsFailed—the number of requests that failed
  • RequestsTimedOut—the number of requests that timed out
  • RequestMaxResponseTime—the maximum response time
  • RequestAvgResponseTime—the average response time
  • ServiceActiveInstances—the maximum number of active (running) service instances sampled at 1 minute intervals, for a specified service

Request Format

{
    "reportname": [unique name or id of the report],
    "since":[" LAST_DAY | LAST_WEEK | LAST_MONTH | LAST_YEAR | CUSTOM"],
    "from" : [timestamp],    //Optional – specified when "since" is CUSTOM
    "to": [timestamp],    //Optional – specified when “since” is CUSTOM
    "aggregationInterval": [minutes], //Optional – aggregation interval in minutes
    "queries": [{
      "resourceURIs": ["services/Map_bv_999.MapServer"], //Comma separated list of services and/or folders
      "metrics": ["RequestCount"] // Comma separated list of metrics
    }],
    "metadata": "This could be any String or JSON Object."
  }

Example with single query

http://server:port/arcgis/admin/usagereports/add

usagereport=
  {
    "reportname": 1394219221008,
    "since": "LAST_MONTH",
    "queries": [{
      "resourceURIs": ["services/Map_bv_999.MapServer"],
      "metrics": ["RequestCount"]
    }],
    "metadata": "This could be any String or JSON Object, typically used for storing report metadata."
  }

Example with multiple queries

{
    "reportname": "Server Statistics",
	   "since": "LAST_WEEK",
	   "aggregationInterval": 5,
	   "queries": [{
      "resourceURIs": ["services/SampleWorldCities.MapServer", "services/System"],
      "metrics": ["RequestCount", "RequestsFailed"]
    },
    {
      "resourceURIs": ["services/System/CachingTools.GPServer"],
      "metrics": ["RequestAvgResponseTime", "RequestsTimedOut"]
    }],
    "metadata": "This is a random test String that could contain report metadata in any format"
}

3/3/2017