Add more telemetry.

This commit is contained in:
2025-09-10 18:49:13 +01:00
parent 1941c3fe7a
commit 61c962d4c4
3 changed files with 115 additions and 88 deletions

View File

@@ -5,51 +5,55 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aaru.CommonTypes"/>
<PackageReference Include="Aaru.Decoders"/>
<PackageReference Include="Aaru.Dto"/>
<PackageReference Include="Blazor.Bootstrap"/>
<PackageReference Include="HtmlAgilityPack"/>
<PackageReference Include="ChoPGP"/>
<PackageReference Include="MailKit"/>
<PackageReference Include="Markdig"/>
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore"/>
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools"/>
<PackageReference Include="MimeKit"/>
<PackageReference Include="OpenTelemetry"/>
<PackageReference Include="OpenTelemetry.Extensions.Hosting"/>
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore"/>
<PackageReference Include="OpenTelemetry.Instrumentation.Http"/>
<PackageReference Include="Sentry"/>
<PackageReference Include="Sentry.AspNetCore"/>
<PackageReference Include="Sentry.Extensions.Logging"/>
<PackageReference Include="Sentry.OpenTelemetry"/>
<PackageReference Include="Sentry.Serilog"/>
<PackageReference Include="Serilog"/>
<PackageReference Include="Serilog.Extensions.Logging"/>
<PackageReference Include="Serilog.Sinks.Console"/>
<PackageReference Include="Serilog.Sinks.File"/>
<PackageReference Include="Serilog.Sinks.SyslogMessages"/>
<PackageReference Include="WebStoating.Markdig.PrismWithPlugins"/>
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql"/>
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql.Design"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies"/>
<PackageReference Include="AsyncFixer"/>
<PackageReference Include="ErrorProne.NET.CoreAnalyzers"/>
<PackageReference Include="ErrorProne.NET.Structs"/>
<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers"/>
<PackageReference Include="Philips.CodeAnalysis.MaintainabilityAnalyzers"/>
<PackageReference Include="Roslynator.Analyzers"/>
<PackageReference Include="Roslynator.CodeAnalysis.Analyzers"/>
<PackageReference Include="Roslynator.Formatting.Analyzers"/>
<PackageReference Include="SmartAnalyzers.MultithreadingAnalyzer"/>
<PackageReference Include="Text.Analyzers"/>
<PackageReference Include="Aaru.CommonTypes" />
<PackageReference Include="Aaru.Decoders" />
<PackageReference Include="Aaru.Dto" />
<PackageReference Include="Blazor.Bootstrap" />
<PackageReference Include="HtmlAgilityPack" />
<PackageReference Include="ChoPGP" />
<PackageReference Include="MailKit" />
<PackageReference Include="Markdig" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" />
<PackageReference Include="MimeKit" />
<PackageReference Include="OpenTelemetry" />
<PackageReference Include="OpenTelemetry.Exporter.Prometheus.AspNetCore" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" />
<PackageReference Include="OpenTelemetry.Instrumentation.EventCounters" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" />
<PackageReference Include="OpenTelemetry.Instrumentation.Process" />
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" />
<PackageReference Include="Sentry" />
<PackageReference Include="Sentry.AspNetCore" />
<PackageReference Include="Sentry.Extensions.Logging" />
<PackageReference Include="Sentry.OpenTelemetry" />
<PackageReference Include="Sentry.Serilog" />
<PackageReference Include="Serilog" />
<PackageReference Include="Serilog.Extensions.Logging" />
<PackageReference Include="Serilog.Sinks.Console" />
<PackageReference Include="Serilog.Sinks.File" />
<PackageReference Include="Serilog.Sinks.SyslogMessages" />
<PackageReference Include="WebStoating.Markdig.PrismWithPlugins" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql.Design" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" />
<PackageReference Include="AsyncFixer" />
<PackageReference Include="ErrorProne.NET.CoreAnalyzers" />
<PackageReference Include="ErrorProne.NET.Structs" />
<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" />
<PackageReference Include="Philips.CodeAnalysis.MaintainabilityAnalyzers" />
<PackageReference Include="Roslynator.Analyzers" />
<PackageReference Include="Roslynator.CodeAnalysis.Analyzers" />
<PackageReference Include="Roslynator.Formatting.Analyzers" />
<PackageReference Include="SmartAnalyzers.MultithreadingAnalyzer" />
<PackageReference Include="Text.Analyzers" />
</ItemGroup>
<ItemGroup>
<Folder Include="wwwroot\assets\"/>
<Folder Include="wwwroot\assets\" />
</ItemGroup>
<ItemGroup>
@@ -59,7 +63,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Aaru.Server.Database\Aaru.Server.Database.csproj"/>
<ProjectReference Include="..\Aaru.Server.Database\Aaru.Server.Database.csproj" />
</ItemGroup>
<ItemGroup>

