Zynk Log Manager (ZLM)
You can use Zynk Log Manager (ZLM) to perform a variety of operations on your two Zynk databases (Zynk.sdf and Log.sdf).
The two database files are located in your data directory, typically this is C:\ProgramData\Zynk Software\Zynk\2.0, although if you have configured a custom data directory in 'Tools -> Options' your database files will be located there. You can browse to your custom data directory if necessary.
As the Sql CE version was updated to 4.0 in version 2.16 of Zynk Workflow, you can select whether to use a Sql CE 3.5 connection or a Sql CE 4.0 connection. For clarification, please see the below: -
- Versions 2.16 or higher use the Sql CE 4.0 connection
- Versions lower than 2.16 use the Sql CE 3.5 connection
If you enter the correct Sql CE version, the full path to your database file, your password (if required), size and click connect, you can query the database you've selected for information.
If you enter all the above information and don't click connect, you can verify (test the connection), compact, repair and shrink your database.
- Verify - This method will test the connection details you have entered into ZLM. For further information please visit MSDN article related to verifying a database.
- Compact - This action will reclaim wasted space in the database by recreating the file. For further information please visit MSDN article related to compacting a database.
- Repair - This method will attempt to repair a broken database. For further information please visit MSDN article related to repairing a database.
- Shrink - This method will attempt to recover wasted space in the database by removing empty page files. For further information please visit MSDN article related to shrinking a database.
General Settings
Database
Required
The database (.sdf) file you are looking to repair, shrink, verify or query.
Password
Optional
If your Zynk database is password protected, enter the password in this setting.
Size
Required
The maximum size of the database you're connecting to (4091 default).
Compact To
Optional
If you're compacting your database, optionally write the resulting .sdf file to a different location.
Size (Manage)
Optional
The maximum size of the database your compacting to.
Records Settings
Please note, you must be connected to a database to configure and use these settings.
Keep the logs for the last
Optional
Optionally remove log files for a period of workflow runs or time.
- Days or Runs select if you would like to remove records based on the number of days or the number of workflow runs.
- Number enter the amount of days or workflow runs you'd like to remove.
Remove all logs
Optional
This setting will erase all log entries from the database when enabled.
Remove orphaned logs
Optional
This setting will remove orphaned logs from the database when enabled. An orphaned log is an entry in either the Log or JobItem table that has no related entry in the Job table.
Remove all truth entries
Optional
This setting will remove all truth entries from the truth database when enabled.
Query Settings
Please note, you must be connected to a database to configure and use these settings.
Workflow
Optional
If you are looking to query a specific workflow, and are unsure how to do so, select a workflow from the drop down list and then select one of the available query templates.
Query Template
Optional
Optionally use one of the available query templates and click 'Send to Query Editor' to run and edit the query.
Query
Required
Enter your query manually or select one of the available query templates and click 'Execute'. Your results will appear in the window below which you can export or send in csv, xml or html.
Exporting and Sending Query Data
Once you have successfully executed a query in Zynk Log Manager (ZLM) you can choose to export and/or send the data in one of the following formats:
- CSV
- XML
- HTML
If you choose to send an email with an attachment of the data, you can use the default Zynk Workflow SMTP connection, but we'd prefer you to use your own if possible.
ZLM Examples
Please see below a series of screenshots of the Zynk Log Manager (ZLM).
* Not connected to database
* Connected to database
* Connected to database
* Connected to database
CSV
Id,Profile,Type,InternalId,ExternalId,Hash,Created,Modified,Purge,Collection
164,d3f9adfe-6002-41f2-bb98-fd0bc6e6154c,Zynk.SAAS.Peoplevox.Objects.ItemType,1152593,01152593,757602046,26/09/2018 14:41:20,26/09/2018 14:41:20,,
XML
<?xml version="1.0" encoding="utf-8"?>
<QueryResults>
<QueryResult>
<Id>164</Id>
<Profile>d3f9adfe-6002-41f2-bb98-fd0bc6e6154c</Profile>
<Type>Zynk.SAAS.Peoplevox.Objects.ItemType</Type>
<InternalId>1152593</InternalId>
<ExternalId>01152593</ExternalId>
<Hash>757602046</Hash>
<Created>26/09/2018 14:41:20</Created>
<Modified>26/09/2018 14:41:20</Modified>
<Purge />
</QueryResult>
</QueryResults>
HTML
* Right click and open image in new tab for better viewing
Example Log Queries
Locating Runs by Time Taken
Example: Workflow runs taking longer than 120 minutes
SELECT TOP(50) *
FROM Job
WHERE datediff(minute,StartDate,EndDate)> 120
ORDER BY datediff(minute,StartDate,EndDate) DESC
Locating Runs with Large Amounts of Records
Example: 10 most recent workflow runs producing more than 200 records
SELECT TOP(10) *
FROM JobItem
WHERE TaskId = 'c0f826db-1b34-4271-b259-c6ea323beeeb'
AND OutCount > 200
ORDER BY EndDate DESC
Locating Runs with Errors
Example: 10 most recent workflow runs producing more than 1 error
SELECT TOP(10) *
FROM JobItem
WHERE TaskId = 'e4f9d97d-8572-4b2d-b125-d8cb9807d6fe'
AND ErrorCount > 0
ORDER BY EndDate DESC
Locating Runs with Errors, Warnings and Info in a specific date range
Example: (10) tasks from workflow N, in Error/Info/Warning, between specific dates
SELECT TOP(10) l.Id, ji.Id, j.*
FROM Job j
INNER JOIN JobItem ji ON j.Id = ji.JobNumber
INNER JOIN Log l ON ji.TaskId = l.TaskId
WHERE j.WorkflowId = '576b6723-54ee-44e2-8329-f79d1d74c9f5'
AND l.Date BETWEEN '2018-06-07 13:00:00' AND '2018-06-21 13:00:00'
AND l.LogType IN ('Error', 'Info', 'Warning')
Last 10 Runs where result was 'Resume'
Example: Locate the last 10 Runs where the workflow result was 'Resume'
SELECT TOP(10) *
FROM Job
WHERE WorkflowId = '2c59c497-2354-4c0a-a499-afe74d9feea4'
AND Result = 'Resume'
ORDER BY EndDate DESC
Last 10 Runs where result was not 'Success'
Example: Locate the last 10 Runs where the workflow result was 'Resume'
SELECT TOP(10) *
FROM Job
WHERE WorkflowId = 'ab16a2ef-92ae-4688-b7f9-0a747a95e684'
AND Result != 'Success'
ORDER BY EndDate DESC
Most Recent Errors in a workflow
Example: Show last 500 errors in a workflow
Note, this strips the first 88 characters from the error message
SELECT TOP(500) Date, SUBSTRING(Message,88,LEN(Message))
AS Error
FROM Log
WHERE TaskId = '3706633e-b547-42a0-a623-4a724db69b68'
AND LogType = 'Error'
ORDER BY Date desc