Skip to main content
Glama

connection_churn_analysis

Read-only

Diagnose Redis or RabbitMQ connection and channel churn: compare new-connection rates, rejected connections, and channels per connection against history to surface causes and actions.

Instructions

[READ] Connection/channel churn → cause + action; works on both platforms.

The flagship churn analysis: for a redis target — new-connections rate vs steady clients (reconnect-per-operation smell) and rejected connections (maxclients); for a rabbitmq target — overview churn rates, channels-per- connection ratio (leak smell), and growth vs a prior snapshot. Both group clients by source so a finding can be pinned to an app. Call it once, keep the returned snapshot fields, and pass them back later as 'history' for delta-based churn. Pass 'snapshot' for pure analysis, or a target to pull live.

Args: snapshot: Injected snapshot (from a prior call's live pull shape); skips the live pull. history: A prior snapshot for delta analysis (optional). target: Broker target name from config; omit for the default.

Returns dict: {platform, metrics, bySource, comparedToHistory, thresholds, findings:[{cause, action, evidence}], note}.

Input Schema

NameRequiredDescriptionDefault
targetNo
historyNo
snapshotNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and the description's '[READ]' tag is consistent, so no contradiction. Beyond that the description adds real behavioral context: per-platform analysis logic, grouping 'by source so a finding can be pinned to an app', and the stateful snapshot/history delta pattern. It omits auth/config prerequisites and any rate or size limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The read-mode tag and flagship statement are front-loaded, and the per-platform detail is dense but earns its place. The phrase 'The flagship churn analysis' is mild filler and the arrow/smell shorthand assumes familiarity, but overall the content is tight and well ordered.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by spelling out the Returns dict ({platform, metrics, bySource, comparedToHistory, thresholds, findings, note}) and the delta workflow. Gaps remain around the precedence of snapshot vs target when both are supplied and what thresholds/note contain, but an agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the load, and it does document all three params: snapshot ('skips the live pull'), history ('prior snapshot for delta analysis'), target ('Broker target name from config; omit for the default'). The exact internal shape of the snapshot/history objects remains vague, but the Returns block hints at it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('[READ] Connection/channel churn → cause + action') and then enumerates exactly what it computes per platform: redis reconnect-per-operation and maxclients rejection smells, rabbitmq overview churn, channels-per-connection leak smell. It is very precise about scope, though it never names which sibling (e.g. redis_latency_rca vs redis_memory_pressure_rca) it should be chosen over.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear operational context: 'Call it once, keep the returned snapshot fields, and pass them back later as history for delta-based churn' and 'Pass snapshot for pure analysis, or a target to pull live.' This tells the agent how to sequence calls and which argument selects which mode. It stops short of stating when NOT to use it or pointing to an alternative diagnostic tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.