View File

@@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using OpenTelemetry.Metrics;
using OpenTelemetry.Trace;
using OpenTelemetry.Resources;
using Sentry.OpenTelemetry;
using Serilog;
using Serilog.Events;
@@ -114,7 +115,23 @@ builder.Services.AddOpenTelemetry()
.AddSentry() // <-- Configure OpenTelemetry to send trace information to Sentry
)
.WithMetrics(metricsProviderBuilder =>
metricsProviderBuilder.AddAspNetCoreInstrumentation().AddHttpClientInstrumentation());
metricsProviderBuilder
.SetResourceBuilder(ResourceBuilder.CreateDefault()
.AddService(
serviceName: "Aaru.Server",
serviceVersion: typeof(Program).Assembly.GetName().Version?.ToString() ?? "unknown"))
.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation()
.AddRuntimeInstrumentation()
.AddProcessInstrumentation()
.AddEventCountersInstrumentation(options =>
{
options.AddEventSources(
"System.Runtime",
"Microsoft.AspNetCore.Hosting",
"Microsoft-AspNetCore-Server-Kestrel");
})
.AddPrometheusExporter());
builder.WebHost.UseSentry(o =>
{
@@ -191,6 +208,8 @@ app.MapRazorComponents<App>().AddInteractiveServerRenderMode();
app.MapAdditionalIdentityEndpoints();
app.MapControllers();
app.UseOpenTelemetryPrometheusScrapingEndpoint();
using(IServiceScope scope = app.Services.CreateScope())
{
IServiceProvider services = scope.ServiceProvider;

View File

@@ -1,48 +1,52 @@
<Project ToolsVersion="15.0">
<ItemGroup>
<PackageVersion Include="Aaru.CommonTypes" Version="6.0.0-alpha10"/>
<PackageVersion Include="Aaru.Decoders" Version="6.0.0-alpha10"/>
<PackageVersion Include="Aaru.Dto" Version="6.0.0-alpha10"/>
<PackageVersion Include="AsyncFixer" Version="1.6.0"/>
<PackageVersion Include="Blazor.Bootstrap" Version="3.3.1"/>
<PackageVersion Include="ChoPGP" Version="1.0.1.5"/>
<PackageVersion Include="ErrorProne.NET.CoreAnalyzers" Version="0.1.2"/>
<PackageVersion Include="ErrorProne.NET.Structs" Version="0.1.2"/>
<PackageVersion Include="HtmlAgilityPack" Version="1.12.1"/>
<PackageVersion Include="MailKit" Version="4.12.1"/>
<PackageVersion Include="Markdig" Version="0.41.2"/>
<PackageVersion Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="9.0.6"/>
<PackageVersion Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.6"/>
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.6"/>
<PackageVersion Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.6"/>
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.6"/>
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.6"/>
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="9.0.6"/>
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="9.0.6"/>
<PackageVersion Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.14.15"/>
<PackageVersion Include="MimeKit" Version="4.12.0"/>
<PackageVersion Include="OpenTelemetry" Version="1.12.0"/>
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.12.0"/>
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.12.0"/>
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.12.0"/>
<PackageVersion Include="Philips.CodeAnalysis.MaintainabilityAnalyzers" Version="1.5.0"/>
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql.Design" Version="1.1.2"/>
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="9.0.0-preview.3.efcore.9.0.0"/>
<PackageVersion Include="Roslynator.Analyzers" Version="4.13.1"/>
<PackageVersion Include="Roslynator.CodeAnalysis.Analyzers" Version="4.13.1"/>
<PackageVersion Include="Roslynator.Formatting.Analyzers" Version="4.13.1"/>
<PackageVersion Include="Sentry" Version="5.11.0"/>
<PackageVersion Include="Sentry.AspNetCore" Version="5.11.0"/>
<PackageVersion Include="Sentry.Extensions.Logging" Version="5.11.0"/>
<PackageVersion Include="Sentry.OpenTelemetry" Version="5.11.0"/>
<PackageVersion Include="Sentry.Serilog" Version="5.11.0"/>
<PackageVersion Include="Serilog" Version="4.3.0"/>
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.2"/>
<PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0"/>
<PackageVersion Include="Serilog.Sinks.File" Version="7.0.0"/>
<PackageVersion Include="Serilog.Sinks.SyslogMessages" Version="4.0.0"/>
<PackageVersion Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31"/>
<PackageVersion Include="Text.Analyzers" Version="4.14.0"/>
<PackageVersion Include="WebStoating.Markdig.PrismWithPlugins" Version="1.0.0"/>
<PackageVersion Include="Aaru.CommonTypes" Version="6.0.0-alpha10" />
<PackageVersion Include="Aaru.Decoders" Version="6.0.0-alpha10" />
<PackageVersion Include="Aaru.Dto" Version="6.0.0-alpha10" />
<PackageVersion Include="AsyncFixer" Version="1.6.0" />
<PackageVersion Include="Blazor.Bootstrap" Version="3.3.1" />
<PackageVersion Include="ChoPGP" Version="1.0.1.5" />
<PackageVersion Include="ErrorProne.NET.CoreAnalyzers" Version="0.1.2" />
<PackageVersion Include="ErrorProne.NET.Structs" Version="0.1.2" />
<PackageVersion Include="HtmlAgilityPack" Version="1.12.1" />
<PackageVersion Include="MailKit" Version="4.12.1" />
<PackageVersion Include="Markdig" Version="0.41.2" />
<PackageVersion Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="9.0.6" />
<PackageVersion Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.6" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="9.0.6" />
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="9.0.6" />
<PackageVersion Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.14.15" />
<PackageVersion Include="MimeKit" Version="4.12.0" />
<PackageVersion Include="OpenTelemetry" Version="1.12.0" />
<PackageVersion Include="OpenTelemetry.Exporter.Prometheus.AspNetCore" Version="1.12.0-beta.1" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.12.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.12.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.EventCounters" Version="1.5.1-alpha.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.12.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Process" Version="1.12.0-beta.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.12.0" />
<PackageVersion Include="Philips.CodeAnalysis.MaintainabilityAnalyzers" Version="1.5.0" />
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql.Design" Version="1.1.2" />
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="9.0.0-preview.3.efcore.9.0.0" />
<PackageVersion Include="Roslynator.Analyzers" Version="4.13.1" />
<PackageVersion Include="Roslynator.CodeAnalysis.Analyzers" Version="4.13.1" />
<PackageVersion Include="Roslynator.Formatting.Analyzers" Version="4.13.1" />
<PackageVersion Include="Sentry" Version="5.11.0" />
<PackageVersion Include="Sentry.AspNetCore" Version="5.11.0" />
<PackageVersion Include="Sentry.Extensions.Logging" Version="5.11.0" />
<PackageVersion Include="Sentry.OpenTelemetry" Version="5.11.0" />
<PackageVersion Include="Sentry.Serilog" Version="5.11.0" />
<PackageVersion Include="Serilog" Version="4.3.0" />
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.2" />
<PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0" />
<PackageVersion Include="Serilog.Sinks.File" Version="7.0.0" />
<PackageVersion Include="Serilog.Sinks.SyslogMessages" Version="4.0.0" />
<PackageVersion Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" />
<PackageVersion Include="Text.Analyzers" Version="4.14.0" />
<PackageVersion Include="WebStoating.Markdig.PrismWithPlugins" Version="1.0.0" />
</ItemGroup>
</Project>