What is the XML feed?

The XML Feed is an XML formatted stream of data carrying monitoring information for a requested period for a Device, or a Task.

Where can I get basic info about the XML request process?
What is the basic XML FEED request?

The Basic XML FEED request is a specially formatted URL with a number of GET parameters, divided by “&” symbol, which you request by HTTPS protocol.

Content of the basic XML FEED URL is constructed from the following commands: 

 [base_service_address]  +  [account_uid]  +  [Site_id]  +  [parameter1]+[parameter2]... 

EXAMPLE:

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

Additional Parameters’ description is available in the Using the XML Reporting Service (XRS) article.

How can I get a specific Device ID, or Task ID?

Open the target Device in the list to Edit. In the browser’s address bar you’ll see something like

https://user.dotcom-monitor.com/ClientID/DeviceEdit?pid=dc7f4ff2ca944dekjh1078b96707002& deviceId=63698 & taskId=132834 

The deviceId=63698 is the device ID.
The taskId=132834 is the task ID.

How can I see unique account identifier (Account UID)?

Account UID (aka Integration UID) is your account Unique Identifier for XML Feed. You can find the Account UID for XML Feed under Configure > Integrations. Or you can create a new integration for XML Feed by adding new integration with the XML Feed type.

For a root account with Departments, if you need to pull a report on a particular Department, add an XML Feed Integration and select the Allow access to department’s data option upon integration configuring. Use the UID of this XML Feed (with access to department’s data) Integration to pull data on a particular Department in conjunction with the Department Account ID (Account > Departments) in request parameters.

Ok, how does this look in practice?

Therefore by going to Configure > Integrations add New Integration with the XML Feed type. Copy an XML Feed UID, e.g., 123456789456123789456123, then insert where Xs for PID. And then go to Device Edit. Copy the device ID, e.g., 12345, from the URL, insert where Xs for Site:

http://xmlreporter.dotcom-monitor.com/reporting/xml/responses.aspx?pid=XXXXXXXXXXX&Site=XXXXX&Type=Detail&Options=RequestDetails
What are NEW additional XML details on DNS etc..

The term we are using is “Extended XML details”, they include all underlying tree-of-response children i.e. list of all loaded elements. This option is available by adding the “Options=RequestDetails” parameter.

You can find how to enable  “Extended XML details” in the Using the XML Reporting Service (XRS) article.

How do I filter response by monitoring agent?

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=4229AF4F0FB545AER75EAF2013EB1BB7&Site=77895&Type=Detail&Location=MN, USA &Location=Amazon-US-East&Location=Frankfurt,Germany&Location=Sydney, AU 

List of agents’s strings values:

America

  • MN, USA
  • NY, USA
  • CA, USA
  • FL, USA
  • Montreal, Canada
  • CO, USA
  • TX, USA
  • VA, USA
  • Amazon-US-East
  • Buenos Aires, Argentina
Europe

  • London, UK
  • Frankfurt, Germany
  • Amsterdam, Netherlands
  • Tel-Aviv, Israel
Asia, Australia, Africa

  • Hong Kong, China
  • Sydney, AU
  • Amazon, Japan
  • Shanghai, China
  • South Africa
What are definitions for the responses 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, the time between request and response first byte received.
  • DownloadTime – is the time taken to read the response message from the server. This value will depend on the size of the content returned, network bandwidth and whether HTTP compression was used. In other words, the time between response first and last bytes.