Add option to disable HealthMonitor

Bug: 259157978
Test: Built and ran emulator
Change-Id: Iab40618bd86133947951d52a3afbacedd4460dbb
diff --git a/stream-servers/RenderThread.cpp b/stream-servers/RenderThread.cpp
index e5215ba..8fad5ef 100644
--- a/stream-servers/RenderThread.cpp
+++ b/stream-servers/RenderThread.cpp
@@ -423,21 +423,23 @@
         bool progress;
 
         do {
-            std::unique_ptr<std::unordered_map<std::string, std::string>> renderThreadData =
-                std::make_unique<std::unordered_map<std::string, std::string>>();
+            std::unique_ptr<EventHangMetadata::HangAnnotations> renderThreadData =
+                std::make_unique<EventHangMetadata::HangAnnotations>();
             const char* processName = nullptr;
-            if (tInfo.m_processName) {
-                renderThreadData->insert(
-                    {{"renderthread_guest_process", tInfo.m_processName.value()}});
-                processName = tInfo.m_processName.value().c_str();
+            auto* healthMonitor = FrameBuffer::getFB()->getHealthMonitor();
+            if (healthMonitor) {
+                if (tInfo.m_processName) {
+                    renderThreadData->insert(
+                        {{"renderthread_guest_process", tInfo.m_processName.value()}});
+                    processName = tInfo.m_processName.value().c_str();
+                }
+                if (readBuf.validData() >= 4) {
+                    renderThreadData->insert(
+                        {{"first_opcode", std::to_string(*(uint32_t*)readBuf.buf())},
+                         {"buffer_length", std::to_string(readBuf.validData())}});
+                }
             }
-            if (readBuf.validData() >= 4) {
-                renderThreadData->insert(
-                    {{"first_opcode", std::to_string(*(uint32_t*)readBuf.buf())},
-                    {"buffer_length", std::to_string(readBuf.validData())}});
-            }
-            auto watchdog = WATCHDOG_BUILDER(FrameBuffer::getFB()->getHealthMonitor(),
-                                             "RenderThread decode operation")
+            auto watchdog = WATCHDOG_BUILDER(healthMonitor, "RenderThread decode operation")
                                 .setHangType(EventHangMetadata::HangType::kRenderThread)
                                 .setAnnotations(std::move(renderThreadData))
                                 .build();
@@ -459,7 +461,7 @@
                 VkDecoderContext context = {
                     .processName = processName,
                     .gfxApiLogger = &gfxLogger,
-                    .healthMonitor = &FrameBuffer::getFB()->getHealthMonitor(),
+                    .healthMonitor = FrameBuffer::getFB()->getHealthMonitor(),
                     .metricsLogger = &metricsLogger,
                 };
                 uint32_t* seqno = nullptr;