public Task ReportMetrics(ISiloPerformanceMetrics metricsData) { if (logger != null && logger.IsVerbose3) { logger.Verbose3("SqlStatisticsPublisher.ReportMetrics (silo) called with data: {0}.", metricsData); } try { return(database.UpsertSiloMetricsAsync(deploymentId, siloName, gateway, siloAddress, hostName, metricsData)); } catch (Exception ex) { if (logger != null && logger.IsVerbose) { logger.Verbose("SqlStatisticsPublisher.ReportMetrics (silo) failed: {0}", ex); } throw; } }