azure/container-apps/helloworld-observe/Program.cs (28 lines of code) (raw):

using System.Diagnostics; using OpenTelemetry.Resources; using OpenTelemetry.Trace; var builder = WebApplication.CreateBuilder(args); builder.Services.AddOpenTelemetry().WithTracing(builder => builder.AddOtlpExporter() .AddSource("helloworld") .AddAspNetCoreInstrumentation() .AddOtlpExporter() .ConfigureResource(resource => resource.AddService( serviceName: "helloworld")) ); builder.Services.AddControllers(); var app = builder.Build(); string output = """ <div style="text-align: center;"> <h1 style="color: #005A9E; font-family:'Verdana'"> Hello Elastic Observability - Azure Container Apps - C# </h1> <img src="https://elastichelloworld.blob.core.windows.net/elastic-helloworld/elastic-logo.png"> </div> """; app.MapGet("/", async context => { using (Activity activity = Telemetry.activitySource.StartActivity("HelloSpan")!) { Console.Write("hello"); await context.Response.WriteAsync(output); } } ); app.Run();