diff --git a/Directory.Packages.props b/Directory.Packages.props
index a33c0da98..e64fd3167 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -23,6 +23,8 @@
+
+
@@ -75,7 +77,6 @@
-
diff --git a/src/api/Elastic.Documentation.Api.Lambda/Elastic.Documentation.Api.Lambda.csproj b/src/api/Elastic.Documentation.Api.Lambda/Elastic.Documentation.Api.Lambda.csproj
index 3c9a5b990..62326f3ff 100644
--- a/src/api/Elastic.Documentation.Api.Lambda/Elastic.Documentation.Api.Lambda.csproj
+++ b/src/api/Elastic.Documentation.Api.Lambda/Elastic.Documentation.Api.Lambda.csproj
@@ -28,6 +28,8 @@
+
+
diff --git a/src/api/Elastic.Documentation.Api.Lambda/Program.cs b/src/api/Elastic.Documentation.Api.Lambda/Program.cs
index 873aa435b..39380c1ed 100644
--- a/src/api/Elastic.Documentation.Api.Lambda/Program.cs
+++ b/src/api/Elastic.Documentation.Api.Lambda/Program.cs
@@ -9,6 +9,9 @@
using Elastic.Documentation.Api.Core.Search;
using Elastic.Documentation.Api.Infrastructure;
using Elastic.Documentation.ServiceDefaults;
+using OpenTelemetry;
+using OpenTelemetry.Metrics;
+using OpenTelemetry.Trace;
try
{
@@ -23,6 +26,29 @@
process.Refresh();
Console.WriteLine($"Documentation service defaults added. Memory: {process.WorkingSet64 / 1024 / 1024} MB");
+ _ = builder.AddElasticOpenTelemetry(edotBuilder =>
+ {
+ _ = edotBuilder
+ .WithElasticTracing(tracing =>
+ {
+ _ = tracing
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation();
+ })
+ .WithElasticLogging()
+ .WithElasticMetrics(metrics =>
+ {
+ _ = metrics
+ .AddAspNetCoreInstrumentation()
+ .AddHttpClientInstrumentation()
+ .AddProcessInstrumentation()
+ .AddRuntimeInstrumentation();
+ });
+ });
+
+ process.Refresh();
+ Console.WriteLine($"Elastic OTel configured. Memory: {process.WorkingSet64 / 1024 / 1024} MB");
+
_ = builder.Services.AddAWSLambdaHosting(LambdaEventSource.RestApi, new SourceGeneratorLambdaJsonSerializer());
process.Refresh();
Console.WriteLine($"AWS Lambda hosting configured. Memory: {process.WorkingSet64 / 1024 / 1024} MB");
diff --git a/src/api/Elastic.Documentation.Api.Lambda/appsettings.Development.json b/src/api/Elastic.Documentation.Api.Lambda/appsettings.development.json
similarity index 100%
rename from src/api/Elastic.Documentation.Api.Lambda/appsettings.Development.json
rename to src/api/Elastic.Documentation.Api.Lambda/appsettings.development.json
diff --git a/src/api/Elastic.Documentation.Api.Lambda/appsettings.edge.json b/src/api/Elastic.Documentation.Api.Lambda/appsettings.edge.json
new file mode 100644
index 000000000..2486dffdf
--- /dev/null
+++ b/src/api/Elastic.Documentation.Api.Lambda/appsettings.edge.json
@@ -0,0 +1,15 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "Elastic": {
+ "OpenTelemetry": {
+ "LogLevel": "Debug",
+ "LogTargets": "stdout",
+ "SkipInstrumentationAssemblyScanning": true
+ }
+ }
+}