Safe, aggregate-only production reports (Bugsnag / Scout / Heroku) for maintainers
维护者通常 18 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 领域
- devops, observability, security
调研方向
Start by checking the existing production monitoring scripts and documentation under bin/ and doc/, then review the Bugsnag, Scout APM, and Heroku read-only API options named in the issue. Define an allow-list for each report and use recorded responses containing fake PII to verify sensitive fields never appear. Done means the aggregate reports, absence-of-PII specs, and maintainer setup docs are in place.
由索引模型根据 Issue 内容生成。
描述
Problem
Today, production signal reaches contributors only as Discord bot posts (#bot-bugsnag, #bot-scout, #prod-app-performance). Each Bugsnag post links to an event most contributors can't open. The same error repeats for days without anyone seeing the count or trend (e.g. the CSRF errors in #7243). Raw Heroku logs and Bugsnag events can include youth data (see #7263), so we can't just hand out access or paste them into issues or AI tools.
Proposal: aggregate-only, read-only scripts maintainers can run and share
Add bin/prod-report (or three small scripts) that use read-only credentials and print only aggregates that are safe to paste into a GitHub issue:
- Bugsnag (Data Access API, read-only collaborator token in
BUGSNAG_DATA_TOKEN): open error groups from the last N days, with error class, message, controller#action, event count, users affected (count only), and first/last seen. No event metadata, request params, user emails, or URLs. - Scout APM (API key with read-only access): top endpoints by time consumed, p95, and allocations, plus memory-bloat endpoints (helps #7218).
- Heroku (
heroku logs/ log drain): counts of platform error codes (H12,R14,H10…) and 5xx counts by dyno and hour. Routerpath=values are reduced to the route pattern (/casa_cases/:id).
Each script should:
- Fail closed: if a field isn't on its allow-list, it isn't printed
- Have a spec feeding a recorded API response with fake PII and asserting it's absent from the output
- Be documented in
doc/with how to get the read-only token (maintainers only)
Stretch
- Weekly scheduled run posting the summary to a pinned GitHub issue or Discord, replacing per-event Bugsnag pings with trends
- Then disable Discord embeds for Bugsnag (#5390)
- 主要语言
- Ruby
- 星标
- 382
- 派生
- 547
- 平均合并
- 10 天 19 小时
- 30 天内合并 PR
- 20
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
rubyforgood/casa 的其他 Issue
-
Good first issue: make one file Standard-compliant (burn down .standard_todo.yml)可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭Difficulty: Easy Good First Issue Help Wanted 🧹 Linting
难度 2/5 1-3 小时 新手友好度 78/100
rubyforgood/casa#7265 · 2 条评论 ·
维护者通常 18 天内回复
-
Stale bot marks Help Wanted / Good First Issue issues as abandoned可能已有人在做 @KoushikSagarr 今天认领。 未关闭github_actions Good First Issue
难度 2/5 1-3 小时 新手友好度 78/100
rubyforgood/casa#7262 · 1 条评论 ·
维护者通常 18 天内回复
-
Bug: Reassigned cases are listed under "Not Assigned" in the Assign a new case dropdown可能重新可做 @Anandb71 于 9 天前认领,目前没有进行中的 PR。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
rubyforgood/casa#7241 · 3 条评论 · 已指派 1 人 ·
维护者通常 18 天内回复
-
⛓️ Security Difficulty: Intermediate Help Wanted
难度 4/5 3-5 天 新手友好度 52/100
rubyforgood/casa#7263 ·
维护者通常 18 天内回复
-
🏗️ Deployment 📈 Performance Improvement Help Wanted
难度 4/5 3-5 天 新手友好度 35/100
rubyforgood/casa#7218 ·
维护者通常 18 天内回复
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 85/100
shakacode/react_on_rails#5295 ·
维护者通常 1 天内回复
-
account: profile bug
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 5 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
metanorma/metanorma-standoc#1315 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
metanorma/metanorma-iso#1681 ·
维护者通常 1 天内回复