Content

ToDoList Maintenance

Performance Statistics

System Monitor
Threads

User Connections

Connection Log

Timeout Handling

 

Trending

Indexing and Searching

Overview

Setup

Usage

 

ToDo List Maintenance

Top ../images/arwup.gif (846 bytes)

Shows the following information concerning each row of the ToDo List:

Item Description
Id LabVantage-assigned identifier (number) of the row.
Action LabVantage Action awaiting execution.
Click the icon to see the Action properties and values.
Queued Date Date and time the Action was posted onto the ToDo List.
Due Date Date and time the Action is due to be executed.
Status Condition of the Action:
ConditionDescription
EAn error has occurred during processing.
SThe Action is being processed.
WThe Action is waiting to be processed.
Errors If the Status is Error, description of the error.

The buttons provide the following ToDo List functionality:

Item Description
Delete Removes the selected row from the ToDo List.
Resend If an error occurs during Action processing, Resend clears the error and sets the status of the Action to W (waiting to be processed). The ToDo List then makes another attempt at processing the Action.
Display Choose the maximum number of ToDo List rows to display.

 

Performance Statistics

Top ../images/arwup.gif (846 bytes)

Performance Statistics can be enabled/disabled using the Logging and Stats Options. This is a property in labvantageconfig.props (com.labvantage.sapphire.server.stats).

Statistics are provided for the following items that LabVantage has attempted to execute:

Item Description
Actions LabVantage Actions.
Business Rules SDC Rules.
Request Commands Client requests made to the Request Controller servlet.
Queries Queries made by Query SDIs.
SQL Queries made by SQL statements.
RSets Result sets.
Action Blocks Series of Actions that are executed sequentially, optionally driven by conditional logic.
Code Blocks Provided as a debug aid to return statistics for code blocks.

The following statistics are provided for each item that LabVantage processes in an attempt to execute (all times are in milliseconds):

Item Description
Identifier Label used to denote each item:
IdentifierDescription
ActionLabVantage Action identifier. Actions that define SDCId as an input property (such as AddSDI) are identified by the SDC to which they apply, e.g.,

AddSDI (sdc=Sample)
AddSDI (sdc=User)

Event Type SDC Rules are grouped by the SDC to which they apply and prefaced by "Custom" 9user-generated) or "System" (system-generated), e.g.,

Custom Sample.PostAdd
Custom Sample.PreAdd

Command=ParameterRequest Controller parameter-value pair.
QueriesIdentifier of the Query SDI.
SQLIdentifier of the SQL query.
RSets RSets are identified by the type of RSet and number of rows involved, e.g.,

Clear RSet (2 - 10 rows)
Item RSet (1 row)

Action BlocksIdentifier of the Action Block.
Code BlockSystem-generated name of the code block.
Count Number of times the item was processed.
Average Total (below) divided by Count (above).
Total Total time expended to process all items.
Min Minimum time expended to process an item.
Max Maximum time expended to process an item.
Last Time expended to process the last item.

 

System Monitor

Top ../images/arwup.gif (846 bytes)

LabVantage takes standardized measurements to provide diagnostic information regarding various areas of internal functionality. The System Monitor shows the results of these metrics.

Cache Sizes

Certain LabVantage Components in the Application Server cache results they retrieve from the database (above). For example, the SDC Component uses a cache to hold retrieved SDC identifiers. Each object in this cache would correspond to an SDC. This monitor displays information about the size of these caches.

Item Description
Cache Name Identifier of the cache within the LabVantage Component.
Entries Number of objects that have been retrieved from the database and are currently stored in the cache.
Peak Peak number of objects retrieved from the database and stored in the cache.

The "Reset Caches" button resets all values to zero and begins a new cache monitoring session.

Checking "Show Cache Contents" shows the contents.

Table Sizes

Displays the number of rows within selected System tables.

Item Description
Table Name Identifier of the table.
Rows Number of rows currently in the table. The implications of this depend on the table being monitored:
TableDescription
ToDoList Since the requestor (Web Browser or LabVantage Component) creates ToDo lists records to execute Actions, this metric indicates the number of Actions in the ToDoList waiting to be polled, as well as the number of Actions that have failed to execute.
ConnectionThis indicates the number of connections (from an Application Server Connection Cache to the database) that active, as well as those awaiting timeout.
RSetThis is the number of Result Sets that have been retrieved and are currently being processed, as well as those awaiting timeout.
TraceLog Each record in the TraceLog table indicates an audit reason.

Event Objects

