Guance Learn

Observability guides

Practical, source-backed guides for instrumenting, operating, and improving production systems.

Start logging in .NET with ILogger and providers
Technical guide

Start logging in .NET with ILogger and providers

Use message templates and log levels with Microsoft.Extensions.Logging, select providers, and verify structured fields before collection.

Moving from ELK to OpenObserve: queries, historical data, and payback illustration
Technical guide

Moving from ELK to OpenObserve: queries, historical data, and payback

Evaluate ELK migration by document IDs, field types, nested-query semantics, alert parity, historical backfill, and the cost of running both systems during the transition.

Illustration of connected application signals and engineering workflows
Technical guide

Django error handling: views, middleware, and validation

Handle Django errors with clear HTTP semantics, domain exceptions, safe middleware responses, and form or serializer validation.

Illustration of connected application signals and engineering workflows
Technical guide

NestJS error handling: filters, timeouts, and validation

Build a consistent NestJS HTTP error contract with custom exceptions, safe filters, validation, RxJS timeouts, and an active throttling guard.

Cover illustration for structured logging in FastAPI
Technical guide

Configure FastAPI logging with request context and JSON output

Configure Python and Uvicorn loggers, add ASGI request logging, preserve exception tracebacks, and validate structured logs and trace correlation in Guance.

A bridge connecting an application interface to a data store
Technical guide

Build a CRUD API with Fastify, Prisma, and SQLite

Create a blog API with Fastify route schemas, Prisma database operations, validated IDs, explicit response schemas, and error handling that preserves real failures.

How to configure Flask logging for production illustration
Technical guide

How to configure Flask logging for production

Configure Flask log levels, handlers, request IDs, exception tracebacks, and JSON output, then verify collection and trace correlation in Guance.

Illustration of application logs flowing through a collection pipeline
Technical guide

Add request and trace context to Go logs with slog

Compare explicit loggers, context-carried loggers, and context-aware handlers, then add active OpenTelemetry trace IDs and validate correlation in Guance.

Go structured logging with JSON handlers and request context
Technical guide

Structured logging in Go with log/slog

Configure Go slog handlers, typed attributes, request context, dynamic levels, and error logging, then validate JSON fields before sending them to Guance.

Illustration of connected application signals and engineering workflows
Technical guide

GraphQL in Django: queries, mutations, and permissions

Build a Django GraphQL API with Graphene-Django, bounded queries, exact decimal prices, staff-only mutations, and explicit authorization.

An Agent connecting operational signals with a team's investigation
Technical guide

Bring Guance incident analysis into your team's group chat

Connect a Guance Agent to an on-call group, route alert analysis to the right conversation, and review the evidence before taking action.

Application interfaces connected to a shared data store
Technical guide

Build a blog API with Fastify, JSON Schema, and SQLite

Create a runnable Fastify blog API with SQLite, static files, schema validation, CRUD routes, lifecycle hooks, and structured error handling.