# Libtelemetry

> libtelemetry - OpenTelemetry-based logging and tracing. createLogger and Logger provide RFC 5424 structured logging. Tracer creates distributed trace spans. TraceVisualizer renders trace diagrams. TraceIndex stores trace data. observe function wraps operations with timing. Use for logging, distributed tracing, and performance monitoring.

- Skill: `majiayu000/libtelemetry` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/libtelemetry`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/libtelemetry/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/libtelemetry

---


# libtelemetry Skill

## When to Use

- Adding structured logging to services
- Implementing distributed tracing across microservices
- Visualizing trace data for debugging
- Monitoring operation timing and performance

## Key Concepts

**Logger**: RFC 5424 compliant structured logging with severity levels.

**Tracer**: Creates spans for distributed tracing across service boundaries.

**TraceVisualizer**: Renders trace spans as visual diagrams.

## Usage Patterns

### Pattern 1: Structured logging

```javascript
import { createLogger } from "@copilot-ld/libtelemetry";

const logger = createLogger("my-service");
logger.info("Request received", { requestId: "123" });
logger.error("Operation failed", { error: err.message });
```

### Pattern 2: Distributed tracing

```javascript
import { Tracer } from "@copilot-ld/libtelemetry/tracer.js";

const tracer = new Tracer(storage);
const span = tracer.startSpan("processRequest");
// ... do work ...
span.end();
```

## Integration

Used by all services and extensions. Traces stored via Trace service.

