planetscale-codebase-sqlcommenter-instrumentation
Kiểm tra kho lưu trữ ứng dụng được kết nối với PlanetScale và đề xuất các gói và quy ước gắn thẻ truy vấn tương thích với SQLCommenter.
npx skills add https://github.com/planetscale/skills --skill planetscale-codebase-sqlcommenter-instrumentationCodebase SQLCommenter instrumentation
Purpose
Inspect the application repository connected to PlanetScale and recommend the correct SQLCommenter-style instrumentation so PlanetScale Insights and Postgres Traffic Control can attribute queries to application code paths. Do not edit files or install dependencies without approval.
Repository inspection
Identify:
- Language and framework.
- ORM or query builder.
- Database adapter.
- Migration tool.
- Background job system.
- Routing framework.
- Deployment metadata source, such as git SHA or release ID.
- Existing SQL comments, query tags, tracing, OpenTelemetry, or database middleware.
- PlanetScale connection configuration.
- Whether the repository connects to Vitess, Postgres, or both.
Recommended package mapping
Use the most native maintained option for the detected stack.
Ruby on Rails / ActiveRecord
Preferred for PlanetScale tag compatibility:
activerecord-sql_commenterfrom PlanetScale when Rails query comments need SQLCommenter format for PlanetScale Query Insights.
Other options:
- Rails built-in query logs when sufficient and compatible with the target database/Insights behavior.
marginaliafor older Rails or when Basecamp-style ActiveRecord query attribution is already in use.sqlcommenter_railswhere the project already uses the OpenTelemetry SQLCommenter ecosystem.
Recommend tags:
applicationcontrolleractionjobrouterelease_sha
Laravel / PHP
Preferred:
spatie/laravel-sql-commenterfor SQLCommenter-format comments compatible with PlanetScale Query Insights.
Recommend tags:
applicationroutecontrolleractionjobqueuerelease_sha
Prisma / TypeScript / JavaScript
Preferred:
- Prisma’s first-party SQL comments packages when Prisma is detected:
@prisma/sqlcommenter@prisma/sqlcommenter-query-tags@prisma/sqlcommenter-trace-context
Note: PlanetScale’s Postgres query-tag docs may list Prisma as lacking official SQLCommenter support, but Prisma’s own current docs provide first-party SQLCommenter packages. Prefer current Prisma docs when Prisma is detected.
Recommend tags:
applicationservicerouteoperationfeaturerelease_sha
Knex / Sequelize / Express / Node
Use SQLCommenter-compatible middleware or instrumentation from the OpenTelemetry SQLCommenter ecosystem where maintained and compatible.
Recommend tags:
applicationserviceroutecontrolleractionfeaturerelease_sha
Kysely / Drizzle / Bun / custom query builders
If there is no maintained SQLCommenter package, recommend manual tagging at the database client boundary or query builder extension layer.
Requirements:
- Tags must be structured SQL comments.
- Tags must be inserted before the statement terminator.
- Tags must survive ORM, proxy, and pooler behavior.
- Values must be URL encoded and safe for SQL comments.
- Tags must be low-cardinality.
Django / SQLAlchemy / psycopg2 / Flask / Python
Use SQLCommenter instrumentation from the OpenTelemetry SQLCommenter ecosystem where compatible.
Recommend tags:
applicationframeworkrouteviewjobrelease_sha
Java / Hibernate / Spring
Use SQLCommenter-compatible instrumentation for Hibernate/Spring where compatible.
Recommend tags:
applicationservicecontrolleractionrouterelease_sha
Go / database/sql / net/http / gorilla/mux
Use SQLCommenter-compatible instrumentation or a database wrapper at the query boundary.
Recommend tags:
applicationservicehandlerroutejobrelease_sha
Standard tag policy
Recommend this baseline across all frameworks:
- Stable, bounded values only.
- Normalize routes before tagging.
- Include app/service/job attribution.
- Include deploy SHA.
- Include source type for agents, scripts, BI, workers, and integrations.
- Do not include secrets, PII, user IDs, request IDs, raw tenant IDs, or raw URLs.
Validation plan
Before recommending merge:
- Confirm generated SQL comments appear in local/staging query logs.
- Confirm comments survive the ORM, driver, pooler, and PlanetScale connection path.
- Confirm Insights displays tags.
- Confirm tag cardinality is bounded.
- Confirm Traffic Control can match the intended tags for Postgres.
- Confirm no sensitive data is present.
Output
Return:
- Detected stack.
- Current query tagging state.
- Recommended package or manual instrumentation path.
- Proposed tag schema.
- Files likely to change.
- Validation steps.
- Risks.
- Proposed changes requiring approval.
End with:
“No repository files or dependencies have been changed.”