Skip to content

Commit

Permalink
Add Tracing Activities
Browse files Browse the repository at this point in the history
  • Loading branch information
robinmanuelthiel committed Nov 27, 2023
1 parent a0aa103 commit caf668e
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 0 deletions.
33 changes: 33 additions & 0 deletions src/api/MicroCommunication.Api/Controllers/LoggingController.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using MicroCommunication.Api.Exceptions;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System.Threading;
using System;

namespace MicroCommunication.Api.Controllers
{
Expand All @@ -25,5 +27,36 @@ public ActionResult Generate()

return Ok();
}

[HttpGet]
[Route("long-running-trace")]
public ActionResult<string> LongRunningWithTrace()
{
using (var fistActivity = Observability.DefaultActivities.StartActivity("First section"))
{
fistActivity.AddTag("date", DateTime.UtcNow.ToString());
fistActivity.AddTag("section", "first");
Thread.Sleep(100);
fistActivity.Stop();
};

using (var secondActivity = Observability.DefaultActivities.StartActivity("Second section"))
{
secondActivity.AddTag("date", DateTime.UtcNow.ToString());
secondActivity.AddTag("section", "second");
Thread.Sleep(200);
secondActivity.Stop();
};

using (var thirdActivity = Observability.DefaultActivities.StartActivity("Second section"))
{
thirdActivity.AddTag("date", DateTime.UtcNow.ToString());
thirdActivity.AddTag("section", "third");
Thread.Sleep(300);
thirdActivity.Stop();
};

return Ok("Hello World!");
}
}
}
9 changes: 9 additions & 0 deletions src/api/MicroCommunication.Api/Observability.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using System.Diagnostics;

namespace MicroCommunication.Api;

public static class Observability
{
// Define a default ActivitySource
public static readonly ActivitySource DefaultActivities = new ActivitySource("ServiceName");
}
1 change: 1 addition & 0 deletions src/api/MicroCommunication.Api/Startup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ public void ConfigureServices(IServiceCollection services)
{
builder.AddAspNetCoreInstrumentation();
builder.AddEntityFrameworkCoreInstrumentation();
builder.AddSource(Observability.DefaultActivities.Name);
builder.ConfigureResource((resource) =>
{
resource.AddService("API", "MicroCommunication", Assembly.GetExecutingAssembly().GetName().Version!.ToString(), false, name);
Expand Down

0 comments on commit caf668e

Please sign in to comment.