Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Safe, aggregate-only production reports (Bugsnag / Scout / Heroku) for maintainers

未关闭
#7,264 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 18 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
rails, ruby

调研方向

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 内容生成。

描述

✨ New Feature Difficulty: Intermediate Help Wanted

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. Router path= 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

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

rubyforgood/casa 的其他 Issue

查看 rubyforgood/casa 的全部 Issue

相似的 Issue

更多 Ruby Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。