Skip to main content
railway-metrics Query resource usage metrics for Railway services. Use when user asks about resource usage, CPU, memory, network, disk, or service performance like "how much memory is my service using" or "is my service slow".
Aller à l'installation Skills Marketplace Découvrez et explorez les compétences IA créées par la communauté.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Copier le promptAfficher les détails du prompt Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
npx skills add https://github.com/davila7/claude-code-templates --skill railway-metricsLa commande reste sur une seule ligne. Faites défiler horizontalement pour la vérifier avant de la copier.
Vous préférez une copie locale ? Téléchargez les fichiers actuellement disponibles dans SkillsMP.
Télécharger Zip Téléchargement... Métiers associés SOC
Basé sur la classification professionnelle SOC
Build AI agents that interact with computers like humans do - viewing screens, moving cursors, clicking buttons, and typing text. Covers Anthropic's Computer Use, OpenAI's Operator/CUA, and open-source alternatives. Critical focus on sandboxing, security, and handling the unique challenges of vision-based control. Use when: computer use, desktop automation agent, screen control AI, vision-based agent, GUI automation.
name railway-metrics description Query resource usage metrics for Railway services. Use when user asks about resource usage, CPU, memory, network, disk, or service performance like "how much memory is my service using" or "is my service slow". version 1.0.0 author Railway license MIT tags ["Railway","Metrics","Monitoring","Performance","CPU","Memory","Resources","Analytics"] dependencies ["railway-cli"] allowed-tools Bash(railway:*)
Railway Service Metrics
Query resource usage metrics for Railway services.
When to Use
User asks "how much memory is my service using?"
User asks about CPU usage, network traffic, disk usage
User wants to debug performance issues
User asks "is my service healthy?" (combine with railway-service skill)
Prerequisites Get environmentId and serviceId from linked project:
environment.id → environmentId
service.id → serviceId (optional - omit to get all services)
MetricMeasurement Values Measurement Description CPU_USAGE CPU usage (cores) CPU_LIMIT CPU limit (cores) MEMORY_USAGE_GB Memory usage in GB MEMORY_LIMIT_GB Memory limit in GB NETWORK_RX_GB Network received in GB NETWORK_TX_GB Network transmitted in GB DISK_USAGE_GB Disk usage in GB EPHEMERAL_DISK_USAGE_GB Ephemeral disk usage in GB BACKUP_USAGE_GB Backup usage in GB
MetricTag Values (for groupBy) Tag Description DEPLOYMENT_ID Group by deployment DEPLOYMENT_INSTANCE_ID Group by instance REGION Group by region SERVICE_ID Group by service
Query query metrics(
$environmentId : String!
$serviceId : String
$startDate : DateTime!
$endDate : DateTime
$sampleRateSeconds : Int
$averagingWindowSeconds : Int
$groupBy : [ MetricTag! ]
$measurements : [ MetricMeasurement! ] !
) {
metrics(
environmentId : $environmentId
serviceId : $serviceId
startDate : $startDate
endDate : $endDate
sampleRateSeconds : $sampleRateSeconds
averagingWindowSeconds : $averagingWindowSeconds
groupBy : $groupBy
measurements : $measurements
) {
measurement
tags {
deploymentInstanceId
deploymentId
serviceId
region
}
values {
ts
value
}
}
}
Example: Last Hour CPU and Memory Use heredoc to avoid shell escaping issues:
bash <<'SCRIPT'
START_DATE=$(date -u -v-1H +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date -u -d "1 hour ago" +"%Y-%m-%dT%H:%M:%SZ" )
ENV_ID="your-environment-id"
SERVICE_ID="your-service-id"
VARS=$(jq -n \
--arg env "$ENV_ID " \
--arg svc "$SERVICE_ID " \
--arg start "$START_DATE " \
'{environmentId: $env, serviceId: $svc, startDate: $start, measurements: ["CPU_USAGE", "MEMORY_USAGE_GB"]}' )
${CLAUDE_PLUGIN_ROOT} /skills/lib/railway-api.sh \
'query metrics($environmentId: String!, $serviceId: String, $startDate: DateTime!, $measurements: [MetricMeasurement!]!) {
metrics(environmentId: $environmentId, serviceId: $serviceId, startDate: $startDate, measurements: $measurements) {
measurement
tags { deploymentId region serviceId }
values { ts value }
}
}' \
"$VARS "
SCRIPT
Example: All Services in Environment Omit serviceId and use groupBy to get metrics for all services:
bash <<'SCRIPT'
START_DATE=$(date -u -v-1H +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date -u -d "1 hour ago" +"%Y-%m-%dT%H:%M:%SZ" )
ENV_ID="your-environment-id"
VARS=$(jq -n \
--arg env "$ENV_ID " \
--arg start "$START_DATE " \
'{environmentId: $env, startDate: $start, measurements: ["CPU_USAGE", "MEMORY_USAGE_GB"], groupBy: ["SERVICE_ID"]}' )
${CLAUDE_PLUGIN_ROOT} /skills/lib/railway-api.sh \
'query metrics($environmentId: String!, $startDate: DateTime!, $measurements: [MetricMeasurement!]!, $groupBy: [MetricTag!]) {
metrics(environmentId: $environmentId, startDate: $startDate, measurements: $measurements, groupBy: $groupBy) {
measurement
tags { serviceId region }
values { ts value }
}
}' \
"$VARS "
SCRIPT
Time Parameters Parameter Description startDate Required. ISO 8601 format (e.g., 2024-01-01T00:00:00Z) endDate Optional. Defaults to now sampleRateSeconds Sample interval (e.g., 60 for 1-minute samples) averagingWindowSeconds Averaging window for smoothing
Tip: For last hour, calculate startDate as now - 1 hour in ISO format.
Output Interpretation {
"data" : {
"metrics" : [
{
"measurement" : "CPU_USAGE" ,
"tags" : { "deploymentId" : "..." , "serviceId" : "..." , "region" : "us-west1" } ,
"values" : [
{ "ts" : "2024-01-01T00:00:00Z" , "value" : 0.25 } ,
{ "ts" : "2024-01-01T00:01:00Z" , "value" : 0.30 }
]
}
]
}
}
ts - timestamp in ISO format
value - metric value (cores for CPU, GB for memory/disk/network)
Composability
Get IDs : Use railway-status skill or railway status --json
Check service health : Use railway-service skill for deployment status
View logs : Use railway-deployment skill if metrics show issues
Scale service : Use railway-environment skill to adjust resources
Error Handling
Empty/Null Metrics Services without active deployments return empty metrics arrays. When processing with jq, handle nulls:
jq -r '.data.metrics[]? | select(.values != null and (.values | length) > 0) | ...'
jq -e '.data.metrics | length > 0' response.json && echo "has metrics"
No Metrics Data Service may be new or have no traffic. Check:
Service has active deployment (stopped services have no metrics)
Time range includes deployment period
Invalid Service/Environment ID Verify IDs with railway status --json.
Permission Denied User needs access to the project to query metrics.