refactor: moving telemetry wip
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
name: StevesBot
|
||||
services:
|
||||
webhook:
|
||||
container_name: steves-bot-webhook
|
||||
image: stevanfreeborn/steves-bot:${WEBHOOK_VERSION}
|
||||
ports:
|
||||
- '34827:8080'
|
||||
restart: always
|
||||
environment:
|
||||
- Logging__LogLevel__Default=Debug
|
||||
- Logging__LogLevel__Microsoft=Information
|
||||
- Logging__LogLevel__Microsoft.Hosting.Lifetime=Information
|
||||
- YouTubeClientOptions__BaseUrl=${YOUTUBE_BASE_URL}
|
||||
- YouTubeClientOptions__ApiKey=${YOUTUBE_API_KEY}
|
||||
- SubscriptionOptions__CallbackUrl=${SUBSCRIPTION_CALLBACK_URL}
|
||||
- SubscriptionOptions__TopicUrl=${SUBSCRIPTION_TOPIC_URL}
|
||||
- PubSubClientOptions__BaseUrl=${PUBSUB_BASE_URL}
|
||||
- DiscordClientOptions__ApiUrl=${DISCORD_API_URL}
|
||||
- DiscordClientOptions__AppToken=${DISCORD_APP_TOKEN}
|
||||
- DiscordClientOptions__Intents=${DISCORD_INTENTS}
|
||||
- DiscordNotificationOptions__ChannelId=${DISCORD_NOTIFICATION_CHANNEL_ID}
|
||||
- DiscordNotificationOptions__MessageFormat="${DISCORD_NOTIFICATION_MESSAGE_FORMAT}"
|
||||
- SeqOptions__ServerUrl=${SEQ_SERVER_URL}
|
||||
- SeqOptions__ApiKeyHeader=${SEQ_API_KEY_HEADER}
|
||||
- SeqOptions__ApiKey=${SEQ_API_KEY}
|
||||
- DOTNET_ENVIRONMENT=Production
|
||||
worker:
|
||||
container_name: steves-bot-worker
|
||||
image: stevanfreeborn/steves-bot:${WORKER_VERSION}
|
||||
environment:
|
||||
- Logging__LogLevel__Default=Debug
|
||||
- Logging__LogLevel__Microsoft=Information
|
||||
- Logging__LogLevel__Microsoft.Hosting.Lifetime=Information
|
||||
- DiscordClientOptions__ApiUrl=${DISCORD_API_URL}
|
||||
- DiscordClientOptions__AppToken=${DISCORD_APP_TOKEN}
|
||||
- DiscordClientOptions__Intents=${DISCORD_INTENTS}
|
||||
- SeqOptions__ServerUrl=${SEQ_SERVER_URL}
|
||||
- SeqOptions__ApiKeyHeader=${SEQ_API_KEY_HEADER}
|
||||
- SeqOptions__ApiKey=${SEQ_API_KEY}
|
||||
- DOTNET_ENVIRONMENT=Production
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace StevesBot.Library.Telemetry;
|
||||
namespace StevesBot.Webhook.Telemetry;
|
||||
|
||||
public sealed class StevesBotWebhookInstrumentation : IInstrumentation
|
||||
internal sealed class StevesBotWebhookInstrumentation : IInstrumentation
|
||||
{
|
||||
private const string SourceNameValue = "StevesBot.Webhook";
|
||||
private const string SourceVersionValue = "0.0.0";
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace StevesBot.Library.Telemetry;
|
||||
namespace StevesBot.Worker.Telemetry;
|
||||
|
||||
public sealed class StevesBotWorkerInstrumentation : IInstrumentation
|
||||
internal sealed class StevesBotWorkerInstrumentation : IInstrumentation
|
||||
{
|
||||
private const string SourceNameValue = "StevesBot.Worker";
|
||||
private const string SourceVersionValue = "0.0.0";
|
||||
@@ -7,16 +7,16 @@ global using System.Text.Json.Serialization;
|
||||
global using Microsoft.Extensions.Options;
|
||||
|
||||
global using StevesBot.Library.Discord;
|
||||
global using StevesBot.Library.Discord.Common;
|
||||
global using StevesBot.Library.Discord.Rest;
|
||||
global using StevesBot.Library.Discord.Rest.Requests;
|
||||
global using StevesBot.Library.Telemetry;
|
||||
|
||||
global using StevesBot.Worker;
|
||||
global using StevesBot.Worker.Discord;
|
||||
global using StevesBot.Worker.Discord.Gateway;
|
||||
global using StevesBot.Worker.Discord.Gateway.Events;
|
||||
global using StevesBot.Worker.Discord.Gateway.Events.Data;
|
||||
global using StevesBot.Library.Discord.Rest;
|
||||
global using StevesBot.Library.Discord.Rest.Requests;
|
||||
global using StevesBot.Library.Discord.Common;
|
||||
global using StevesBot.Worker.Handlers;
|
||||
global using StevesBot.Worker.Telemetry;
|
||||
global using StevesBot.Worker.Threading;
|
||||
global using StevesBot.Worker.WebSockets;
|
||||
@@ -7,12 +7,12 @@ public class HostExtensionsTests
|
||||
{
|
||||
var builder = WebApplication.CreateBuilder();
|
||||
|
||||
builder.AddTelemetry(static () => new StevesBotWebhookInstrumentation());
|
||||
builder.AddTelemetry(static () => new TestInstrumentation());
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
app.Services
|
||||
.GetService<StevesBotWebhookInstrumentation>()
|
||||
.GetService<TestInstrumentation>()
|
||||
.Should()
|
||||
.BeNull();
|
||||
|
||||
@@ -42,7 +42,7 @@ public class HostExtensionsTests
|
||||
|
||||
builder.Configuration.AddJsonStream(new MemoryStream(Encoding.UTF8.GetBytes(json)));
|
||||
|
||||
builder.AddTelemetry(static () => new StevesBotWebhookInstrumentation());
|
||||
builder.AddTelemetry(static () => new TestInstrumentation());
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
@@ -62,4 +62,16 @@ public class HostExtensionsTests
|
||||
.Should()
|
||||
.NotBeNull();
|
||||
}
|
||||
|
||||
private class TestInstrumentation : IInstrumentation
|
||||
{
|
||||
public string SourceName { get; } = "TestSource";
|
||||
public string SourceVersion { get; } = "1.0.0";
|
||||
public ActivitySource Source { get; } = new ActivitySource("TestSource", "1.0.0");
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Source.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace StevesBot.Library.Tests.Unit;
|
||||
namespace StevesBot.Webhook.Tests.Unit;
|
||||
|
||||
public sealed class StevesBotWebhookInstrumentationTests : IDisposable
|
||||
{
|
||||
@@ -1,4 +1,5 @@
|
||||
global using System.Collections.Concurrent;
|
||||
global using System.Diagnostics;
|
||||
global using System.Net;
|
||||
global using System.Text;
|
||||
|
||||
@@ -13,6 +14,7 @@ global using RichardSzalay.MockHttp;
|
||||
|
||||
global using StevesBot.Library.Discord.Rest;
|
||||
global using StevesBot.Library.Discord.Rest.Requests;
|
||||
global using StevesBot.Webhook.Telemetry;
|
||||
global using StevesBot.Webhook.YouTube;
|
||||
global using StevesBot.Webhook.YouTube.Data;
|
||||
global using StevesBot.Webhook.YouTube.Handlers;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
namespace StevesBot.Library.Tests.Unit;
|
||||
namespace StevesBot.Worker.Tests.Unit;
|
||||
|
||||
public sealed class StevesBotWorkerInstrumentationTests : IDisposable
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
global using System.Net;
|
||||
global using System.Diagnostics;
|
||||
global using System.Net.WebSockets;
|
||||
global using System.Text;
|
||||
global using System.Text.Json;
|
||||
@@ -14,9 +14,6 @@ global using Microsoft.Extensions.Logging;
|
||||
|
||||
global using Moq;
|
||||
|
||||
global using RichardSzalay.MockHttp;
|
||||
|
||||
global using StevesBot.Library.Discord;
|
||||
global using StevesBot.Library.Discord.Common;
|
||||
global using StevesBot.Library.Discord.Rest;
|
||||
global using StevesBot.Library.Discord.Rest.Requests;
|
||||
@@ -24,6 +21,7 @@ global using StevesBot.Worker.Discord;
|
||||
global using StevesBot.Worker.Discord.Gateway;
|
||||
global using StevesBot.Worker.Discord.Gateway.Events;
|
||||
global using StevesBot.Worker.Discord.Gateway.Events.Data;
|
||||
global using StevesBot.Worker.Telemetry;
|
||||
global using StevesBot.Worker.Tests.Integration.Infrastructure;
|
||||
global using StevesBot.Worker.Threading;
|
||||
global using StevesBot.Worker.WebSockets;
|
||||
Reference in New Issue
Block a user