Skip to content
Skillpedia
Databases40k · #5300

qdrant-monitoring-debugging

Lets your agent diagnose production issues in Qdrant. It uses metrics to find the cause of slowness or other errors.

What it does

This agent helps find and fix problems in a database called Qdrant. It checks metrics and tools to understand why something isn't working well, like slowness or crashes.

When to use it

  • ✓When Qdrant is taking too long to optimize data.
  • ✓If Qdrant is using more memory than expected or crashing.
  • ✓When searches in Qdrant suddenly became slow.

Example of what to ask your AI

“My Qdrant is stuck on optimization, what could be the cause?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/qdrant-monitoring/debugging/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/qdrant-monitoring/debugging/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

It analyzes information about optimization status, memory usage, and search speed. It compares this data to expected values to identify the problem's root cause.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill qdrant-monitoring-debugging

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/qdrant-monitoring/debugging/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

How to Debug Qdrant with Metrics

First check optimizer status. Most production issues trace back to active optimizations competing for resources. If optimizer is clean, check memory, then request metrics.

Optimizer Stuck or Too Slow

Use when: optimizer running for hours, not finishing, or showing errors.

  • Use /collections/{collection_name}/optimizations endpoint (v1.17+) to check status Optimization monitoring
  • Query with optional detail flags: ?with=queued,completed,idle_segments
  • Returns: queued optimizations count, active optimizer type, involved segments, progress tracking
  • Web UI has an Optimizations tab with timeline view and per-task duration metrics Web UI
  • If optimizer_status shows an error in collection info, check logs for disk full or corrupted segments
  • Large merges and HNSW rebuilds legitimately take hours on big datasets. Check progress before assuming it's stuck.

Memory Seems Too High

Use when: memory exceeds expectations, node crashes with OOM, or memory keeps growing.

  • Process memory metrics available via /metrics (RSS, allocated bytes, page faults)
  • Qdrant uses two types of RAM: resident memory (data structures, quantized vectors) and OS page cache (cached disk reads). Page cache filling available RAM is normal. Memory article
  • If resident memory (RSSAnon) exceeds 80% of total RAM, investigate
  • Check /telemetry for per-collection breakdown of point counts and vector configurations
  • Estimate expected memory: num_vectors * dimensions * 4 bytes * 1.5 for vectors, plus payload and index overhead Capacity planning
  • Common causes of unexpected growth: quantized vectors with always_ram=true, too many payload indexes, large max_segment_size during optimization

Queries Are Slow

Use when: queries slower than expected and you need to identify the cause.

  • Track rest_responses_avg_duration_seconds and rest_responses_max_duration_seconds per endpoint
  • Use histogram metric rest_responses_duration_seconds (v1.8+) for percentile analysis in Grafana
  • Equivalent gRPC metrics with grpc_responses_ prefix
  • Check optimizer status first. Active optimizations compete for CPU and I/O, degrading search latency.
  • Check segment count via collection info. Too many unmerged segments after bulk upload causes slower search.
  • Compare filtered vs unfiltered query times. Large gap means missing payload index. Payload index

What NOT to Do

  • Ignore optimizer status when debugging slow queries (most common root cause)
  • Assume memory leak when page cache fills RAM (normal OS behavior)
  • Make config changes while optimizer is running (causes cascading re-optimizations)
  • Blame Qdrant before checking if bulk upload just finished (unmerged segments)
FAQ

What is 'optimization' in Qdrant?

It's an internal Qdrant process to organize and improve data performance, but it can consume a lot of resources.

Why might memory usage be high?

It could be due to data that needs to stay in memory always, too many indexes, or optimization settings that use a lot of RAM.

What should I do if searches are slow?

Check for active optimizations, too many unmerged data segments, or if an index is missing for the filters used in searches.

Details

Original description by the author

Diagnoses Qdrant production issues using metrics and observability tools. Use when someone reports 'optimizer stuck', 'indexing too slow', 'memory too high', 'OOM crash', 'queries are slow', 'latency spike', or 'search was fast now it's slow'. Also use when performance degrades without obvious config changes.

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#5300
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills