Open
Conversation
Add strands-grafana directory containing: - Grafana docker-compose setup with SQLite datasource - Pre-built health and triage dashboards - strands-metrics Rust CLI for syncing GitHub org data to SQLite The metrics CLI fetches issues, PRs, reviews, comments, stars, commits, and CI workflow runs from the strands-agents org, computes daily aggregate metrics, and stores everything in a local SQLite database that Grafana reads for visualization. Migrated from chaynabors/strands (commit 0fbe13c). Co-authored-by: chaynabors <chaynabors@users.noreply.github.com>
- Add multi-stage Dockerfile: builds strands-metrics Rust binary, then assembles a single Grafana image with the binary, supercronic, and provisioning configs baked in. - Add entrypoint.sh: runs initial backfill if metrics.db is missing, sets up daily cron sync at 06:00 UTC via supercronic, then execs into Grafana's /run.sh. - Add docker/docker-compose.local.yaml for local development. - Add CDK stack (cdk/) deploying to us-west-2 with: - VPC (2 AZs, 1 NAT gateway) - EFS for persistent metrics.db storage (RETAIN policy) - ECS Fargate service (0.5 vCPU, 1 GB) - ALB on port 80 with /api/health checks - GitHub PAT injected from Secrets Manager - Update datasource path to /var/lib/grafana/data/metrics.db - Remove old root docker-compose.yaml (replaced by docker/ setup) - Rewrite README with local dev + AWS deployment instructions
…upport - Add CloudFront distribution for HTTPS access (*.cloudfront.net) - Bundle pre-built metrics.db as seed to avoid long first-boot backfill - Enable GF_SECURITY_ALLOW_EMBEDDING for iframe support - Make region configurable (CDK_DEFAULT_REGION / AWS_REGION / us-west-2) - Fix platform to LINUX_AMD64 for Fargate compatibility - Add .dockerignore to exclude cdk.out, node_modules, .git
- Rename folder strands-grafana/ → community-dashboard/ - Rename CDK stack: StrandsGrafanaStack → CommunityDashboardStack - Rename stack file: strands-grafana-stack.ts → community-dashboard-stack.ts - Update all internal references (package.json, docker-compose, README, logs prefix)
Contributor
Author
|
/strands review |
yonib05
added a commit
to yonib05/devtools
that referenced
this pull request
Feb 15, 2026
…nd AWS deployment Add a comprehensive GitHub metrics dashboard for the strands-agents org: - Rust CLI (strands-metrics) that syncs GitHub data (PRs, issues, stars, commits, CI runs, reviews, comments) and PyPI/npm download stats into SQLite - 7 Grafana dashboards organized in 3 folders (General, SDKs, Operations): Executive Summary, Health, Python SDK, TypeScript SDK, Evaluations, Team Performance, and Triage - Configurable goal thresholds (goals.yaml) with warning levels - Team member tracking (team.yaml) for the Team Performance dashboard - Package download tracking (packages.yaml) from PyPI and npm registries - Docker setup with supercronic for daily automated sync - AWS CDK stack (Fargate + EFS + ALB + CloudFront) for production deployment - GitHub Actions workflow for daily metrics.db updates Supersedes strands-agents#30 with additional dashboards, download tracking, goal configuration, team management, and dashboard folder organization.
yonib05
added a commit
to yonib05/devtools
that referenced
this pull request
Feb 15, 2026
…nd AWS deployment Add a comprehensive GitHub metrics dashboard for the strands-agents org: - Rust CLI (strands-metrics) that syncs GitHub data (PRs, issues, stars, commits, CI runs, reviews, comments) and PyPI/npm download stats into SQLite - 7 Grafana dashboards organized in 3 folders (General, SDKs, Operations): Executive Summary, Health, Python SDK, TypeScript SDK, Evaluations, Team Performance, and Triage - Configurable goal thresholds (goals.yaml) with warning levels - Team member tracking (team.yaml) for the Team Performance dashboard - Package download tracking (packages.yaml) from PyPI and npm registries - Docker setup with supercronic for daily automated sync - AWS CDK stack (Fargate + EFS + ALB + CloudFront) for production deployment - GitHub Actions workflow for daily metrics.db updates Builds on the Docker/CDK infrastructure from strands-agents#30 by @mkmeral, adding dashboard organization, download tracking, goal configuration, and team management. Verified: cargo check, cargo clippy (zero warnings), cargo test (7/7 pass).
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
community-dashboard: GitHub metrics dashboards for strands-agents
Adds a unified Grafana + metrics-sync setup for the strands-agents GitHub org, deployable locally via Docker Compose or to AWS via CDK.
What's included
strands-metrics): syncs GitHub data (issues, PRs, stars, commits, CI runs, reviews, comments) into a SQLite databasemetrics.dbinto the image to skip the initial backfill — build succeeds without it (falls back to full sync on first boot)GITHUB_TOKEN=ghp_xxx docker compose -f docker/docker-compose.local.yaml up --buildArchitecture
Key decisions
*.cloudfront.netcert.COPY docker/data/metrics.d[b] /seed/— glob makes it optional at build time, entrypoint handles both casesGF_SECURITY_ALLOW_EMBEDDING=truefor iframe support in internal toolsTesting