Pull Request 33520 suggestions Injected AppSettings instead of using GetEnvironmentVariable at Services level When debugging only app.Services.GetRequiredService<IPCRBService>(); Get ready to use VSCode IDE Align .editorconfig files
58 lines
2.3 KiB
C#
58 lines
2.3 KiB
C#
using FabApprovalWorkerService.Models;
|
|
|
|
using Infineon.Monitoring.MonA;
|
|
|
|
namespace FabApprovalWorkerService.Services;
|
|
|
|
public interface IMonInClient {
|
|
void PostMetric(string metricName, double metricValue);
|
|
void PostStatus(string statusName, State state);
|
|
}
|
|
|
|
public class MonInClient : IMonInClient {
|
|
private readonly ILogger<MonInClient> _logger;
|
|
|
|
private readonly string _site;
|
|
private readonly string _resource;
|
|
|
|
public MonInClient(ILogger<MonInClient> logger, AppSettings appSettings) {
|
|
_logger = logger ??
|
|
throw new ArgumentNullException("ILogger not injected");
|
|
_site = appSettings.MonInSite;
|
|
_resource = appSettings.WorkerServiceMonInResource;
|
|
}
|
|
|
|
public void PostMetric(string metricName, double metricValue) {
|
|
try {
|
|
_logger.LogInformation("Attempting to send MonIn metric request for resource {0} with name {1} and value {2}",
|
|
_resource,
|
|
metricName,
|
|
metricValue);
|
|
|
|
MonIn.GetInstance().SendPerformanceMessage(_site, _resource, metricName, metricValue);
|
|
} catch (Exception ex) {
|
|
_logger.LogError("An exception occurred when attempting to send MonIn metric request for resource {0} with name {1} and value {2}. Exception: {3}",
|
|
_resource,
|
|
metricName,
|
|
metricValue,
|
|
ex.Message);
|
|
}
|
|
}
|
|
|
|
public void PostStatus(string statusName, State state) {
|
|
try {
|
|
_logger.LogInformation("Attempting to send MonIn status request for resource {0} with name {1} and value {2}",
|
|
_resource,
|
|
statusName,
|
|
state.ToString());
|
|
|
|
MonIn.GetInstance().SendStatus(_site, _resource, statusName, state);
|
|
} catch (Exception ex) {
|
|
_logger.LogError("An exception occurred when attempting to send MonIn status request for resource {0} with name {1} and value {2}. Exception: {3}",
|
|
_resource,
|
|
statusName,
|
|
state.ToString(),
|
|
ex.Message);
|
|
}
|
|
}
|
|
} |