KGerrow-esristaff

Introduction to Monitoring Network Web Service Requests

Blog Post created by KGerrow-esristaff Employee on May 4, 2017

ArcGIS Web Applications including Map Viewer, interact with web services via http requests. The web application requests information (such as Feature and Tile Layer Data) from the Web Server (Feature Layer, Tile Layer) and the server responds with information so the application can display the data. Although not necessary, you can monitor and view web requests to gain more insight into how your application and server are working.

 

To monitor web requests, you will need to download a web debugging tool like fiddler or use the in browser developer tools. For this blog, I’m going to use developer tools in Chrome by navigating to the Menu > More Tools > Developer Tools.

First, let’s review at the requests that are sent for a tile service from this url:

https://webapps.maps.arcgis.com/apps/Minimalist/index.html?appid=4a944ee7b2de4dc8b9db05cfeb4f55e6

If you open up developer tools' network tab while loading the URL, you will see a lot of requests, and it can be difficult to know which is the right request to monitor. I know that I want to monitor my tile service requests, so I scrolled through the list of requests to find my tile url. There are also little images of the service that help to visualize the image response from the tile service:

Looking at the network tab, I can learn a few things about my request. The url (Name), the status (200 Success) , the type (png) and the size 22.3KB. You can also open the link by right-clicking on the link> open in new tab to see the response from the server to the application sent to the server:

https://services5.arcgis.com/cuQhNeNcUrgLmYGD/arcgis/rest/services/World_Vertex/MapServer/tile/2/1/2 

 

As this is a tile service, the application requests individual png tiles generated by the server for display in the web app.

 

Next, let’s review at the requests that are sent for a feature layer from this app:

https://webapps.maps.arcgis.com/apps/Minimalist/index.html?appid=75ed4bda471641adbb251b09670eedba 

 

You will notice that this app is slower to load the layer. If you look at the fifth request in the image below, you will notice that it has some similar properties to the tile request, Name, Status 200. The size is 1.2 MB and it took 887 ms to complete the request.

When looking at the request in more detail, you can scroll through the response which is several hundreds of pages of text (mostly geometry).  https://services5.arcgis.com/cuQhNeNcUrgLmYGD/arcgis/rest/services/World_Vertex/FeatureServer/0/query?f=json&where=1%3D1… 

 

By clicking on the link and then the timing tab, you can see more information regarding the timing of the request. The other tabs, like headers, preview and response can also give more insight into the specific request:

 

To see the input parameters in a more readable format, change the word JSON in the title to html :

https://services5.arcgis.com/cuQhNeNcUrgLmYGD/arcgis/rest/services/World_Vertex/FeatureServer/0/query?f=html&where=1%3D1… 

In this request you can see that all of the features in the service were queried: Where 1=1, and the geometries and attributes were returned.

 

Looking at these requests, you can see how the response from the feature layer requests contains more data than the request for the tile image. Try monitoring the service requests using developer tools or fiddler when you are looking to learn more about how the application communicates with the Server.

 

For more information on how Best Practices for using Tile Layers as Operational Layers, click this link to see the companion ArcGIS Blog

 

ArcGIS Online

Outcomes