vm-performance-diagnosis

Diagnose Azure VM performance bottlenecks from private IP and time window metrics.

Updated Aug 13, 2026
One-click install
npx skills add https://github.com/crystalzhangbai/TS-Agent-Azure --skill vm-performance-diagnosis-crystalzhangbai
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: vm-performance-diagnosis
Source: https://github.com/crystalzhangbai/TS-Agent-Azure/tree/main/bridge/skills/vm-performance-diagnosis
Command: npx skills add https://github.com/crystalzhangbai/TS-Agent-Azure --skill vm-performance-diagnosis-crystalzhangbai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When users report that an Azure VM is slow, unresponsive, or resource-constrained, they need a fast way to locate the VM by its private IP and check its actual CPU, memory, disk, and network metrics during the problem window instead of guessing. ## Core Features & Use Cases - VM Location by Private IP: Resolves a private IP address to the subscription, resource group, and VM name before querying metrics. - Time Window Handling: Converts Beijing time to UTC and defaults to a 15-minute window before and after a reported timestamp. - Bottleneck Classification: Analyzes CPU, memory, disk IOPS/latency, and network throughput metrics to identify the specific resource bottleneck. - Use Case: A user reports "10.0.1.5 was very slow around 2pm". The Skill locates the VM, pulls metrics for 13:45-14:15 UTC+8 converted to UTC, and concludes whether CPU, memory, disk, or network was the bottleneck. ## Quick Start Check whether the VM at private IP 10.0.1.5 had any performance issues around 2pm Beijing time today.

Frequently Asked Questions about vm-performance-diagnosis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I diagnose why an Azure VM is running slow?▼

Provide the VM's private IP address and the approximate time of the issue. The Skill locates the VM, retrieves CPU, memory, and network metrics for a window around that time, and identifies which resource was the bottleneck.

How to find an Azure VM by its private IP address?▼

Use the find_vm_by_private_ip function with the private IP. It returns the subscription ID, resource group, and VM name, which are then used to query performance metrics.

What metrics indicate a CPU or memory bottleneck on Azure VMs?▼

Percentage CPU sustained above 85% indicates a CPU bottleneck, while persistently low Available Memory indicates memory pressure. Network In/Out totals near the VM size limit indicate a network bottleneck.

Does this handle time zone conversion for metric queries?▼

Yes. Beijing time inputs are converted to UTC by subtracting 8 hours and formatted as ISO8601. If only a single time point is given, a window of 15 minutes before and after is used by default.

When should I not use VM performance diagnosis?▼

Do not use it for pure network connectivity issues like NSG rules or routing problems, or for platform availability events. Those scenarios require dedicated networking or availability diagnostic skills instead.