Using the XML Reporting Service (XRS)

Glossary: XML Feed

The XML Reporting Service (XRS) provides access to real-time data via HTTP requests.  By sending a properly formatted http get request to xmlreporter.dotcom-monitor.com with valid parameters, you will receive an xml document with the requested data.  You can work with the data from the xml document however you need.  Possibilities include importing the data into another system or dashboard.

The maximum number of requests to The XML Report Service is 1 every 10 seconds.

If you submit more than one request within 10 seconds, the service returns an XML Document with the next allowed request time as follows:

<error> You have reached maximum allowable requests limit per IP [192.168.107.97] </error>

<nextAllowedTime>Tuesday, February 18, 2014 7:50:26 PM</nextAllowedTime>

<nextAllowedTimeGMT>Tuesday, February 18, 2014 4:50:26 PM</nextAllowedTimeGMT>

The XML FEED request is a URL with a number of GET parameters, separated by a “&” symbol.

An XML request consists of the following items: 

 [base_url_address] 

+
 [unique_account_uid] 

+
 [Site_id] 

+
 [parameter1]&[parameter2]… 

Here are two sample requests:

 https://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx  ?pid=4229AF4F0FB545AEA75EAF2013E51BB7  &Site=12345  &Type=Overall 

 

 https://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx  ?pid=78789A2394764BA880A4DCAC62AAE90D  &Site=57628  &Type=Detail&location=NY, USA 

 

Available Request Components:

status.aspx - returns devices state and status information
  • http://xmlreporter.dotcom-monitor.com/reporting/xml/status.aspx

This will simply return the State of: Up/Down/Postponed and the status of Active/Postponed/NoTasks for the requested devices.

Parameters:

  • PID=<Client UID>

This is is your client Global Unique Identifier. This ID can be found when logged in to your account in the navigation menu under Account, Client UID.

  • Site=<Site1>&..&Site=<SiteN> OR Site=* – Sites list

This is a list of Site IDs. Also called “Devices” in Dotcom-Monitor.  Individual Device IDs can be found when logged in to your account on the Device Manager screen by clicking edit in the action menu next to the selected device.  when the next screen loads, the Device ID will be in the url as such:

https://user.dotcom-monitor.com/Site-Edit.aspx?id=123456

You can also get the site ID using the xml interface.  Please see the usage of config.aspx. You can output multiple sites in one request. Use * to select all the sites.

Examples:

https://xmlreporter.dotcom-monitor.com/reporting/xml/status.aspx?pid=78789A2394764BA880A4DCAC62AAE90D&Site=*
responses.aspx - returns responses information
  • http://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx

This base url is used to pass a number of parameters in the request, as detailed below in the list of parameters.

Be sure to remove any spaces between parameters or the xml feed will ignore those parameters.

Parameters:

  • PID=<Client UID>

This is is your client Global Unique Identifier. This ID can be found when logged in to your account in the navigation menu under Account, Client UID.

  • Site=<Site1>&..&Site=<SiteN> OR Site=* – Sites list

This is a list of Site IDs. Also called “Devices” in Dotcom-Monitor.  Individual Device IDs can be found when logged in to your account on the Device Manager screen by clicking edit in the action menu next to the selected device.  when the next screen loads, the Device ID will be in the url as such:

https://user.dotcom-monitor.com/Site-Edit.aspx?id=123456

You can also get the site ID using the xml interface.  Please see the usage of config.aspx above. You can output multiple sites in one request. Use * to select all the sites.

  • Task=<Task1>&..&Task=<TaskN> OR Task=* – Tasks list

This is an ID of tasks, similar in structure to Site.

Individual Task IDs can be found when logged in to your account on the Device Manager screen by clicking edit in the action menu next to the selected task.  when the next screen loads, the Device ID will be in the url as such:

https://user.dotcom-monitor.com/task-edit.aspx?id=123456

You can also get the task ID using the xml interface.  Please see the usage of config.aspx above. You can output multiple tasks in one request. Use * to select all the tasks.

There are several optional parameters that can be appended to the url using the &, particularly when polling for responses with the base url of http://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx:

  • Type=Overall

This will provide summary data, such as uptime/downtime, number of successes and number of failures, performance data and standard deviation.

  • Type=Hour
    This parameter will aggregate responses into hour-long periods and display statistical information for each hour.

  • Type=Day

Include summary by days for specified period.

  • Type=Week

Include summary by week for the specified period.

  • Type=Quarter
    This parameter breaks a period into a 3-month (Quarter) period and each “</Summary> … </Summary>” element represents statistical data calculated over 3-month period.
  • Type=Month

Month= summary by month for specified period.

  • Type=Year

Year=summary by year for specified period.

  • Type=Detail

Provides raw data for a requested period. Raw data is available only for the last 60 days.

  • Startofweek=<Monday>
    Allows the user to shift the start day of a business week. For example you can set the day to start to a Sunday, like in the US (Startofweek=Sunday), or Monday like in the EU (Startofweek=Monday)
  • From=<DateAndTime>

This specifies start date and time for reporting.

For US date and time format, use slashes “MM/DD/YYYY H:M”
For EU date and time format, use dashes “YYYY-MM-DD H:M”

  • To=<DateAndTime>

This specifies an end date and time for reporting.
For US date and time format, use slashes “MM/DD/YYYY H:M”
For EU date and time format, use dashes “YYYY-MM-DD H:M”

EXAMPLE:
US format:
http://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx?pid=9D7B3CBCEFAD4B41A188E88E750BB865&Site=70795&Type=overall&from=09/13/2012&to=09/13/2012
EU format:
http://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx?pid=C8BE4C42486C471ABE06E2DCE5ADB0DF&Site=59106&Type=Detail&from=2012-03-04 15:20&to=2012-03-05 15:20
 
  • Type = Hourofday

This parameter gives responses containing 24 numbered pieces, where each “</Summary> … </Summary>” element matches one exact hour in a day. Statistical Values (like Average Response Time, Response Time STDDev, Downtime Percentage etc.) reflect averages calculated over a specified period (for example, a week period). This parameter is convenient for the analysis of the hourly load.

This type works only for reporting periods longer or equal to 1 day.
  • Type = StatusChange
    Statistical information is calculated for each block, which corresponds to the length of time after any change of status. This parameter will make “</Summary> … </Summary>” elements display periods in the same way as in “Uptime/Downtime periods” section of any online report.
  • Type = DayOfWeek
    This parameter provides a response containing seven (7) numbered pieces, where each “</Summary> … </Summary>” element matches one exact day in a week. Statistical Values (like Average Response Time, Response Time STDDev, Downtime Percentage etc.) reflect averages calculated over a specified period (for example, a week period) for a day. This parameter is convenient for the analysis of the daily load.
  • Filter=<FilterID>

This provides the ability to filter your data in compliance with the filter’s rules.

Individual Filter IDs can be found when logged in to your account on the Device Manager screen in the navigation menu under Configure, Filters.  when you click on a filter you will see the ID in the URL of the edit page:

https://user.dotcom-monitor.com/Filter-Edit.aspx?id=123456

  • Scheduler=<SchedulerID>

This provides the ability to exclude data for a specific period of time.

Individual Schedule IDs can be found when logged in to your account on the Device Manager screen in the navigation menu under Configure, Schedules.  when you click on a filter you will see the ID in the URL of the edit page:

https://user.dotcom-monitor.com/Scheduler-Edit.aspx?id=123456

  • Status=S

View successful responses only.

  • Status=F

View failure responses only.

  • Location=[agent1]&…&Location=[agent2]

Filter responses by monitoring agent locations.

If you want the XML Feed to show results only from certain monitoring agents, add “&Location” string parameter to the request URL in the following way:

http://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx?pid=XXXXXXXXXXX&Site=XXXXX&Type=Detail &Location=[agent1]&Location=[agent2]…&Location=[agent5]… 

Example
http://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx?pid=XXXXXXXXXXX&Site=XXXXX&Type=Detail &Location=[agent1]&Location=[agent2]...&Location=[agent5]...
 

List of agents’s strings values:

America

  • San Francisco
  • IPv6 San Franciso
  • Seattle
  • Dallas
  • Denver
  • Minneapolis
  • Miami
  • Montreal
  • Washington DC
  • New York
  • AWS US-East
  • Buenos Aires
Europe

  • London
  • Paris
  • Amsterdam
  • Copenhagen
  • Frankfurt
  • Warsaw
  • Tel-Aviv
Asia, Australia, Africa

  • Mumbai
  • Hong Kong
  • Beijing
  • Shanghai
  • Tokyo
  • Sydney
  • Brisbane
  • Johannesburg
  • Options=Comments

Include custom comments associated with a device.

  • Options=RequestDetails

To include element level details (as included in a waterfall chart), you can set the Options flag to RequestDetails.

Include “Extended XML details”.

  • Options=AllDownPercentages

Include all percentages of summary.

  • Options=AllTimes

