跳到正文
cccskills
免费在 GitHub 公开

app-performance-monitoring

Application performance monitoring — transactions, profiling, and finding slow code — works with any APM platform.

中文简介正在准备中。当前显示原文说明。

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md4.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Overview

APM answers "why is this slow?" with data: which transactions are slow, which spans dominate, which database queries drag, and how performance trends across releases. This skill covers instrumenting applications for performance visibility and using that data to find and fix real bottlenecks — independent of any specific APM vendor.

When to use

  • Finding why an endpoint or page load is slow
  • Setting up transaction tracing and span instrumentation
  • Identifying N+1 queries, slow serialization, or chatty service calls
  • Tracking performance across releases (did v2.1 get slower?)
  • Deciding what to instrument with custom spans vs automatic

Core concepts

Transactions and spans. A transaction = one unit of work (an HTTP request, a background job, a page load). Spans = its decomposed steps (DB query, cache call, external API, template render). Automatic instrumentation covers frameworks and drivers; custom spans mark your business logic ("compute recommendations"). The trace waterfall shows exactly where time goes — optimize the longest bars first.

Measure percentiles, not averages. Averages hide the pain: p50 tells you the typical experience, p95/p99 the bad one users actually complain about. Track latency as a distribution; alert on p99, optimize the spans that dominate p99 traces.

Apdex / satisfaction framing. Translate latency into user experience: what fraction of requests are "satisfying" (< T), "tolerable", "frustrating"? It focuses optimization on what users feel and gives non-engineers an intuitive number.

Sampling strategy. Tracing every request at high traffic is expensive (overhead + ingest cost). Sample: 100% of errors and slow outliers, a percentage of normal traffic (enough for representative p99s), and dynamic sampling that keeps interesting traces. Head-based sampling is simple; tail-based keeps the important ones — know which you have.

Correlate with releases. Every deploy should mark the timeline; a p99 jump starting exactly at release X is a diagnosis, not a mystery. Tag transactions with release version and compare distributions across releases, not just point values.

Practical workflow

  1. Instrument: install the APM SDK/tracer, enable auto-instrumentation for your framework/DB/cache/HTTP clients, and add custom spans around key business operations.
  2. Establish baselines: per-endpoint p50/p95/p99, throughput, and error rate over a representative week — you can't detect regressions without "normal".
  3. Find the bottleneck: sort transactions by total time impact (latency × volume — a slightly slow hot endpoint beats a very slow rare one), open representative slow traces, and read the waterfall.
  4. Fix the usual suspects: N+1 queries (batch/eager-load), missing indexes, over-fetching (select only needed fields), synchronous calls that could parallelize, uncached repeated computation, slow serialization of huge payloads.
  5. Verify with data: compare p99 before/after the fix on comparable traffic; watch for regressions in the release comparison view.
  6. Guard with alerts/SLOs: latency SLOs per critical endpoint with burn-rate alerting; performance budgets in CI for key pages/endpoints to catch regressions before deploy.

Common pitfalls

  • Optimizing the average — p50 looks fine while p99 users suffer; always work from the tail.
  • No custom spans — auto-instrumentation shows "DB: 800ms" but not which business operation caused 40 queries; span your domain logic.
  • Tracing 100% of traffic — overhead and cost explode; sample deliberately.
  • One slow trace = the truth — outliers mislead; aggregate across many traces before concluding.
  • Ignoring the frontend — backend p99 is great but users wait on 4MB of JavaScript; measure real user experience (RUM) alongside.
  • Performance work without baselines — "we made it faster" with no before/after numbers; measure first, then optimize, then verify.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Master 1Password: vaults, Watchtower, passkeys, SSH agent, CLI, and family/team administration. Use when getting full value from 1Password personally or administering it for others.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills312026年10月10日 更新

Create 3D visuals with modeling, texturing, lighting, rendering, and optimization for web and product.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills312026年10月10日 更新

Create 3D web experiences: scene setup, models, materials, lighting, animation, scroll-driven scenes, and performance budgets. Use when adding 3D to websites beyond basic demos.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills312026年10月10日 更新

Writing abstracts that get papers read — structured content, the 5-sentence core, and journal-specific constraints.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills312026年10月10日 更新

Learn effectively from courses and academies: choosing programs, studying actively, and converting courses into skills. Use when investing time/money in structured learning.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills312026年10月10日 更新

Audit designs for accessibility with WCAG checklists covering color, type, focus, motion, and content.

中文简介正在准备中。当前显示原文说明。

aicodedecode/awesome-muse-skills312026年10月10日 更新

查看 aicodedecode 的全部技能

报告此技能的问题