Event objects are generated when events occur, the type being dependent on where the event is generated. These are passed into the Event Manager and matched against the set of plans defined in the system. The Event Objects tab shows details concerning the event objects that have been processed by the Event Manager, along with their status (Ignored, No Match, Fired).

Event Plans

The Event Plans tab shows details concerning the active Event Plans in the system and the activity in the plans.

Automation Stats

This information shows activity of the pollers that are created on the LAM to poll the ToDo List. For an overview of the automation system, see Concepts of Actions → Action Processing.

Automation Server:

Item Description
ToDo List Entries Processed Number of ToDo List entries processed by this server.
Entries in Memory-Based Queue Backlog of ToDo List entries that have been read but not yet processed.
Active Thread Count Number of automation threads currently processing ToDo List entries.
Current Pool Size Number of automation threads available to process ToDo List entries.

Pollers:

Item Description
Poller Poller for Server Ping, PollToDoList, UpdateStats (Hourly), UpdateStats (Daily), Task Scheduler, Scheduler, Timeout, and Housekeeping.
Interval Frequency at which the poller executes.
Status Current status of each poller.
Last Execution Date Date and time when the poller last executed.
Run Count Running count of the Poller since the last server restart.
Last Error Last error generated by the poller. Refer to the LabVantage log file for a description of the error.

Memory Statistics

Displays available memory in the Java Virtual Machine (JVM) by executing the method specified below.

Item Description

Memory Types
and Size

Value and Definition    Method
Total = Total number of bytes in the JVM memory.    java.lang.Runtime.totalMemory()
Free = Approximation of the number of free bytes in the JVM memory.    java.lang.Runtime.freeMemory()
Maximum = Maximum amount of memory the JVM will attempt to use.    java.lang.Runtime.maxMemory()

Last LabVantage Reporting Info Sent

By default, LabVantage streams the license and environmental information listed here to VantageCare on every server restart. If running LabVantage 8.4.2 or higher, the client does not require a VantageCare public certificate when running under HTTPS, as the LabVantage application should connect to VantageCare without validating a locally installed certificate.

If you want this feature to be disabled, you must request an updated license key.

 

Threads

Top ../images/arwup.gif (846 bytes)

To see a high-level glimpse into the application server behavior, navigate to System Admin > Monitoring > Threads. The Thread monitor page allows you to view the threads inside the application server and drill in to view their current stacktrace. This can be useful when trying to diagnose blocked or slow running thread.

 

 

