Keeping TopView Healthy

Keeping TopView Healthy

Update: see our KB article, Keeping TopView healthy (, for the latest recommendations.

Ensuring that TopView is running without interruption is essential for our customers. Although we work hard to make sure TopView is as bulletproof as possible, there are some circumstances that can affect TopView Engine processes. Whether those circumstances are inside or outside of TopView’s control, there are ways to detect and mitigate problems.

Here are some best practices we’ve developed throughout years of usage and product support:

Verify TopView operation soon after startup

Often, the issues that prevent TopView from running well are detectable soon after launching the TopView Engine process. As soon as TopView is launched, especially if you are running it as a service, it is wise to open up the TopView Admin Tools application and inspect the overview screen and application logs for problems.


The Overview screen will show the status of data server connections, SQL Server, and displays current tag values and alarms. In the application log look for (or filter on) Warning and Error messages. Most of the major issues, like: server connection or tag resolution issues, port permission problems, or other connectivity issues will appear soon after launch. Following up with them immediately can save a lot of missed notifications and subsequent headaches.

One of the most common errors we see is when the TopView’s service is installed under a user account that lacks enough permissions to connect and read values from the data server. Verifying the TopView process is running and the server is connected in Admin Tools after launch is the easiest way to discover this problem.

Enable sending errors via email to the default group

During support calls we often see TopView Engines that have encountered errors and are not operating correctly.

Examples include:

  • TopView Engines that are suspended or unable to launch because TopView was unable to connect to the data server and has been running in the suspended state
  • Engines unable to resolve some data points and therefore running in a suspended mode. You can override this behavior and run with missing tags.

If you have enabled TopView Email Notification you can enable “send errors to default email group”. If enabled, any significant errors will trigger email notifications to the recipients in the default email group. This setting can be found on the Email-SMS General Settings page.

Update: As of TopView version 6.25.3, this setting is on by default, improving the communication of TopView issues.

Set up and monitor TopView heartbeats, status tags, or TopView application performance counters

TopView provides multiple options for monitoring TopView performance:

  1. Health output:  a heartbeat signal on the data server (PI, OPC) that TopView updates as it is running
  2. TopView status tags: internal information about the TopView Engine that can be monitored just like tags from your data source (including alarms and notification)
  3. TopView Performance Counters: provides the same information as TopView status tags in a format that can be queried by any application that can monitor Windows Performance Counters including TopView PerfMon

Sometimes we’ve seen the TopView process get bogged down because its server ran out of resources. In these types of situations there’s no good way for TopView to alert you that it is having issues because it doesn’t have the ability to do so. Output heartbeat points and performance counters allow outside entities to check on TopView’s status to ensure that TopView is running well. If the TopView sawtooth or 0-1-0 toggle stops, then you know that something in the system isn’t working as expected.

If you’ve purchased a TopView license, we’ll provide you with a free license for TopView PerfMon that allows you to monitor TopView performance counters! This is a great way to monitor TopView from a separate process or separate machine on the network.

TopView status tags/performance counters include:

  • “servers_connected”: Shows a value of “1” if all the servers are connected
  • “error_log_count”: The total number of errors in the application log since the process started
  • “statusnotgood_count”: The number of tags with bad statuses
  • Notification queue sizes and failure counts
  • many others

Our work continues

Rock-solid performance is one of our top priorities. We put significant effort in what we can control—the product operation and execution—and also try to provide information that you can monitor should something go wrong. We’re also developing ideas on how to catch common issues early and encourage strong configurations before they are even launched as TopView Engine processes.

If you have any ideas or feedback for how we can make TopView more reliable and communicative, please send them along to