observability

Solid

Structured logging with Pino/Winston, OpenTelemetry tracing, metrics collection, Grafana dashboards, and alerting rules.

AI & Automation 496 stars 41 forks Updated 1 months ago MIT

Install

View on GitHub

Quality Score: 86/100

Stars 20%
90
Recency 20%
75
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Observability Patterns Three pillars of observability: logs, traces, and metrics. Each answers different questions. ## Structured Logging with Pino (Node.js) Pino is the fastest Node.js logger. Always emit JSON; never plain strings. ```typescript // logger.ts import pino from 'pino' export const logger = pino({ level: process.env.LOG_LEVEL ?? 'info', formatters: { level(label) { return { level: label } // emit "level":"info" not numeric } }, base: { service: process.env.SERVICE_NAME ?? 'api', version: process.env.APP_VERSION ?? 'unknown', env: process.env.NODE_ENV ?? 'development' }, timestamp: pino.stdTimeFunctions.isoTime, redact: { paths: ['req.headers.authorization', 'body.password', '*.token'], censor: '[REDACTED]' } }) ``` ```typescript // Usage examples import { logger } from './logger' // Child logger with request context const reqLogger = logger.child({ requestId: crypto.randomUUID(), userId: user.id, path: req.path }) reqLogger.info('Processing payment') reqLogger.warn({ amount, currency }, 'Payment above threshold') reqLogger.error({ err }, 'Payment failed') ``` ## Structured Logging with Python (structlog) ```python # logging_config.py import structlog import logging structlog.configure( processors=[ structlog.contextvars.merge_contextvars, structlog.processors.add_log_level, structlog.processors.TimeStamper(fmt="iso"), structlog.processors.StackInfoRend...

Details

Author
vibeeval
Repository
vibeeval/vibecosystem
Created
2 months ago
Last Updated
1 months ago
Language
C#
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category