diff --git a/photon-core/src/main/java/org/photonvision/common/hardware/metrics/MetricsManager.java b/photon-core/src/main/java/org/photonvision/common/hardware/metrics/MetricsManager.java index 60b046fc21..b609a2e0d5 100644 --- a/photon-core/src/main/java/org/photonvision/common/hardware/metrics/MetricsManager.java +++ b/photon-core/src/main/java/org/photonvision/common/hardware/metrics/MetricsManager.java @@ -244,6 +244,19 @@ public double getUptime() { public void publishMetrics() { logger.debug("Publishing Metrics..."); + + // Check that the hostname hasn't changed + if (!metricPublisher.getTopic().getName().equals(CameraServerJNI.getHostname())) { + logger.warn("Metrics publisher name does not match hostname! Reinitializing publisher..."); + metricPublisher.close(); + metricPublisher = + NetworkTablesManager.getInstance() + .kRootTable + .getSubTable("/metrics") + .getProtobufTopic(CameraServerJNI.getHostname(), DeviceMetrics.proto) + .publish(); + } + var metrics = new DeviceMetrics( this.getCpuTemp(),