{"id":13585731,"url":"https://github.com/ibmcb/cbtool","last_synced_at":"2025-04-07T17:09:40.225Z","repository":{"id":5399368,"uuid":"6588904","full_name":"ibmcb/cbtool","owner":"ibmcb","description":"Cloud Rapid Experimentation and Analysis Toolkit","archived":false,"fork":false,"pushed_at":"2024-06-13T15:50:08.000Z","size":47807,"stargazers_count":79,"open_issues_count":24,"forks_count":49,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-07T01:11:52.682Z","etag":null,"topics":["azure","benchmark-framework","benchmarking","cloud","digitalocean","docker","ec2","gce","kubernetes","libvirt","lxc","openstack","python27","stress-testing","workload-generator"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ibmcb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-11-08T00:30:11.000Z","updated_at":"2024-10-14T03:21:21.000Z","dependencies_parsed_at":"2023-12-19T12:32:36.645Z","dependency_job_id":"59b862b4-8ea2-4c84-bd04-837afd9e2f02","html_url":"https://github.com/ibmcb/cbtool","commit_stats":{"total_commits":787,"total_committers":31,"mean_commits":"25.387096774193548","dds":0.565438373570521,"last_synced_commit":"d0ba7956686a4bbec4afb08b75d5134b8110d0d3"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibmcb%2Fcbtool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibmcb%2Fcbtool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibmcb%2Fcbtool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibmcb%2Fcbtool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibmcb","download_url":"https://codeload.github.com/ibmcb/cbtool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694876,"owners_count":20980733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","benchmark-framework","benchmarking","cloud","digitalocean","docker","ec2","gce","kubernetes","libvirt","lxc","openstack","python27","stress-testing","workload-generator"],"created_at":"2024-08-01T15:05:06.870Z","updated_at":"2025-04-07T17:09:40.190Z","avatar_url":"https://github.com/ibmcb.png","language":"Python","readme":"# Welcome to the Cloud Rapid Experimentation and Analysis Toolkit\n\nCloud Rapid Experimentation and Analysis Tool (aka CBTOOL) is a framework that automates IaaS cloud benchmarking through the running of controlled experiments.\n\n[![Gitter](https://badges.gitter.im/ibmcb-project/community.svg)](https://gitter.im/ibmcb-project/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\nSubscribe to our mailing list:\n\n- Users: https://groups.google.com/forum/#!forum/cbtool-users\n\n- Development: https://groups.google.com/forum/#!forum/cbtool-devel\n\n\n## New! CloudBench is now released as a component of [SPEC Cloud IaaS 2018](http://spec.org/cloud_iaas2018)\n\n## To get started:\n\n1. [Learn more about the tool](https://github.com/ibmcb/cbtool/wiki/DOC:-Table-of-Contents)\n\n2. [Perform the initial installation](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Initial-Installation)\n\n3. [Run the tool for the first time](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Running-the-tool-for-the-first-time)\n\n4. [Prepare your cloud to be driven by the tool](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Preparing-your-cloud-to-be-driven-by-CBTOOL)\n\n5. [Prepare a VM image to be used with the tool](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Preparing-a-VM-to-be-used-with-CBTOOL-on-a-real-cloud)\n\n====\u003e [Are you impatient? Use our workloads instead.](https://github.com/ibmcb/cbtool/wiki/DOC:-Zero-configuration-(almost)-benchmarking-w--Nested-containers)\n\n6. [Deploy your first Virtual Application](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Deploy-your-first-virtual-application)\n\n7. [Run simple experiments](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Run-simple-experiments)\n\n8. [If needed, debug the initial setup](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Debug-initial-setup)\n\n9. [Configure CBTOOL to run outside of the cloud (or with multiple tenant networks)](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Run-the-CloudBench-orchestrator-outside-of-the-cloud-(or-with-multiple-tenant-networks))\n\n    1. [Detailed instructions on how to use OpenVPN support](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Use-VPN-support-with-your-benchmarks)\n    \n10. Look at some [auto generated plots](https://github.com/ibmcb/cbtool/wiki/HOWTO:-Save-Monitoring-Data-on-the-Command-Line) made from the data collected.\n\n11. Read our latest paper [IC2E 2013](http://dl.acm.org/citation.cfm?id=2497243).\n\n12. Try administrating the tool with the [Graphical Environment](https://github.ibm.com/marcios/cbtool/wiki/HOWTO:-Using-the-Graphical-Environment)\n\n    1. Then try [monitoring your experiments with the Graphical Environment](https://github.ibm.com/marcios/cbtool/wiki/HOWTO:-Monitoring-with-the-Graphical-Environment)\n\n    2. Try to [customize your dashboard monitoring data with filters in the Graphical Environment](https://github.ibm.com/marcios/cbtool/wiki/HOWTO:-Customize-Dashboard-Monitoring-in-the-Graphical-Environment)\n\n    3. You can also try to use the [Graphical Wizard](https://github.ibm.com/marcios/cbtool/wiki/HOWTO:-Using-the-Wizard-for-first-time-connection) for a first-time connection.\n\n13. Read the [Frequently Asked Questions](https://github.com/ibmcb/cbtool/wiki/FAQ)\n\n## Features:\n- Automatic deployment and controlled execution of multiple multi-tier applications.\nEach individual application can have a specific load profile using probability distributions.\n- Adapters for multiple clouds (EC2 and OpenStack, among others), with a plugin structure that allows new cloud models to be added incrementally.\n- Can orchestrate different arrival rates and lifetimes for VMs using probability distributions.\n- Collects application and system (OS) performance data from hosts and guests in real time.\n- It is designed from the ground up to be highly scalable and parallel.\n\n## \u003ca name=\"adapters\"\u003e[Supported Clouds](https://github.com/ibmcb/cbtool/wiki/DOC:-Supported-Clouds):\n\n1. Amazon EC2\n2. OpenStack (and RackSpace)\n3. Google Compute Engine \n4. DigitalOcean\n5. Linode (Akamai Connected Cloud), NOTE: libcloud version 3.9.0 only: https://github.com/apache/libcloud/pull/1946\n6. Docker/Swarm\n7. LXD/LXC\n8. Kubernetes\n9. Libvirt+KVM\n10. VMWare vCloud (NOT actively maintained)\n11. CloudStack (NOT actively maintained)\n12. SoftLayer\n13. Nutanix\n\nWant to add support for a new Cloud? Take a look at our [Frequently Asked Questions](https://github.com/ibmcb/cbtool/wiki/FAQ#development-)\n\n## \u003ca name=\"workloads\"\u003e[Supported Workloads](https://github.com/ibmcb/cbtool/wiki/DOC:-Supported-Virtual-Applications)\n\nTo get the most current list, start CBTOOL and type ```typelist``` on the CLI. To get more information about a given workload, ```typeshow \u003cworkload name\u003e```:\n\n\u003e (MYCLOUD) typelist\n\n\u003e AIs with the following types can be attached to to this experiment (Cloud MYSIMCLOUD) :\n\n1. synthetic:\n2.  bonnie (default, full)\n3.   btest (default)\n4.  coremark (default)\n5.  ddgen (default)\n6.  filebench (fileserver, oltp_noism, varmail, videoserver, webproxy)\n7.  fio (default)\n8.  iperf (tcp, udp)\n9.  mlg (default)\n10.  netperf (tcp_stream, tcp_maerts, udp_stream, tcp_rr, tcp_cc, tcp_crr, udp_rr)\n11.  nuttcp (tcp, udp)\n12.  postmark (default)\n13.  unixbench (arithmetic, dhrystone, whetstone, load, misc, speed, oldsystem, system, fs, shell, index)\n14.  xping (icmp)\n\n\u003e application-stress:\n1.  memtier (default)\n2.  oldisim (default)\n3.  wrk (default)\n\n\u003e scientific:\n1.  hpcc (default)\n2.  linpack (default)\n3.  multichase (simple, work:N, t0-2, nta, movdqa, mvntdqa, parallel2-10, critword:N, critword2:N)\n4.  parboil (histo, bfs, stencil, mri-q, mri-gridding, lbm, tpacf, sad, spmv, sgemm, cutcp)\n5.  scimark (default)\n\n\u003e transactional:\n1.  cassandra_ycsb (workloada, workloadb, workloadc, workloadd, workloade, workloadf)\n2.  ibm_daytrader (default)\n3.  mongo_ycsb (workloada, workloadb, workloadc, workloadd, workloade, workloadf)\n4.  open_daytrader (default)\n5.  redis_ycsb (workloada, workloadb, workloadc, workloadd, workloade, workloadf)\n6.  specjbb (preset, hbir)\n7.  sysbench (simple, complex, nontrx, sp)\n\n\u003e data-centric:\n1.  giraph (pagerank, topkpagerank)\n2.  hadoop (sort, wordcount, terasort, dfsioe, nutchindexing, pagerank, bayes, kmeans, hivebench)\n\n\u003e fake:\n1.  nullworkload (default)\n\nContacts:\n\nMarcio Silva marcios@us.ibm.com\nMichael Galaxy mgalaxy@akamai.com\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibmcb%2Fcbtool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fibmcb%2Fcbtool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibmcb%2Fcbtool/lists"}