From 3168e856ac3be31c6dc21dc5cba4b77841a6308e Mon Sep 17 00:00:00 2001 From: John Lambert Date: Wed, 11 Sep 2024 10:39:59 -0400 Subject: [PATCH] Add bugsnag --- .vscode/settings.json | 1 + docker-compose.yml | 4 ++++ .../src/EchoTranslationEngine/EchoTranslationEngine.csproj | 1 + src/Echo/src/EchoTranslationEngine/Program.cs | 3 +++ src/Echo/src/EchoTranslationEngine/Usings.cs | 1 + src/Machine/src/Serval.Machine.EngineServer/Program.cs | 4 ++++ src/Machine/src/Serval.Machine.JobServer/Program.cs | 4 ++++ src/Serval/src/Serval.ApiServer/Startup.cs | 2 ++ src/Serval/src/Serval.ApiServer/Usings.cs | 1 + src/Serval/src/Serval.Shared/Serval.Shared.csproj | 1 + .../src/SIL.ServiceToolkit/SIL.ServiceToolkit.csproj | 1 + 11 files changed, 23 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 9981ae9c..4c5aadb3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,6 +9,7 @@ "cSpell.words": [ "ASPNETCORE", "Bson", + "Bugsnag", "hmac", "HMACSHA", "inferencing", diff --git a/docker-compose.yml b/docker-compose.yml index e92ad2df..9e461530 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,6 +21,7 @@ services: - ASPNETCORE_Translation__Engines__1__Address=http://machine-engine - ASPNETCORE_Translation__Engines__2__Type=Nmt - ASPNETCORE_Translation__Engines__2__Address=http://machine-engine + - "Bugsnag__ApiKey=${Bugsnag__ApiKey:?access key needed}" expose: - 80 - 81 @@ -52,6 +53,7 @@ services: - ASPNETCORE_Kestrel__Endpoints__Http__Url=http://*:80 - ASPNETCORE_Kestrel__EndpointDefaults__Protocols=Http2 - ASPNETCORE_ConnectionStrings__TranslationPlatformApi=http://serval-api:81 + - "Bugsnag__ApiKey=${Bugsnag__ApiKey:?access key needed}" expose: - 80 ports: @@ -96,6 +98,7 @@ services: - SharedFile__Uri=s3://silnlp/docker-compose/ - "SharedFile__S3AccessKeyId=${AWS_ACCESS_KEY_ID:?access key needed}" - "SharedFile__S3SecretAccessKey=${AWS_SECRET_ACCESS_KEY:?secret key needed}" + - "Bugsnag__ApiKey=${Bugsnag__ApiKey:?access key needed}" expose: - 80 ports: @@ -141,6 +144,7 @@ services: - SharedFile__Uri=s3://silnlp/docker-compose/ - "SharedFile__S3AccessKeyId=${AWS_ACCESS_KEY_ID:?access key needed}" - "SharedFile__S3SecretAccessKey=${AWS_SECRET_ACCESS_KEY:?secret key needed}" + - "Bugsnag__ApiKey=${Bugsnag__ApiKey:?access key needed}" expose: - 80 ports: diff --git a/src/Echo/src/EchoTranslationEngine/EchoTranslationEngine.csproj b/src/Echo/src/EchoTranslationEngine/EchoTranslationEngine.csproj index 3432d7c1..1f804e91 100644 --- a/src/Echo/src/EchoTranslationEngine/EchoTranslationEngine.csproj +++ b/src/Echo/src/EchoTranslationEngine/EchoTranslationEngine.csproj @@ -18,6 +18,7 @@ + diff --git a/src/Echo/src/EchoTranslationEngine/Program.cs b/src/Echo/src/EchoTranslationEngine/Program.cs index a931cd7e..6c6f3768 100644 --- a/src/Echo/src/EchoTranslationEngine/Program.cs +++ b/src/Echo/src/EchoTranslationEngine/Program.cs @@ -12,6 +12,9 @@ builder.Services.AddHealthChecks().AddCheck("Live", () => HealthCheckResult.Healthy()); +builder.Services.Configure(builder.Configuration.GetSection("Bugsnag")); +builder.Services.AddBugsnag(); + WebApplication app = builder.Build(); // Configure the HTTP request pipeline. diff --git a/src/Echo/src/EchoTranslationEngine/Usings.cs b/src/Echo/src/EchoTranslationEngine/Usings.cs index 60467f6d..b7f3ba2d 100644 --- a/src/Echo/src/EchoTranslationEngine/Usings.cs +++ b/src/Echo/src/EchoTranslationEngine/Usings.cs @@ -1,4 +1,5 @@ global using System.Threading.Channels; +global using Bugsnag.AspNet.Core; global using EchoTranslationEngine; global using Google.Protobuf.WellKnownTypes; global using Grpc.Core; diff --git a/src/Machine/src/Serval.Machine.EngineServer/Program.cs b/src/Machine/src/Serval.Machine.EngineServer/Program.cs index 029e03df..e36db6c2 100644 --- a/src/Machine/src/Serval.Machine.EngineServer/Program.cs +++ b/src/Machine/src/Serval.Machine.EngineServer/Program.cs @@ -1,3 +1,4 @@ +using Bugsnag.AspNet.Core; using Hangfire; using OpenTelemetry.Trace; @@ -29,6 +30,9 @@ }); } +builder.Services.Configure(builder.Configuration.GetSection("Bugsnag")); +builder.Services.AddBugsnag(); + var app = builder.Build(); app.UseHttpsRedirection(); diff --git a/src/Machine/src/Serval.Machine.JobServer/Program.cs b/src/Machine/src/Serval.Machine.JobServer/Program.cs index d78bfed8..99388a62 100644 --- a/src/Machine/src/Serval.Machine.JobServer/Program.cs +++ b/src/Machine/src/Serval.Machine.JobServer/Program.cs @@ -1,3 +1,4 @@ +using Bugsnag.AspNet.Core; using OpenTelemetry.Trace; var builder = WebApplication.CreateBuilder(args); @@ -25,6 +26,9 @@ }); } +builder.Services.Configure(builder.Configuration.GetSection("Bugsnag")); +builder.Services.AddBugsnag(); + var app = builder.Build(); app.Run(); diff --git a/src/Serval/src/Serval.ApiServer/Startup.cs b/src/Serval/src/Serval.ApiServer/Startup.cs index 0831e75c..d4c5a3cd 100644 --- a/src/Serval/src/Serval.ApiServer/Startup.cs +++ b/src/Serval/src/Serval.ApiServer/Startup.cs @@ -213,6 +213,8 @@ public void ConfigureServices(IServiceCollection services) .AddOpenTelemetry() .WithMetrics(opts => opts.AddAspNetCoreInstrumentation().AddPrometheusExporter()); } + services.Configure(Configuration.GetSection("Bugsnag")); + services.AddBugsnag(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) diff --git a/src/Serval/src/Serval.ApiServer/Usings.cs b/src/Serval/src/Serval.ApiServer/Usings.cs index 8f4b6446..13f508d8 100644 --- a/src/Serval/src/Serval.ApiServer/Usings.cs +++ b/src/Serval/src/Serval.ApiServer/Usings.cs @@ -2,6 +2,7 @@ global using System.Security.Claims; global using System.Text.Json.Serialization; global using Asp.Versioning; +global using Bugsnag.AspNet.Core; global using Hangfire; global using Hangfire.Mongo; global using Hangfire.Mongo.Migration.Strategies; diff --git a/src/Serval/src/Serval.Shared/Serval.Shared.csproj b/src/Serval/src/Serval.Shared/Serval.Shared.csproj index f33998e3..6ea07ec4 100644 --- a/src/Serval/src/Serval.Shared/Serval.Shared.csproj +++ b/src/Serval/src/Serval.Shared/Serval.Shared.csproj @@ -25,6 +25,7 @@ + diff --git a/src/ServiceToolkit/src/SIL.ServiceToolkit/SIL.ServiceToolkit.csproj b/src/ServiceToolkit/src/SIL.ServiceToolkit/SIL.ServiceToolkit.csproj index b5cb78cd..a84edf58 100644 --- a/src/ServiceToolkit/src/SIL.ServiceToolkit/SIL.ServiceToolkit.csproj +++ b/src/ServiceToolkit/src/SIL.ServiceToolkit/SIL.ServiceToolkit.csproj @@ -11,6 +11,7 @@ +