From dak
Troubleshoots slow queries and analyzes system-level PromQL metrics for Cloud SQL SQL Server instances using Google Cloud Monitoring.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dak:cloud-sql-sqlserver-monitorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
All scripts can be executed using Node.js. Replace `<param_name>` and
All scripts can be executed using Node.js. Replace <param_name> and
<param_value> with actual values.
Bash: node <skill_dir>/scripts/<script_name>.js '{"<param_name>": "<param_value>"}'
PowerShell: node <skill_dir>/scripts/<script_name>.js '{\"<param_name>\": \"<param_value>\"}'
Note: The scripts automatically load the environment variables from various .env files. Do not ask the user to set vars unless skill executions fails due to env var absence.
Fetches system level cloudmonitoring data (timeseries metrics) for a SqlServer
instance using a PromQL query. Take projectId and instanceId from the user for
which the metrics timeseries data needs to be fetched. To use this tool, you
must provide the Google Cloud projectId and a PromQL query.
Generate PromQL query for SqlServer system metrics. Use the provided metrics
and rules to construct queries, Get the labels like instance_id from user
intent.
Defaults:
5m for _over_time aggregation
functions unless a different window is specified by the user.PromQL Query Examples:
avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m])topk(30, avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))avg(avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))min(min_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))max(max_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))sum(avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))count(avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))quantile by ("database_id")(0.99,avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))Available Metrics List: metricname. description. monitored resource. labels.
database_id is actually the instance id and the format is
project_id:instance_id.
cloudsql.googleapis.com/database/cpu/utilization: Current CPU utilization
as a percentage of the reserved CPU. cloudsql_database. database,
project_id, database_id.cloudsql.googleapis.com/database/memory/usage: RAM usage in bytes,
excluding buffer/cache. cloudsql_database. database, project_id,
database_id.cloudsql.googleapis.com/database/memory/total_usage: Total RAM usage in
bytes, including buffer/cache. cloudsql_database. database,
project_id, database_id.cloudsql.googleapis.com/database/disk/bytes_used: Data utilization in
bytes. cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/disk/quota: Maximum data disk size in
bytes. cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/disk/read_ops_count: Delta count of data
disk read IO operations. cloudsql_database. database, project_id,
database_id.cloudsql.googleapis.com/database/disk/write_ops_count: Delta count of data
disk write IO operations. cloudsql_database. database, project_id,
database_id.cloudsql.googleapis.com/database/network/received_bytes_count: Delta count
of bytes received through the network. cloudsql_database. database,
project_id, database_id.cloudsql.googleapis.com/database/network/sent_bytes_count: Delta count of
bytes sent through the network. cloudsql_database. destination,
database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/memory/buffer_cache_hit_ratio:
Current percentage of pages found in the buffer cache without reading from
disk. cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/memory/memory_grants_pending:
Current number of processes waiting for a workspace memory grant.
cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/memory/free_list_stall_count:
Total number of requests that waited for a free page. cloudsql_database.
database, project_id, database_id.cloudsql.googleapis.com/database/swap/pages_swapped_in_count: Total count
of pages swapped in from disk since the system was booted.
cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/swap/pages_swapped_out_count: Total count
of pages swapped out to disk since the system was booted.
cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/memory/checkpoint_page_count:
Total number of pages flushed to disk by a checkpoint. cloudsql_database.
database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/memory/lazy_write_count: Total
number of buffers written by the buffer manager's lazy writer.
cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/memory/page_life_expectancy:
Current number of seconds a page will stay in the buffer pool.
cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/memory/page_operation_count:
Total number of physical database page reads or writes. cloudsql_database.
operation, database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/transactions/page_split_count:
Total number of page splits from overflowing index pages.
cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/transactions/deadlock_count:
Total number of lock requests that resulted in a deadlock.
cloudsql_database. locked_resource, database, project_id,
database_id.cloudsql.googleapis.com/database/sqlserver/transactions/transaction_count:
Total number of transactions started. cloudsql_database. database,
project_id, database_id.cloudsql.googleapis.com/database/sqlserver/transactions/batch_request_count:
Total number of Transact-SQL command batches received. cloudsql_database.
database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/transactions/sql_compilation_count:
Total number of SQL compilations. cloudsql_database. database,
project_id, database_id.cloudsql.googleapis.com/database/sqlserver/transactions/sql_recompilation_count:
Total number of SQL recompilations. cloudsql_database. database,
project_id, database_id.cloudsql.googleapis.com/database/sqlserver/connections/processes_blocked:
Current number of blocked processes. cloudsql_database. database,
project_id, database_id.cloudsql.googleapis.com/database/sqlserver/transactions/lock_wait_time:
Total time lock requests were waiting for locks. cloudsql_database.
locked_resource, database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/transactions/lock_wait_count:
Total number of lock requests that required the caller to wait.
cloudsql_database. locked_resource, database, project_id,
database_id.cloudsql.googleapis.com/database/network/connections: Number of
connections to databases on the instance. cloudsql_database. database,
project_id, database_id.cloudsql.googleapis.com/database/sqlserver/connections/login_attempt_count:
Total number of login attempts since the last server restart.
cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/connections/logout_count: Total
number of logout operations since the last server restart.
cloudsql_database. database, project_id, database_id.cloudsql.googleapis.com/database/sqlserver/connections/connection_reset_count:
Total number of logins started from the connection pool since the last
server restart. cloudsql_database. database, project_id,
database_id.cloudsql.googleapis.com/database/sqlserver/transactions/full_scan_count:
Total number of unrestricted full scans (base-table or full-index).
cloudsql_database. database, project_id, database_id.| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| projectId | string | The Id of the Google Cloud project. | Yes | |
| query | string | The promql query to execute. | Yes |
npx claudepluginhub gemini-cli-extensions/data-agent-kit-starter-pack --plugin dakFetches query-level metrics from Cloud SQL Postgres using PromQL to troubleshoot performance bottlenecks, analyze execution plans, identify resource-heavy processes, and monitor system metrics.
Troubleshoots slow queries, analyzes system-level PromQL metrics, and identifies structural performance issues like table fragmentation or missing unique indexes for Cloud SQL MySQL.
Fetches Cloud Monitoring metrics for Cloud SQL PostgreSQL instances using PromQL queries. Helps troubleshoot performance bottlenecks and analyze query execution plans.