# opentelemetry

Скилл настраивает трассировку, метрики и логи OpenTelemetry в .NET 10 через единый вызов с OTLP-экспортом.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2800 установок · ★ 789
- Автор: codewithmukesh
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/codewithmukesh/dotnet-claude-kit/tree/HEAD/skills/opentelemetry/SKILL.md
- Обновлён: 2026-08-07
- HTML: https://affpapa.org/nevibecode/skills/codewithmukesh-opentelemetry

## Что делает

Скилл задаёт правила телеметрии для приложений на .NET 10 через SDK OpenTelemetry. Все три сигнала — трейсы, метрики и логирование — настраиваются вместе методом `AddOpenTelemetry()` с общим экспортом `UseOtlpExporter()`. Смешивать общий `UseOtlpExporter` с отдельными вызовами `AddOtlpExporter` под каждый сигнал нельзя, иначе рантайм выбросит `NotSupportedException`.

Для кастомных метрик скилл предписывает внедрять `IMeterFactory` через DI вместо прямого вызова конструктора `new Meter()`, чтобы избежать утечек памяти. До трёх тегов метрики пишутся без лишних аллокаций памяти, а для четырёх и более тегов используется `TagList`. Для распределённой трассировки создаётся собственный `ActivitySource`. Проверка на null обязательна: `StartActivity()` возвращает null при отсутствии слушателя.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill opentelemetry -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/opentelemetry/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/opentelemetry/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill opentelemetry -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/opentelemetry/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill opentelemetry -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/opentelemetry/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install codewithmukesh/dotnet-claude-kit opentelemetry
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/opentelemetry/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill opentelemetry -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/codewithmukesh/dotnet-claude-kit --path skills/opentelemetry
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/opentelemetry/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill opentelemetry -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/codewithmukesh/dotnet-claude-kit/tree/HEAD/skills/opentelemetry/SKILL.md

## Когда брать
- настроить сбор трейсов, метрик и логов в .NET 10 через OTLP
- создать кастомные метрики без утечек памяти через IMeterFactory
- добавить распределённую трассировку с помощью ActivitySource
- подготовить конфигурацию под локальный запуск Aspire Dashboard

## Примеры запросов агенту
- Настрой OpenTelemetry для .NET 10 с экспортом по OTLP
- Создай класс метрик через IMeterFactory со счётчиком и гистограммой
- Добавь ActivitySource для трассировки обработки заказов

## Похожие
- [opentelemetry-net-instrumentation](https://affpapa.org/nevibecode/skills/opentelemetry-net-instrumentation.md) — скилл · 408 установок
- [golang-observability-opentelemetry](https://affpapa.org/nevibecode/skills/golang-observability-opentelemetry.md) — скилл · 409 установок
- [observability-and-instrumentation](https://affpapa.org/nevibecode/skills/observability-and-instrumentation.md) — скилл · 54800 установок
- [otel-instrumentation](https://affpapa.org/nevibecode/skills/dash0-otel-instrumentation.md) — скилл · 972 установки
- [Observability taste](https://affpapa.org/nevibecode/prompts/observability-taste.md) — промпт · ★ 174597
- [azure-monitor-opentelemetry-exporter-py](https://affpapa.org/nevibecode/skills/azure-monitor-opentelemetry-exporter-py.md) — скилл · 1 установка

## Другие версии с тем же именем
- [opentelemetry · grafana](https://affpapa.org/nevibecode/skills/opentelemetry.md) — 6100 установок
- [opentelemetry · bagelhole](https://affpapa.org/nevibecode/skills/devops-skills-opentelemetry.md) — 339 установок
- [opentelemetry · bobmatnyc](https://affpapa.org/nevibecode/skills/claude-mpm-team-opentelemetry.md) — 635 установок

Из того же набора: [codewithmukesh/dotnet-claude-kit](https://affpapa.org/nevibecode/by/codewithmukesh/dotnet-claude-kit.md) — 46 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
