from gravixlayer import GravixLayer
client = GravixLayer() # defaults to cloud="aws", region="us-east-1"
sandbox = client.runtime.create() # defaults to template="base-small"
# Extend timeout to 30 minutes
client.runtime.set_timeout(sandbox.runtime_id, timeout=1800)
# Check resource usage
metrics = client.runtime.get_metrics(sandbox.runtime_id)
print(f"CPU: {metrics.cpu_usage}%")
sandbox.kill()
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer(); // defaults to cloud="aws", region="us-east-1"
const sandbox = await client.runtime.create(); // defaults to template="base-small"
// Extend timeout to 30 minutes
await sandbox.setTimeout(1800);
// Check resource usage
const metrics = await sandbox.getMetrics();
console.log(`CPU: ${metrics.cpuUsage}%`);
await sandbox.kill();
# Requires: GRAVIXLAYER_API_KEY, jq
RT=$(gravixlayer runtime create --wait --output json | jq -r '.runtime_id')
gravixlayer runtime timeout "$RT" 1800
gravixlayer runtime metrics "$RT" --output json
gravixlayer runtime kill "$RT" -y
# Requires: GRAVIXLAYER_API_KEY, jq
API="https://api.gravixlayer.ai/v1"
AUTH=(-H "Authorization: Bearer $GRAVIXLAYER_API_KEY" -H "Content-Type: application/json")
RT=$(curl -sS -X POST "$API/agents/runtime" "${AUTH[@]}" \
-d '{"template":"base-small","cloud":"aws","region":"us-east-1"}' | jq -r '.runtime_id')
for i in $(seq 1 60); do
STATUS=$(curl -sS "$API/agents/runtime/$RT" -H "Authorization: Bearer $GRAVIXLAYER_API_KEY" | jq -r '.status')
[ "$STATUS" = "running" ] && break
sleep 2
done
curl -sS -X POST "$API/agents/runtime/$RT/timeout" "${AUTH[@]}" \
-d '{"timeout":1800}'
echo
curl -sS "$API/agents/runtime/$RT/metrics" \
-H "Authorization: Bearer $GRAVIXLAYER_API_KEY"
echo
curl -sS -X DELETE "$API/agents/runtime/$RT" \
-H "Authorization: Bearer $GRAVIXLAYER_API_KEY"
echo