using Amazon.Lambda.Core;
using Microsoft.Extensions.Logging;
using Thundra.Agent.Lambda.Core;
using Thundra.Agent.Log.AspNetCore;
namespace blog_opentracing
public class Function : LambdaRequestHandler<string, string>
public override string DoHandleRequest(string request, ILambdaContext context)
var loggerFactory = new LoggerFactory().AddThundraProvider();
var logger = loggerFactory.CreateLogger<Function>();
Console.WriteLine("Hello OpenTracing.");
using (IScope updateEntityScope = GlobalTracer.Instance.BuildSpan("UpdateEntity").StartActive(finishSpanOnDispose: true))
updateEntityScope.Span.SetTag("updatedEntityID", 1);
updateEntityScope.Span.SetTag("entitySize","1KB");
using (IScope updateDatabaseScope = GlobalTracer.Instance.BuildSpan("UpdateDatabase").StartActive(finishSpanOnDispose: true))
return request?.ToUpper();
private void ValidateEntity() {
IScope validationScope = GlobalTracer.Instance.BuildSpan("Validation").StartActive(finishSpanOnDispose: true);
validationScope.Dispose();
private void UpdateDatabase()