
Job Statistics
- 1 installs
- 30 repo stars
- Updated July 28, 2026
- crim-ca/weaver
Retrieves execution statistics for a Weaver job including CPU and memory usage, duration, disk IO, and data transfer sizes via CLI, Python, or the statistics API.
About
Fetches resource-usage and timing statistics for a Weaver process job, covering CPU, memory, disk IO, queue and execution duration, and input/output data sizes. A developer uses it for monitoring consumption, capacity planning, and cost estimation.
- Returns average and peak CPU/memory plus queue vs execution duration
- CLI, Python client, and curl examples for the /jobs/{id}/statistics endpoint
Job Statistics by the numbers
- 1 all-time installs (skills.sh)
- Ranked #489 of 596 Debugging skills by installs in the Skillselion catalog
- Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/crim-ca/weaver --skill job-statisticsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 30 |
| Last updated | July 28, 2026 |
| Repository | crim-ca/weaver ↗ |
What it does
Retrieves execution statistics for a Weaver job including CPU and memory usage, duration, disk IO, and data transfer sizes via CLI, Python, or the statistics API.
Files
Get Job Statistics
Retrieve execution statistics and resource usage for a job.
When to Use
- Monitoring resource consumption
- Optimizing process configurations
- Capacity planning and resource allocation
- Performance analysis and benchmarking
- Identifying resource bottlenecks
- Cost estimation for cloud resources
Parameters
Required
- job_id (string): Job identifier
CLI Usage
# Get job statistics
weaver statistics -u $WEAVER_URL -j a1b2c3d4-e5f6-7890-abcd-ef1234567890
# Compare statistics for multiple jobs
for job in $(weaver jobs -u $WEAVER_URL -p my-process -f json | jq -r '.jobs[].jobID'); do
echo "Job $job:"
weaver statistics -u $WEAVER_URL -j $job
donePython Usage
from weaver.cli import WeaverClient
client = WeaverClient(url="https://weaver.example.com")
# Get statistics
stats = client.statistics(job_id="a1b2c3d4-e5f6-7890-abcd-ef1234567890")
print(f"Duration: {stats.body.get('duration')}")
print(f"CPU Usage: {stats.body.get('cpuUsage')}")
print(f"Memory Usage: {stats.body.get('memoryUsage')}")API Request
curl -X GET \
"${WEAVER_URL}/jobs/a1b2c3d4-e5f6-7890-abcd-ef1234567890/statistics"Returns
{
"jobID": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"duration": "PT5M32S",
"executionDuration": "PT5M15S",
"queueDuration": "PT17S",
"resource": {
"cpuUsage": {
"average": "45%",
"peak": "87%"
},
"memoryUsage": {
"average": "2.3 GB",
"peak": "4.1 GB"
},
"diskIO": {
"read": "150 MB",
"write": "75 MB"
}
},
"dataTransfer": {
"inputSize": "500 MB",
"outputSize": "200 MB"
}
}Note: Response may include additional fields. See API documentation for complete response schemas.
Statistics Fields
Timing
- duration: Total time from submission to completion
- executionDuration: Actual processing time
- queueDuration: Time spent waiting in queue
Resource Usage
- cpuUsage: CPU utilization (average and peak)
- memoryUsage: RAM consumption (average and peak)
- diskIO: Disk read/write operations
- networkIO: Network transfer (if applicable)
Data Metrics
- inputSize: Total size of input data
- outputSize: Total size of output data
- transferredData: Data transferred between services
Use Cases
Resource Optimization
# Analyze resource usage patterns
stats = client.statistics(job_id="a1b2c3d4-e5f6-7890-abcd-ef1234567890")
if stats.body["resource"]["memoryUsage"]["peak"] > "8 GB":
print("Consider increasing memory allocation")Cost Estimation
# Calculate approximate cloud compute costs
duration_minutes = parse_duration(stats.body["duration"])
cpu_hours = duration_minutes / 60
estimated_cost = cpu_hours * cost_per_cpu_hourRelated Skills
- job-status - Check job status
- job-logs - View execution logs
- job-monitor - Monitor execution
- job-list - Compare multiple jobs