declarative relay deployment on hetzner relay-eval.waow.tech
atproto relay
14
fork

Configure Feed

Select the types of activity you want to include in your feed.

add resolves/sec and bytes/resolve grafana panels

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

zzstoatzz 822f202f 2e18c936

+55
+55
deploy/zlay-dashboard.json
··· 481 481 "refId": "B" 482 482 } 483 483 ] 484 + }, 485 + { 486 + "title": "resolves/sec", 487 + "type": "timeseries", 488 + "gridPos": { "h": 8, "w": 12, "x": 0, "y": 56 }, 489 + "datasource": { "type": "prometheus", "uid": "prometheus" }, 490 + "fieldConfig": { 491 + "defaults": { 492 + "unit": "ops", 493 + "color": { "mode": "palette-classic" }, 494 + "custom": { 495 + "fillOpacity": 15, 496 + "lineWidth": 2, 497 + "spanNulls": false 498 + } 499 + }, 500 + "overrides": [] 501 + }, 502 + "targets": [ 503 + { 504 + "expr": "sum(rate(relay_resolves_total{job=\"zlay\"}[5m]))", 505 + "legendFormat": "resolves", 506 + "refId": "A" 507 + }, 508 + { 509 + "expr": "sum(rate(relay_resolver_recycles_total{job=\"zlay\"}[5m]))", 510 + "legendFormat": "recycles", 511 + "refId": "B" 512 + } 513 + ] 514 + }, 515 + { 516 + "title": "bytes/resolve (heap slope)", 517 + "type": "timeseries", 518 + "gridPos": { "h": 8, "w": 12, "x": 12, "y": 56 }, 519 + "datasource": { "type": "prometheus", "uid": "prometheus" }, 520 + "fieldConfig": { 521 + "defaults": { 522 + "unit": "bytes", 523 + "color": { "mode": "palette-classic" }, 524 + "custom": { 525 + "fillOpacity": 15, 526 + "lineWidth": 2, 527 + "spanNulls": false 528 + } 529 + }, 530 + "overrides": [] 531 + }, 532 + "targets": [ 533 + { 534 + "expr": "deriv(max(relay_malloc_in_use_bytes{job=\"zlay\"})[5m:]) / clamp_min(sum(rate(relay_resolves_total{job=\"zlay\"}[5m])), 0.001)", 535 + "legendFormat": "bytes/resolve", 536 + "refId": "A" 537 + } 538 + ] 484 539 } 485 540 ], 486 541 "schemaVersion": 39,