Skip to content

Conversation

@MasterPtato
Copy link
Contributor

No description provided.

@railway-app
Copy link

railway-app bot commented Jan 16, 2026

🚅 Deployed to the rivet-pr-3927 environment in rivet-frontend

Service Status Web Updated (UTC)
website ✅ Success (View Logs) Web Jan 16, 2026 at 11:56 pm
frontend-cloud 😴 Sleeping (View Logs) Web Jan 16, 2026 at 1:25 pm
frontend-inspector 😴 Sleeping (View Logs) Web Jan 16, 2026 at 12:16 pm

@railway-app railway-app bot temporarily deployed to rivet-frontend / rivet-pr-3927 January 16, 2026 00:15 Destroyed
Copy link
Contributor Author

MasterPtato commented Jan 16, 2026


How to use the Graphite Merge Queue

Add the label merge-queue to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@claude
Copy link

claude bot commented Jan 16, 2026

PR Review - Day 1 Patch & Dashboards

This PR adds Grafana dashboards for monitoring and includes several bug fixes. Overall the changes look good with minor improvements needed.

✅ Positive Aspects

  1. Good Grafana Dashboard Coverage: Adding comprehensive monitoring dashboards for Epoxy and Pegboard is excellent for observability.
  2. Metric Label Consistency: Fixed inconsistent label casing in guard routing metrics (GATEWAY/APIgateway/api) - this is important for proper metric aggregation.
  3. Import Organization: Fixed the import placement in kv_get.rs by moving Json to the top-level imports.

🐛 Code Quality Issues

1. Unused Parameter in publish_metrics (engine/packages/gasoline/src/db/kv/mod.rs:623)

The parameter was changed from _worker_id to worker_id, but I don't see it being used in the visible diff. If this parameter isn't actually used in the function body, it should remain prefixed with _ to indicate intentionally unused parameters.

Action needed: Verify if worker_id is actually used now, or if this change should be reverted.

2. Metric Rename Without Migration Path (engine/packages/gasoline/src/db/kv/mod.rs:226, 623)

Changed SignalPending to SignalPending2 without explanation. This appears to be a breaking change for existing dashboards/alerts that reference the old metric name.

Concerns:

  • Breaking change without documentation
  • The 2 suffix suggests a temporary workaround rather than a proper fix
  • No migration path for existing monitoring

Recommendation:

  • Either document why the metric name changed in commit message/PR description
  • Or consider a more descriptive name than SignalPending2
  • Add a deprecation notice if the old metric is being replaced

3. Missing Documentation

The PR has an empty body. For a "day 1 patch", it would be helpful to document:

  • What issues were encountered on day 1 that this fixes
  • Why the metric names changed
  • Any dashboard configuration notes

📊 Metrics Changes

New Metric Added: gasoline_worker_last_metrics_publish

  • ✅ Properly follows naming conventions
  • ✅ Has descriptive help text
  • ✅ Uses appropriate metric type (IntGaugeVec)
  • Question: How does this differ from WORKER_LAST_PING? Consider documenting the distinction.

🎯 Test Coverage

Observation: No test changes included. While dashboard additions don't require tests, the code changes to metrics and parameter usage should ideally have:

  • Unit tests verifying metric labels are consistent
  • Tests for the KV operations using the renamed metrics

Recommendation: Consider adding integration tests that validate metric collection.

🔒 Security Review

✅ No security concerns identified:

  • Metrics changes are internal monitoring only
  • Import reorganization has no security impact
  • Label changes don't expose new data

⚡ Performance Considerations

✅ No performance regressions expected:

  • Import changes are compile-time only
  • Metric label changes have no runtime impact
  • Dashboard additions don't affect backend performance

📝 Style & Conventions

Based on CLAUDE.md review:

Follows conventions:

  • Hard tabs used in JSON files
  • Metric naming follows gasoline_* pattern
  • Lowercase metric labels

🎬 Action Items

High Priority:

  1. Clarify the SignalPendingSignalPending2 rename rationale
  2. Verify worker_id parameter is actually used now

Medium Priority:
3. Add PR description explaining the day 1 issues being fixed
4. Consider adding tests for metric collection

Low Priority:
5. Document the difference between WORKER_LAST_PING and WORKER_LAST_METRICS_PUBLISH


