{"id":1690,"date":"2025-12-03T21:20:26","date_gmt":"2025-12-03T21:20:26","guid":{"rendered":"https:\/\/craftcookcode.com\/?p=1690"},"modified":"2025-12-03T21:20:28","modified_gmt":"2025-12-03T21:20:28","slug":"qlik-replicate-is-the-record-there-or-not-im-confused","status":"publish","type":"post","link":"https:\/\/craftcookcode.com\/?p=1690","title":{"rendered":"Qlik Replicate: Is the record there? Or not? I&#8217;m confused!"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>I think as Qlik Replicate developers; we have all been here before.<\/p>\n\n\n\n<p>The testers berating you through MS Teams saying, \u201cWe have made a change, and we cannot see it downstream! It is all Qlik Replicate\u2019s fault!\u201d<\/p>\n\n\n\n<p>Opening the task and checking the monitoring screen \u2013 I can see the change against the table.&nbsp; What are they going on about?&nbsp; Qlik has picked up something; why can\u2019t they see it? (Sixty percent of the time; something downstream has failed, twenty percent of the time something upstream has failed, nineteen percent of the time they are looking in the wrong spot and the remaining one percent of the time \u2013 well we won\u2019t mention that one percent.)<\/p>\n\n\n\n<p>But looking at the monitoring screen \u2013 what does those numbers mean?&nbsp; Also, if you look in the analytics database; what does those figures mean?<\/p>\n\n\n\n<p>Hopefully, this article will help you understand the monitoring and analytics numbers with some simple examples.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Filters &#8211; why does it have to be filters?<\/h2>\n\n\n\n<p>We have two main types of Qlik Replicate tasks.&nbsp; One type grabs all changes from a particular table and sends it to our Data Lake in micro batches of fifteen minutes.<\/p>\n\n\n\n<p>The other type are our speed tasks; only grabbing changes on specific columns on a table.&nbsp; To limit QR to only picking up specific changes; we have filters like this:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\n($AR_H_OPERATION != &#039;UPDATE&#039; AND $AR_H_OPERATION != &#039;DELETE&#039;) OR\n(\n  ($AR_H_OPERATION == &#039;UPDATE&#039;) AND \n  (\n    ( $BI__FIELD_1 != $FIELD_1 ) OR ( $BI__FIELD_1 IS NULL AND $FIELD_1 IS NOT NULL ) OR ( $BI__FIELD_1 IS NOT NULL AND $FIELD_1 IS NULL ) OR\n    ( $BI__FIELD_2 != $FIELD_2 ) OR ( $BI__FIELD_2 IS NULL AND $FIELD_2 IS NOT NULL ) OR ( $BI__FIELD_2 IS NOT NULL AND $FIELD_2 IS NULL ) OR\n    ( $BI__FIELD_3 != $FIELD_3 ) OR ( $BI__FIELD_3 IS NULL AND $FIELD_3 IS NOT NULL ) OR ( $BI__FIELD_3 IS NOT NULL AND $FIELD_3 IS NULL )\n )\n)\n<\/pre><\/div>\n\n\n<p>So, the question is \u2013 if we made an update to $FIELD_4 meaning that QR will send the change downstream; what would the monitoring tab on the task display?<\/p>\n\n\n\n<p>Let is create an example to find out.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">An example<\/h2>\n\n\n\n<p>Here is a simple table -pre-populated with six record:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE TABLE dbo.CDC_ANALYTICS_EXAMPLE\n(\n\tRECORD_ID INT IDENTITY(1,1) PRIMARY KEY,\n\tDATA_INT INT,\n\tDATA_VARCHAR VARCHAR(100),\n\tINCLUDE_RECORD CHAR(1)\n);\n\nGO\n\nINSERT INTO dbo.CDC_ANALYTICS_EXAMPLE VALUES(1, &#039;Record 1&#039;, &#039;Y&#039;);\nINSERT INTO dbo.CDC_ANALYTICS_EXAMPLE VALUES(2, &#039;Record 2&#039;, &#039;Y&#039;);\nINSERT INTO dbo.CDC_ANALYTICS_EXAMPLE VALUES(3, &#039;Record 3&#039;, &#039;Y&#039;);\nINSERT INTO dbo.CDC_ANALYTICS_EXAMPLE VALUES(4, &#039;Record 4&#039;, &#039;N&#039;);\nINSERT INTO dbo.CDC_ANALYTICS_EXAMPLE VALUES(5, &#039;Record 5&#039;, &#039;N&#039;);\nINSERT INTO dbo.CDC_ANALYTICS_EXAMPLE VALUES(6, &#039;Record 6&#039;, &#039;N&#039;);\n\nSELECT *\nFROM dbo.CDC_ANALYTICS_EXAMPLE WITH (NOLOCK);\n<\/pre><\/div>\n\n\n<p>And we create a simple QR task with the following filters:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_filter-1024x559.jpeg\" alt=\"\" class=\"wp-image-1694\" srcset=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_filter-1024x559.jpeg 1024w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_filter-300x164.jpeg 300w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_filter-768x419.jpeg 768w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_filter-1536x839.jpeg 1536w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_filter-2048x1118.jpeg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The first filter is the <em>Fullload Passthru Filter<\/em>. When the full load initially runs; only three of the six records will be brought across.<\/p>\n\n\n\n<p>The second filter<em> Record Selection Condition<\/em>; should filter any data changes on when $INCLUDE_RECORD has a value of &#8216;Y&#8217;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Results after running the QR task<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Full load<\/h3>\n\n\n\n<p>After running the full load; qlik shows the following on the monitoring screen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"341\" src=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_1-1024x341.jpg\" alt=\"\" class=\"wp-image-1695\" srcset=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_1-1024x341.jpg 1024w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_1-300x100.jpg 300w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_1-768x256.jpg 768w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_1-1536x511.jpg 1536w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_1-2048x682.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"378\" src=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_2-1024x378.jpg\" alt=\"\" class=\"wp-image-1696\" srcset=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_2-1024x378.jpg 1024w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_2-300x111.jpg 300w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_2-768x283.jpg 768w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_2-1536x566.jpg 1536w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_full_load_2-2048x755.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Three records &#8211; that&#8217;s what we expected out of the six.  <\/p>\n\n\n\n<p>Interesting under the &#8220;Total Completion&#8221; section; the distinction of the filter is quite clear.  Three records brought across and three remaining.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Change Processing<\/h3>\n\n\n\n<p>Let&#8217;s make some changes to the data in our test table:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\n-- This will be captured\nBEGIN TRANSACTION\n\tDECLARE @IDENTITY INT;\n\n\tINSERT INTO dbo.CDC_ANALYTICS_EXAMPLE VALUES(null, &#039;Record x&#039;, &#039;Y&#039;);\n\tSET @IDENTITY = @@IDENTITY;\n\n\tUPDATE dbo.CDC_ANALYTICS_EXAMPLE \n\tSET DATA_INT = @IDENTITY, \n\t\tDATA_VARCHAR = &#039;Record &#039; + CAST(@IDENTITY AS varchar)\n\tWHERE RECORD_ID = @IDENTITY;\n\n\tDELETE dbo.CDC_ANALYTICS_EXAMPLE WHERE RECORD_ID = @IDENTITY;\n\nCOMMIT;\n\nGO\n\n-- This will be excluded\nBEGIN TRANSACTION\n\tDECLARE @IDENTITY INT;\n\n\tINSERT INTO dbo.CDC_ANALYTICS_EXAMPLE VALUES(null, &#039;Record x&#039;, &#039;N&#039;);\n\tSET @IDENTITY = @@IDENTITY;\n\n\tUPDATE dbo.CDC_ANALYTICS_EXAMPLE \n\tSET DATA_INT = @IDENTITY, \n\t\tDATA_VARCHAR = &#039;Record &#039; + CAST(@IDENTITY AS varchar)\n\tWHERE RECORD_ID = @IDENTITY;\n\n\tDELETE dbo.CDC_ANALYTICS_EXAMPLE WHERE RECORD_ID = @IDENTITY;\n\nCOMMIT;\n<\/pre><\/div>\n\n\n<p>This is what the monitoring screen shows:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"365\" src=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_1-1024x365.jpg\" alt=\"\" class=\"wp-image-1697\" srcset=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_1-1024x365.jpg 1024w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_1-300x107.jpg 300w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_1-768x274.jpg 768w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_1-1536x547.jpg 1536w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_1-2048x730.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Looking at the <em>Recent activity<\/em> screen; hmm &#8211; this could lead to some confusion.  <\/p>\n\n\n\n<p>The metrics shows the two blocks of changes; even though one block was filtered out.  So this is indicating that this gives the results when there is a change in the table; not matter if it was subsequently filtered out.<\/p>\n\n\n\n<p>If those testers in the opening paragraph created a record that was filtered out in QR; we could give them false direction if we said &#8220;it should be downstream&#8221;<\/p>\n\n\n\n<p>If we look at the <em>Aggregates <\/em>screen; it paints a true picture of what was detected and transferred to the target:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"426\" src=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_2-1024x426.jpg\" alt=\"\" class=\"wp-image-1698\" srcset=\"https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_2-1024x426.jpg 1024w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_2-300x125.jpg 300w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_2-768x319.jpg 768w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_2-1536x639.jpg 1536w, https:\/\/craftcookcode.com\/wp-content\/uploads\/2025\/12\/code_cdc_analytics_change_2-2048x852.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>We can see the three records in the &#8220;Total Changes Applied&#8221; column.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Analytics database<\/h3>\n\n\n\n<p>From the analytic database:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSELECT \n    *\nFROM public.aem_taskv t\nWHERE\n    t.task_name IN (&#039;TEST_ANALYTICS&#039;) \nORDER BY\n     t.server_name, t.task_name, t.retrieval_time\n<\/pre><\/div>\n\n\n<table id=\"tablepress-1\" class=\"tablepress tablepress-id-1\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\"><em><strong>Field<\/strong><\/em><\/th><th class=\"column-2\"><em><strong>Value<\/strong><\/em><\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">id<\/td><td class=\"column-2\">110876201<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">retrieval_time<\/td><td class=\"column-2\">2025-12-03 12:02<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">server_id<\/td><td class=\"column-2\">5<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">task_name_id<\/td><td class=\"column-2\">914<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">task_state_id<\/td><td class=\"column-2\">3<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">task_stop_reason_id<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">task_profile_id<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\">cdc_evt_applied_insert_count<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-10\">\n\t<td class=\"column-1\">cdc_evt_applied_update_count<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-11\">\n\t<td class=\"column-1\">cdc_evt_applied_delete_count<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-12\">\n\t<td class=\"column-1\">cdc_evt_applied_ddl_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-13\">\n\t<td class=\"column-1\">full_load_tables_completed_count<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-14\">\n\t<td class=\"column-1\">full_load_tables_loading_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-15\">\n\t<td class=\"column-1\">full_load_tables_queued_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-16\">\n\t<td class=\"column-1\">full_load_tables_with_error_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-17\">\n\t<td class=\"column-1\">full_load_total_records_transferred<\/td><td class=\"column-2\">3<\/td>\n<\/tr>\n<tr class=\"row-18\">\n\t<td class=\"column-1\">full_load_est_records_count_for_all_tables<\/td><td class=\"column-2\">6<\/td>\n<\/tr>\n<tr class=\"row-19\">\n\t<td class=\"column-1\">full_load_completed<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-20\">\n\t<td class=\"column-1\">full_load_start<\/td><td class=\"column-2\">2025-12-03 10:57<\/td>\n<\/tr>\n<tr class=\"row-21\">\n\t<td class=\"column-1\">full_load_finish<\/td><td class=\"column-2\">2025-12-03 10:57<\/td>\n<\/tr>\n<tr class=\"row-22\">\n\t<td class=\"column-1\">full_load_thrput_src_thrput_records_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-23\">\n\t<td class=\"column-1\">full_load_thrput_src_thrput_volume<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-24\">\n\t<td class=\"column-1\">full_load_thrput_trg_thrput_records_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-25\">\n\t<td class=\"column-1\">full_load_thrput_trg_thrput_volume<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-26\">\n\t<td class=\"column-1\">cdc_thrput_src_thrput_records_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-27\">\n\t<td class=\"column-1\">cdc_thrput_src_thrput_volume<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-28\">\n\t<td class=\"column-1\">cdc_thrput_trg_thrput_records_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-29\">\n\t<td class=\"column-1\">cdc_thrput_trg_thrput_volume<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-30\">\n\t<td class=\"column-1\">cdc_trans_read_rollback_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-31\">\n\t<td class=\"column-1\">cdc_trans_read_records_rollback_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-32\">\n\t<td class=\"column-1\">cdc_trans_rollback_change_volume<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-33\">\n\t<td class=\"column-1\">cdc_trans_applied_transactions_in_progress_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-34\">\n\t<td class=\"column-1\">cdc_trans_applied_records_in_progress_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-35\">\n\t<td class=\"column-1\">cdc_trans_applied_comitted_transaction_count<\/td><td class=\"column-2\">2<\/td>\n<\/tr>\n<tr class=\"row-36\">\n\t<td class=\"column-1\">cdc_trans_applied_records_comitted_count<\/td><td class=\"column-2\">6<\/td>\n<\/tr>\n<tr class=\"row-37\">\n\t<td class=\"column-1\">cdc_trans_applied_volume_committed<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-38\">\n\t<td class=\"column-1\">cdc_trans_read_memory_events_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-39\">\n\t<td class=\"column-1\">cdc_trans_read_swapped_events_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-40\">\n\t<td class=\"column-1\">cdc_trans_applied_memory_events_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-41\">\n\t<td class=\"column-1\">cdc_trans_applied_swap_events_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-42\">\n\t<td class=\"column-1\">cdc_source_latency<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-43\">\n\t<td class=\"column-1\">cdc_apply_latency<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-44\">\n\t<td class=\"column-1\">memory_usage_kb<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-45\">\n\t<td class=\"column-1\">disk_usage_kb<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-46\">\n\t<td class=\"column-1\">cpu_percentage<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-47\">\n\t<td class=\"column-1\">data_error_count<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-48\">\n\t<td class=\"column-1\">task_option_full_load_enabled<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-49\">\n\t<td class=\"column-1\">task_option_apply_changes_enabled<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-50\">\n\t<td class=\"column-1\">task_option_store_changes_enabled<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-51\">\n\t<td class=\"column-1\">task_option_audit_changes_enabled<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-52\">\n\t<td class=\"column-1\">task_option_recovery_enabled<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-53\">\n\t<td class=\"column-1\">cdc_trans_read_in_progress<\/td><td class=\"column-2\">2<\/td>\n<\/tr>\n<tr class=\"row-54\">\n\t<td class=\"column-1\">server_cpu_percentage<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-55\">\n\t<td class=\"column-1\">machine_cpu_percentage<\/td><td class=\"column-2\">16<\/td>\n<\/tr>\n<tr class=\"row-56\">\n\t<td class=\"column-1\">tasks_cpu_percentage<\/td><td class=\"column-2\">0<\/td>\n<\/tr>\n<tr class=\"row-57\">\n\t<td class=\"column-1\">server_name<\/td><td class=\"column-2\">xxxx<\/td>\n<\/tr>\n<tr class=\"row-58\">\n\t<td class=\"column-1\">task_name<\/td><td class=\"column-2\">TEST_ANALYTICS<\/td>\n<\/tr>\n<tr class=\"row-59\">\n\t<td class=\"column-1\">server_with_task_name<\/td><td class=\"column-2\">xxxx::::TEST_ANALYTICS<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-1 from cache -->\n\n\n<p>A couple of take aways from the results:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Unfortunately the records in the the analytic database is grouped up at a task level; not at an individual table level.  This makes it harder to determine if a change from a particular table was applied<\/li>\n\n\n\n<li>cdc_trans_applied_records_comitted_count is a count of all the records read; but not necessarily applied <\/li>\n\n\n\n<li>If you want the number of records flowing down to downstream; add together the fields cdc_evt_applied_insert_count, cdc_evt_applied_update_count and cdc_evt_applied_delete_count together<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Final thoughts<\/h2>\n\n\n\n<p>The monitoring and analytics screen is useful tools for diagnosing QR tasks &#8211; and general ASMR; watching the numbers bounce up as transactions flow through the system.<\/p>\n\n\n\n<p>Understanding the figures of what they translate to &#8211; whether changes getting detected or applied downstream is fundamental in diagnosing problems.<\/p>\n\n\n\n<p>Nothing is better than getting access to the source and target systems and checking yourself to confirm if things are working correctly; but the monitoring screen is a good place to start investigating.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction I think as Qlik Replicate developers; we have all been here before. The testers berating you through MS Teams saying, \u201cWe have made a change,&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":1691,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[16],"tags":[36],"class_list":["post-1690","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qlik-replicate","tag-qlikreplicate"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/posts\/1690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1690"}],"version-history":[{"count":5,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/posts\/1690\/revisions"}],"predecessor-version":[{"id":1703,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/posts\/1690\/revisions\/1703"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/media\/1691"}],"wp:attachment":[{"href":"https:\/\/craftcookcode.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}