sample/WorkerServiceSample/Worker.cs (20 lines of code) (raw):

using System.Diagnostics; namespace WorkerServiceSample { public class Worker : BackgroundService { private readonly IHttpClientFactory _httpClientFactory; private static readonly ActivitySource ActivitySource = new("MyActivitySource"); public Worker(IHttpClientFactory httpClientFactory) => _httpClientFactory = httpClientFactory; protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { using var activity = ActivitySource.StartActivity("UnitOfWork"); var client = _httpClientFactory.CreateClient(); await client.GetAsync("https://www.elastic.co", stoppingToken); await Task.Delay(5000, stoppingToken); } } } }