Column Description
Thread Name For LV Automation threads the formal of the name is: lv-[databaseid]-[sdmscollectorid]-[usage]-[#] (sdmscollectorid only used for SDMS threads)
ID The internal ID assigned by the app server. This number is recorded in the labvantage.log file (e.g. #222])
State

The current state of the thread. Typical values are:

  • RUNNABLE: the thread is currently executing code
  • WAITING - The thread is currently idle
  • TIMED_WAITING - the thread is currently waiting on another thread or is asleep
  • BLOCKED - the thread is waiting for another thread's monitor to release it
Group Thread groups allow items in the group to be processed in serially rather than in parallel.
Priority

The higher the number, the higher the priority. Typical values are

  • 1=Low priority
  • 5=Medium priority
  • 10=High priority
Type Will be either Normal or Daemon

 

If a thread is in a Runnable state, the "..." button can be clicked to vie the thread's current stack trace. The toolbar buttons perform the following functions:

 

Button Description
Refresh Refresh the current view.
All Threads This shows a list of ALL threads in the application server
Normal Threads

This eliminates any Daemon threads that are typically used for internal app server processes.

LV Automation Threads

This shows only those threads created by and for LabVantage automation purposes, including:

  • ToDoList Processing
  • SDMS Processing
  • Timeout and Housekeeping
LV Stack Traces

This examines the stack trace of every running thread and checks to see if they are currently executing LabVantage code. If they are, their stack traces are shown.

 

 

User Connections

Top ../images/arwup.gif (846 bytes)

Connection Log

The Connection Log shows the history of user connections. You can use the "Connection Log Retention Time" option in Housekeeping Settings (System Admin → System Configuration) to specify when the Connection Log is deleted.

"Current Connections" shows connections that are currently open (connected), with the currently logged-in user shown in green text. Active connections are shown in bold text.

This information is persisted in the ConnectionLog table:

Column Description
Connection Id System-assigned identifier persisted in the Connection table.
User SysUserId associated with the connection.
Job Type Job Type (if any is associated with the connection).
Login Date/time of the login associated with the connection.
Last Accessed Date Most recent date/time the device accessed the Application. This is displayed only for active connections.
Logout Date/time of the logout associated with the connection. Connections that are pending deletion are shown as (Pending).
Server Hostname or IP address of the machine hosting the Application Server tier.
Client Hostname or IP address of the machine hosting the Client tier.
Device Id Specifies the logical device that made the connection (Application Server's Web Server, Java Public API, or LabVantage Web Services).
Browser If the Device Id is the Application Server's Web Server, this is the type and version of the Web browser client.

"Close Connections" closes any selected connections.

"Recent Activity" shows connections created during the last seven days. Connections created prior to the last seven days are not shown even if the are active.

"Search" lets you query the list of connections by the query parameters in the left pane:

Alert Users

"Alert Users" lets you send a broadcast message to all (or some) connected Users. The broadcast can be sent to all connected Users or a selected subset by specifying "Selected Recipients". Clicking "OK" sends the message, which is immediately displayed as an alert on the target Users' browser.

Timeout Handling

"Timeout" is an event that clears a connection. Timeout is determined by the "Remove connections that have not been used for more than" property in System Configuration → Automation Options (the default is 3600 sec). Also in System Configuration → Automation Options is the "Timeout Poll Interval" property (default = 60 sec). A server-side "Session Expiry Notification" is sent to the Web browser one Timeout Poll Interval before the actual logoff occurs. It displays the "Session Expiry" dialog below, which lets you continue the session or logoff.

Clicking "Continue" resets the Timeout and closes the Session Expiry dialog in the current window and all other open windows of this session. Clicking "Logoff" redirects the current window and all other open windows of this session to the Logon page. If neither button is clicked, the browser will eventually receive a "Logoff Notification". This is sent to the browser when the session is marked as "ended" on the server. On receipt of this Notification, the browser redirects the current window and all other open windows of this session to the Logon page.

 

Trending

Top ../images/arwup.gif (846 bytes)

"Trending" provides a graphical representation of trends regarding ToDo List Maintenance, Performance Statistics, System Monitor, User Connections, and JVM. Although Trending can aid with problem diagnosis or monitoring system stability, it is not intended to provide a view of how these system metrics change over time. Trending can display (in the time domain) up to two system parameters simultaneously. Select the parameters in the left frame. The second parameter you select is assigned to a separate Y-axis.

"Show Historical Trend" lets you view historical data:

"Show Historical Trend" provides options for:

Frequency Determines polling interval for data collection and retention time for trending data:
"Hourly" polls every hour with a default retention time of 24 hours.
"Daily" polls every 24 hours with a default retention time of 30 days.

Polling is automatic and is done once for each combination of application server and database.

Server Determines the resolved name of the machine hosting the application server / database being monitored. This lets you switch between data captured for each application server and each database. Alternatively, you can show data collected for all application servers or all databases, in which case each is displayed as separate lines on the chart.
Show Server Restarts Places overlay markers on the graph to show when the application server was restarted.

"Show Live Trend" lets you view live data:

"Show Live Trend" provides these options for the application server / database combination defined by the current connection:

Trend Determines how data are displayed:
"Absolute Values" show absolute data for two selected parameters.
"Delta" show differences between two selected parameters.
Frequency Determines polling interval for data collection. Choose from the dropdown list.

Live trending retains only the last 100 data points collected, so the time coverage varies depending on the Frequency.

Total Duration Determines the resolved name of the machine hosting the application server / database being monitored. This lets you switch between data captured for each application server and each database. Alternatively, you can show data collected for all application servers or all databases, in which case each is displayed as separate lines on the chart.

Ping Statistics

 

 

The System Trending page provides a means to determine whether there are any incremental slowdowns in performance. The database, To Do List, and Actions will execute a number of pings throughout the day. By examining these ping statistics, you can track some baseline system performance metrics.

  1. Database
    1. This executes a simple piece of SQL and measures its performance over time.
    2. Slowdowns may indicate the database is overloaded or that the datasource pool has been "maxed out"
  2. Action
    1. This executes a beep action that simply writes an entry into the log file
    2. Slowdowns here may indicate that the number of EJB threads is "maxed out"
  3. ToDoList
    1. This puts a "beep" action on the todolist and measures how long it take before the action gets executed
    2. Slowdowns here may indicate that the todolist is becoming saturated
    3. Performance times for this measurement are not 100% accurate but give an estimation as to how long the wait is.

 

Indexing and Searching

Top../images/arwup.gif (846 bytes)

Overview

 

"Indexing and Searching" is the configuration and maintenance page for System Search, a search engine for finding and accessing data in a LabVantage database. When data for SDIs are saved, the indexing engine compacts the text from each field and removes (English) stop words, then indexes the remaining text (using Lucene indexing technology), and links search terms back to the original SDI. The Search page then displays results and includes links to access the data. System Search finds text within SDIs (primary records and Attributes), Notes, and Attachments.

Setup

 

In order to use Indexing and Searching:

1.   At a minimum, enable the "Indexing Configuration" and "Searching Configuration " options in the Search Policy. If desired, change other properties from their default values.
2.   Restart the Application Server (you must do this in order for Indexing to begin).
3.   In the "Indexing and Searching" page toolbar, click "Start Indexing" on the toolbar:

If you cannot see the Indexing data, click "Reset Index", wait a few seconds, then click "Index Pending" on the "Indexing" tab (below).

These operations are available on this toolbar:

Button Description
Start/Stop IndexingToggles indexing on and off.
Reset IndexRemoves all items from the file-based index and all records from the IndexMap table, effectively deleting the Index.
Refresh StatsRefreshes the Indexing and Searching statistics shown in those tabs.

Usage

 

Indexing Tab

The "Indexing" tab shows details concerning the index status, items being indexed, and time statistics. After starting the Indexing process as shown in Setup, newly added SDIs defined (by SDC) in the Search Policy will be indexed.

Statistics are shown in two tables:

Table Description
Pending Backlog Indicates the number of backlogged items and shows the top 5 items from the backlog queue (items on the INDEXMAP table with an indexflag set to 'B').
Indexing Backlog Provides a summary of the indexing backlog. For each SDC that can be indexed, this shows:
Percentage indexed (percentage includes the number of indexed SDIs, Notes, and Attachments).
Indexed and total number of SDIs.
Indexed and total number of Notes.
Indexed and total number of Attachments.
Estimate of the time to index these outstanding items.

These operations are available to provide a degree of control over the indexing and backlog data:

Operation Description
Index Pending Pending items are those waiting to be indexed in the IndexMap table (such as those waiting for the next indexing cycle to start). This button performs the indexing immediately.
Clear Indexing Clears the "Pending Indexing" items from the Index queue. These are added by standard editing events in the system (such as AddSDI, EditSDI, etc.) and by the crawling routines search for modified items.
Clear Deletes Clears the "Pending Deletes" items from the Index queue. These are added by the standard deleting events in the system (such as DeleteSDI).
Resume Backlog Indexing Resumes backlog indexing (switches the indexer status to backlog processing) by consuming the pending backlog items in manageable chunks. Administrators could typically use this button when there is a large backlog and they wish to switch between normal indexing and backlog indexing during high and low periods of system activity.
Clear Backlog Clears the "Pending Backlog" items from the index queue. These are added by the new backlog indexing routines as defined by the indexing backlog options.
reset Resets the last index date (stored in SysConfig) to the current date and time. This may be useful to minimize the volume of items found during the regular crawl of the database. Note that this is hyperlink in the "Last index date" field.
Index Backlog Switches the indexer status to "Indexing Backlog" and starts the backlog indexing process. A warning and confirmation dialog is issued - and for good reason. While the backlog is being processed and the primary Indexer is stopped. This means new and edited indexable items are not indexed. So, depending on the size of the selected backlog, this process could require several hours to complete. However, you can stop, then restart the backlog indexing to resume normal indexing.

If no SDCs are selected in the "Indexing Backlog" table, then it is assumed that all backlog items should be indexed. After the warning is issued, all non-indexed items are added to the index queue as "Pending Backlog" items and processed/indexed in chunks.

If an SDC is selected, only the backlog items for that SDC are added as "Pending Backlog" items. Additionally, the set of backlog items can be further reduced with these backlog indexing options, which are rendered when clicking the "Show Backlog Indexing Options" hyperlink:

Max rows
Limits the number of backlog SDIs added to the index queue to a fixed number of rows.
Only SDIs created after
Limits the number of backlog SDIs added to the index queue to those created after a specified date.
Sequence
Determines the sequence of processing of the subset.
Where (advanced)
Limits the number of backlog SDIs added to the index queue with a where clause added to the select from the SDC table. Using the Sample SDC as an example, the number could be restricted to those from a given Project with "projectid='ProjA'".

During backlog indexing, no crawling indexing is performed.

Searching Tab

The "Searching" tab shows details concerning search status, current searches, and time statistics.