Debugging the ReportStream Uploader - CDCgov/prime-simplereport GitHub Wiki

For general information about our ReportStream connection, see ReportStream Integration. This page is specifically for debugging the uploads in Azure.

Quick links for an emergency:

Detailed Investigation Guide

First, log into your CDC superuser account.

Navigate to the function app rs-batch-publisher-prod and click on "QueueBatchedReportStreamUploader":

This will bring you to a page with basic monitoring information.

To see recent runs, click "monitor" on the navigation bar:

This will bring you to a screen with a list of the 20 most recent runs, and you can see at a glance if these were successes or failures.

Click on any one of these messages for a further deep-dive. You may need to select "Run query in application insights" if the page takes a long time to load. This will take you to a separate logs screen:

Once there, you can see how many messages were uploaded to ReportStream, if the operation was successful or not, and which messages were processed. (To cross-reference with our database, it's easiest to grab the TestEvent id from the log and use production Metabase to look up the TestEvent).

Looking at the storage queue

Truthfully, you probably won't ever need to look at the queue. Azure doesn't offer a good view of it, and you can't look back at historical messages (or even paginate if there are a lot of messages.) However, it's still good to know where it lives!

Navigate to the simplereportstorageapp storage account.

On the left-hand side, look for "Queues" and then select "test-event-publishing":

Tada! That's our storage queue. Clicking on a message's ID will pull up a more detailed view that enables you to see the actual message text.

Viewing the configuration

The secrets and configuration settings for the function application are in the "Configuration" section of the main function application:

Please do not edit these values directly in Azure! If you do, your changes will be overwritten on the next deployment as we also encapsulate these values in Terraform.

Investigating pipeline failures

Some other details about investigating pipeline failures is available in the docs repo.