Include all times of summary including the uptime, downtime, undefined time, weighted uptime and weighted downtime.

  • Options=LatestResponses

Include the most recent response from every monitoring location assigned to the selected devices.

  • Amount=<number>

Include only set <number> of last responses for the selected devices.

  • Details=Content

Include Hit detail Content.

  • Details=HtmlBody

Include Hitdetail HtmlBody

  • Details=CommonDescription

Include Hitdetail CommonDescription

  • Details=BrowserAction

Includes navigation timings such as Navigation Start / End, Redirct, Fetch, Domain Lookup, Request Start, Unload Event, Render Start

Examples:

https://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx?pid=78789A2394764BA880A4DCAC62AAE90D&Site=*&Type=Overall
https://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx?pid=78789A2394764BA880A4DCAC62AAE90D&Task=*&Type=Detail
config.aspx - returns sites and tasks configuration information

This base url is used to pass a number of parameters in the request, as detailed below in the list of parameters.

  • https://xmlreporter.dotcom-monitor.com/reporting/xml/config.aspx

This url allows you to retrieve the Site IDs and Task IDs.

Parameters:

  • PID=<Client UID>

This is is your client Global Unique Identifier. This ID can be found when logged in to your account in the navigation menu under Account, Client UID.

  • SiteName=<Site1>&..&Site=<SiteN> OR Site=* – Sites list

This is a list of Site IDs. Also called “Devices” in Dotcom-Monitor.  Individual Device IDs can be found when logged in to your account on the Device Manager screen by clicking edit in the action menu next to the selected device.  when the next screen loads, the Device ID will be in the url as such:

https://user.dotcom-monitor.com/Site-Edit.aspx?id=123456

You can also get the site ID using the xml interface.  Please see the usage of config.aspx above. You can output multiple sites in one request. Use * to select all the sites.

  • Task=<Task1>&..&Task=<TaskN> OR Task=* – Tasks list

This is an ID of tasks, similar in structure to Site.

Individual Task IDs can be found when logged in to your account on the Device Manager screen by clicking edit in the action menu next to the selected task.  when the next screen loads, the Device ID will be in the url as such:

https://user.dotcom-monitor.com/task-edit.aspx?id=123456

You can also get the task ID using the xml interface.  Please see the usage of config.aspx above. You can output multiple tasks in one request. Use * to select all the tasks.

You can also use mask for “SiteName” parameter to filter request results by some starting pattern: SiteName=em*

  • Type=Task

Includes task basic information.

  • Type=Field

Includes task detailed information.

Examples:

https://xmlreporter.dotcom-monitor.com/reporting/xml/config.aspx?pid=78789A2394764BA880A4DCAC62AAE90D&SiteName=em*&Type=Task
https://xmlreporter.dotcom-monitor.com/reporting/xml/config.aspx?pid=78789A2394764BA880A4DCAC62AAE90D&SiteName=*&TaskName=*&Type=Field
XML Response Fields

Example:

<Response> 
<ID>3424533543</ID> 
<Name>Demo request</Name> 
<URL>http://demo.webportal.com/APIv1/json?userid=test;userweight=22;ACT=DASW</URL>
<Monitoring-Date-Time>3/26/2014 12:38:38 PM</Monitoring-Date-Time> 
<Duration>114</Duration>
<DnsTime>0</DnsTime>
<SSLTime>0</SSLTime> 
<ConnectionTime>15</ConnectionTime> 
<RequestTime>0</RequestTime> 
<FirstPacketTime>97</FirstPacketTime> 
<DownloadTime>2</DownloadTime> 
<Status>S</Status> 
<Monitoring-Location>FL, USA</Monitoring-Location> 
</Response>
  • Duration – Overall time taken to complete the task (Basically – sum of times below)
  • DnsTime – is the time required to resolve a host name (e.g. www.google.com) into a numeric IP address (e.g. 216.239.59.99).
  • SSLTime – is the time required to complete the SSL handshake process.
  • ConnectionTime – is the time required to create a TCP connection to the web server (or proxy). Keep-Alive connections are often used to avoid the overhead of repeatedly connecting to the web server.
  • RequestTime – is the time required to send the HTTP request message to the server and will depend on the amount of data that is sent to the server. For example, long Send times will result from uploading files using an HTTP POST
  • FirstPacketTime – (Time To First Byte) time elapsed to start receiving data from the remote web server. In other words, time between request and response first byte received.
  • DownloadTime – is the time taken to read the response message from the server. This value will be depend on the size of the content returned, network bandwidth and whether HTTP compression was used. In other words, time between response first and last bytes.