Display Data Details

Displaying Data Focus

Our focus in providing a user interface to the developer was and is to keep things task focused. A developer is usually operating with two very different focuses. Design and debugging. What we are doing is trying to provide useful information for the developer to accomplish these objectives without overloading or over complicating things. As we are successful in meeting this objective you can be more efficient and focused on your design goals and NOT on our tools.

Our goal is to be an unimposing facilitator for you the developer.


Threads and Requests

Threads Active shows you how many request processes are currently running. Often requests occur so quickly that you don't see anything happen here. The importance of this number is that if you have processes that are failing you can spot 'stuck' threads and then start looking into the issue. ZAppSvr attempts to clear dead threads but cannot always clear them out, it depends on what the error is. With this feature you can see there's an issue!

Max Threads Used tells you how many concurrent processes ZAppSvr processed. This allows you to set the thread pool to a value higher that this so that there's no waiting for thread creation. One of the reasons for the high performance of ZAppSvr is the extensive object pooling used. However, having an excessive sized pool wastes memory. This is really a function of the size and scope of your PlugIn. Generally a pool size a little larger than this value is more than adequate. If demand exceeds the pool size a new Plugin object is created and everything works great. See more about this in configuration settings.

Total Bytes Xfrd allows you to see how much data was delivered to service the current total number of requests.

Total Requests is the total number of requests completed.



Cache and Cycle Time

Total Cache Objects are the number of objects kept cached in memory for faster delivery of data. An image or .css file is quite static, so rather than reload from disk every time the data is requested, you can optionally keep these objects in memory. Very often more than 1/2 of all your requests can be served from cache.

Cache In Use (bytes) shows the total amount of data in memory storage.

Total Cache Hits shows you how often data was delivered from cache, rather than the file system.

Avg Cycle Time is the average length of time required to process the request and DELIVER that request. This is not just cached requests but all requests. If you are serving data half way around the world, or to users on slow connections this number will increase. If users of your web service are on fast connections this number will drop considerably. If it's on the server itself it can even drop to microseconds. You can use this information to help determine how many concurrent requests you want to configure.

Clear Cache Button is used when you have modified images .css files or other things that are cached. Using this clears out all cache which will then be recreated upon request of site users. When a cached object exceeds the specified timeout it is automatically removed from cache and is reloaded on demand..

Cache Setting can be found at Options->Cache Options


Memory Usage

Max Memory shows the maximum memory allocated and available for this application. This is really helpful to maintain settings that allow sufficient overhead for your PlugIn application.

Total Memory tells us that the amount of memory allocated by the JVM for this application is ~174MB. Comfortably below the maximum allocated memory.

Memory Free is memory (allocated free heap) that has been assigned to your application and it's size jumps around a lot as objects are created, reused, removed, etc. This allows you to see how memory is behaving, and how close you are to the JVM increasing it's memory allocation.

Avg Min Mem In Use is very important since it tells you the minimum amount of memory used by your application. With this information you can track potential memory leaks in your custom PlugIn if you're using one. Especially those that creep up over time due to programming errors or incorrect assumptions about temporary memory storage issues.




Check Boxes

Reverse Lookup adds reverse IP information to the log, which is very useful as a debugging tool. The way this has been implemented almost completely eliminates any performance hit, so you don't need to be concerned.

You have a security option that allows you to reject requests (not a default setting) that do not have a valid reverse IP address. Normally not needed but it can be useful. Reverse IP addresses can be faked, just so you know. But those who want to hide bad enough to go this far it seems are generally up to no good. We've also found a few cell phone companies that do not provide reverse IPs.

Log Filtering is a really useful feature you can use to eliminate 'noise' and make it easier to see what users are doing on your system. For example filtering out spiders, crawlers, and search engines can leave you with a more realistic view of what's actually going on. You can filter out your own address so that you can just see what your site users are looking at. Filters are set by a dialog, Options->Log Activity Filters

Collect Performance Data is a really important feature for advanced websites that use a custom PlugIn to process web pages, or provide web delivered services for applications. It tracks everything that happens within your Plugin. More on this later, but this is a super good reason to use ZAppSvr!


Access Log Display

The log display shows you available information contained in the request:

  • IP Address
  • Timestamp of the request
  • The reverse IP address (if option selected)
  • The requested page, data, or API (i.e. endpoint)
  • Status
  • Bytes Returned
  • Referrer when available
  • Other request data which can include device, OS, Browser, and other information


Copyright © 2023, ZeroPoint, LLC.      Questions? Comments? Email Us.