Use Lakona Observability
Lakona uses the standard .NET telemetry primitives: Meter, ActivitySource,
and ILogger. The application owns the OpenTelemetry SDK, Collector, exporters,
dashboards, and alerts. There is no Lakona-specific telemetry protocol to deploy
or learn.
Connect OpenTelemetry
Subscribe to the instrumentation scopes published by
LakonaGameServerTelemetry:
using Lakona.Game.Server.Observability;
using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
using OpenTelemetry.Trace;
server.AddServices(services =>
{
services.AddOpenTelemetry()
.ConfigureResource(resource => resource.AddService("game-gateway"))
.WithMetrics(metrics => metrics
.AddMeter(LakonaGameServerTelemetry.MeterNames.ToArray())
.AddRuntimeInstrumentation()
.AddProcessInstrumentation()
.AddOtlpExporter())
.WithTracing(tracing => tracing
.AddSource(LakonaGameServerTelemetry.ActivitySourceNames.ToArray())
.AddAspNetCoreInstrumentation()
.AddOtlpExporter());
});
Point the exporter at the deployment’s Collector with standard OTEL_*
environment variables. The Collector can then route the same signals to
Prometheus, Grafana, Tempo, Jaeger, Loki, Application Insights, or a hosted
OpenTelemetry backend.
What To Monitor
Start with host CPU, memory, GC, process restarts, and network throughput from standard runtime/process/host instrumentation. Add Lakona’s low-cardinality application metrics:
- actor activation population and mailbox queue length
- active, disconnected, and resumable sessions
- cluster route drops, expiry, and backpressure
- RPC request rate, response status, and dispatch duration
- timer capacity rejections
- reliable-push continuity loss
Keep actor ids, session ids, and request ids out of metric labels. Use sampled traces and structured logs when individual-request detail is needed.
Health Is A Separate Probe
Telemetry export can be delayed or unavailable without making a process dead. Lakona therefore keeps orchestration probes as HTTP endpoints:
GET /_lakona/health/live
GET /_lakona/health/ready
Configure those endpoints under Lakona:Health and the shared listener under
Lakona:Management:Http. Hotfix admin access, if enabled, is configured under
Lakona:Management:Admin.
Lakona no longer exposes /_lakona/diagnostics/* or owns a Prometheus/trace
export switch. For the complete source catalog, setup example, and multi-node
guidance, see the repository’s
Observability guide.