Overall Assessment: The changes are functional and improve observability, but would benefit from better documentation and clarification on the metric rename. The import fix and label consistency improvements are solid contributions.

Please address the high-priority items before merging.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 16, 2026

More templates

@rivetkit/cloudflare-workers

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/cloudflare-workers@3927

@rivetkit/db

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/db@3927

@rivetkit/framework-base

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/framework-base@3927

@rivetkit/next-js

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/next-js@3927

@rivetkit/react

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/react@3927

rivetkit

pnpm add https://pkg.pr.new/rivet-dev/rivet/rivetkit@3927

@rivetkit/sql-loader

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/sql-loader@3927

@rivetkit/virtual-websocket

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/virtual-websocket@3927

@rivetkit/engine-runner

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/engine-runner@3927

@rivetkit/engine-runner-protocol

pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/engine-runner-protocol@3927

commit: 192c800

@MasterPtato MasterPtato force-pushed the 01-15-fix_day_1_patch_add_dashboards branch from f7e6088 to ee27a16 Compare January 16, 2026 02:31
@railway-app railway-app bot temporarily deployed to rivet-frontend / rivet-pr-3927 January 16, 2026 02:31 Destroyed
Comment on lines +117 to +119
"expr": "sum by (rivet_datacenter) (rate(rivet_epoxy_proposals_total{rivet_project=~\"$project\",rivet_datacenter=~\"$datacenter\"}[$__rate_interval]))",
"instant": false,
"legendFormat": "{{workflow_name}}",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query groups by rivet_datacenter but legendFormat references {{workflow_name}} which doesn't exist in the query result. This will cause the legend to display incorrectly or be empty.

Fix:

"legendFormat": "{{rivet_datacenter}}"

Spotted by Graphite Agent

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

Comment on lines +302 to +304
"expr": "sum by (rivet_datacenter) (rate(rivet_epoxy_pre_accept_total{rivet_project=~\"$project\",rivet_datacenter=~\"$datacenter\"}[$__rate_interval]))",
"instant": false,
"legendFormat": "{{workflow_name}}",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Query groups by rivet_datacenter but legendFormat uses {{workflow_name}}. The label in the legend template must match the grouping field.

Fix:

"legendFormat": "{{rivet_datacenter}}"

Spotted by Graphite Agent

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

Comment on lines +406 to +408
"expr": "sum by (rivet_datacenter) (rate(rivet_epoxy_accept_total{rivet_project=~\"$project\",rivet_datacenter=~\"$datacenter\"}[$__rate_interval]))",
"instant": false,
"legendFormat": "{{workflow_name}}",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mismatch between grouping (rivet_datacenter) and legendFormat ({{workflow_name}}). This pattern repeats throughout the dashboard and will result in incorrect or missing legend labels.

Fix:

"legendFormat": "{{rivet_datacenter}}"

Spotted by Graphite Agent

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

@MasterPtato MasterPtato force-pushed the 01-15-fix_day_1_patch_add_dashboards branch from ee27a16 to 192c800 Compare January 16, 2026 23:55
@railway-app railway-app bot temporarily deployed to rivet-frontend / rivet-pr-3927 January 16, 2026 23:55 Destroyed
@graphite-app
Copy link
Contributor

graphite-app bot commented Jan 16, 2026

Merge activity

  • Jan 16, 11:57 PM UTC: MasterPtato added this pull request to the Graphite merge queue.
  • Jan 16, 11:57 PM UTC: CI is running for this pull request on a draft pull request (#3950) due to your merge queue CI optimization settings.
  • Jan 16, 11:58 PM UTC: Merged by the Graphite merge queue via draft PR: #3950.

graphite-app bot pushed a commit that referenced this pull request Jan 16, 2026
@graphite-app graphite-app bot closed this Jan 16, 2026
@graphite-app graphite-app bot deleted the 01-15-fix_day_1_patch_add_dashboards branch January 16, 2026 23:58
@MasterPtato MasterPtato restored the 01-15-fix_day_1_patch_add_dashboards branch January 17, 2026 00:14
@MasterPtato MasterPtato deleted the 01-15-fix_day_1_patch_add_dashboards branch January 17, 2026 00:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants