diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 0d2f8f3..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,301 +0,0 @@ -version: 2 -anchors: - - &rust_job - docker: - - image: rust:latest - - - &setup - run: - name: Set up the environment - command: | - git submodule update --init --recursive - - # used in lolbench's tests -- we want to test committing to data dirs - git config --global pull.rebase true - git config --global user.email 'adam.n.perry+lolbench@gmail.com' - git config --global user.name "lolbench" - - - &install_deps - run: - name: Install workspace dependencies - command: | - apt-get update -y - apt-get upgrade -y - apt-get install -y llvm-dev libclang-dev clang cmake - - - &restore_cache - restore_cache: - key: cargo-v0-{{ checksum "Cargo.lock" }}-{{ checksum "rust-toolchain" }} - - - &save_cache - save_cache: - key: cargo-v0-{{ checksum "Cargo.lock" }}-{{ checksum "rust-toolchain" }} - paths: - - ~/.cargo - - ~/.rustup - - - &store_target_dir - store_artifacts: - path: ~/project/target - - - &bench_crate - <<: *rust_job - environment: - LOLBENCH_DATA_DIR: /tmp/lolbench - steps: - - checkout - - *setup - # - *restore_cache - - *install_deps - - run: - name: test benchmark crate - command: cargo test --release --manifest-path "./benches/$CIRCLE_JOB/Cargo.toml" - - *save_cache - - *store_target_dir - - persist_to_workspace: - root: /tmp/lolbench - paths: - # go's globbing library makes me sad, no ** for any-length path segments? - # thankfully we only have two layers in storage atm - - "*/*.json" - -jobs: - fmt: - <<: *rust_job - steps: - - checkout - - *setup - - run: rustup component add rustfmt-preview - - run: cargo fmt-core -- --check - - core: - <<: *rust_job - steps: - - checkout - - *setup - # - *restore_cache - - *install_deps - - run: cargo test-core - - run: - name: build website - command: | - pushd .. - mkdir lolbench-site - git clone https://github.com/anp/lolbench-data.git - popd - - cargo build-website --data-dir ../lolbench-data --output-dir ~/lolbench-site - - *save_cache - - *store_target_dir - - store_artifacts: - path: ~/lolbench-site - - persist_to_workspace: - root: ~/lolbench-site - paths: - - "*" - - screenshots: - docker: - - image: circleci/node:10 - steps: - - checkout - - attach_workspace: - at: ~/lolbench-site - - run: - name: install chromium - command: | - sudo apt-get update - # https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md - sudo apt-get install \ - gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 \ - libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 \ - libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 \ - libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \ - libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \ - fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget - - run: - name: install script deps - working_directory: tools - command: npm ci - - run: - name: take screenshots - working_directory: tools - command: npm run screenshots -- --siteDir ~/lolbench-site --outputDir ~/screenshots - - store_artifacts: - path: ~/screenshots - - deploy: - docker: - - image: circleci/node:10 - steps: - - checkout - - *setup - - run: - name: install deployment deps - command: | - # https://docs.ansible.com/ansible/2.5/installation_guide/intro_installation.html - echo 'deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main' | \ - sudo tee -a /etc/apt/sources.list - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 - sudo apt-get update - sudo apt-get install ansible - - - run: - name: setup deploy secrets - command: | - mkdir -p ~/.ssh - echo "$LOLBENCH_DEPLOY_KEY" | base64 -d > ~/.ssh/id_ed25519 - chmod 0600 ~/.ssh/id_ed25519 - echo "$ANSIBLE_VAULT_PASSWORD" > .ansible-vault-password - - # trust all ansible hosts - mkdir -p ~/.ssh - grep runner= deploy/hosts | cut -d' ' -f1 | xargs ssh-keyscan >> ~/.ssh/known_hosts - - - run: ./deploy.sh $CIRCLE_SHA1 - - rebalance: - <<: *rust_job - steps: - - checkout - - *setup - # - *restore_cache - - attach_workspace: - at: /tmp/lolbench - - *install_deps - - run: cargo rebalance-benchmarks --sample-dir /tmp/lolbench - - run: cd /tmp && tar -cvzf lolbench-data-dir.tar.gz lolbench - - *save_cache - - store_artifacts: - path: registry.toml - - store_artifacts: - path: /tmp/lolbench - - store_artifacts: - path: /tmp/lolbench-data-dir.tar.gz - - brotli_1_1_3: - <<: *bench_crate - byteorder_1_2_6: - <<: *bench_crate - inflate_0_3_4: - <<: *bench_crate - rayon_1_0_0: - <<: *bench_crate - crossbeam_epoch_0_4_0: - <<: *bench_crate - json_benchmark_c7d3d9b: - <<: *bench_crate - raytrace_8de9020: - <<: *bench_crate - diesel_1_1_1: - <<: *bench_crate - nom_4_0_0: - <<: *bench_crate - regex_0_2_6: - <<: *bench_crate - doom_9e197d7: - <<: *bench_crate - quickcheck_0_6_1: - <<: *bench_crate - sha2_0_8_0: - <<: *bench_crate - sha3_0_8_0: - <<: *bench_crate - snap_0_2_4: - <<: *bench_crate - csv_1_0_2: - <<: *bench_crate - clap_2_31_2: - <<: *bench_crate - -workflows: - version: 2 - main: - jobs: - - fmt - - core: - requires: - - fmt - - rebalance: - requires: - - brotli_1_1_3 - - byteorder_1_2_6 - - crossbeam_epoch_0_4_0 - - csv_1_0_2 - - diesel_1_1_1 - - doom_9e197d7 - - inflate_0_3_4 - - json_benchmark_c7d3d9b - - nom_4_0_0 - - quickcheck_0_6_1 - - rayon_1_0_0 - - raytrace_8de9020 - - regex_0_2_6 - - sha2_0_8_0 - - sha3_0_8_0 - - snap_0_2_4 - - clap_2_31_2 - - screenshots: - requires: - - core - - brotli_1_1_3: - requires: - - fmt - - byteorder_1_2_6: - requires: - - fmt - - inflate_0_3_4: - requires: - - fmt - - rayon_1_0_0: - requires: - - fmt - - crossbeam_epoch_0_4_0: - requires: - - fmt - - json_benchmark_c7d3d9b: - requires: - - fmt - - raytrace_8de9020: - requires: - - fmt - - diesel_1_1_1: - requires: - - fmt - - nom_4_0_0: - requires: - - fmt - - regex_0_2_6: - requires: - - fmt - - doom_9e197d7: - requires: - - fmt - - quickcheck_0_6_1: - requires: - - fmt - - sha2_0_8_0: - requires: - - fmt - - sha3_0_8_0: - requires: - - fmt - - snap_0_2_4: - requires: - - fmt - - csv_1_0_2: - requires: - - fmt - - clap_2_31_2: - requires: - - fmt - - deploy: - filters: - branches: - only: - - master - requires: - - fmt - - core - - rebalance - - screenshots diff --git a/.github/workflows/git-commit-config.sh b/.github/workflows/git-commit-config.sh new file mode 100755 index 0000000..ed63429 --- /dev/null +++ b/.github/workflows/git-commit-config.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +# tests rely on git being configured right now +git config --global user.name "lolbench CI" +git config --global user.email "lolbench@anp.lol" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..7700c61 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,529 @@ +on: + push: + branches: + - main + pull_request: + branches: + - main +env: + LOLBENCH_DATA_DIR: /tmp/lolbench +jobs: + core: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test-core + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - uses: actions-rs/toolchain@v1 + with: + components: clippy, rustfmt + - uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + args: --all-features + - run: cargo fmt-core -- --check + + brotli_1_1_3: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + byteorder_1_2_6: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + clap_2_31_2: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + crossbeam_epoch_0_4_0: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + csv_1_0_2: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + diesel_1_1_1: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + doom_9e197d7: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + inflate_0_3_4: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + json_benchmark_c7d3d9b: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + nom_4_0_0: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + quickcheck_0_6_1: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + rayon_1_0_0: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + raytrace_8de9020: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + regex_0_2_6: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + sha2_0_8_0: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + sha3_0_8_0: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + snap_0_2_4: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ github.job }} + - uses: actions/upload-artifact@v1 + with: + name: ${{ github.job }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + merge_data_dirs: + needs: + - brotli_1_1_3 + - byteorder_1_2_6 + - clap_2_31_2 + - crossbeam_epoch_0_4_0 + - csv_1_0_2 + - diesel_1_1_1 + - doom_9e197d7 + - inflate_0_3_4 + - json_benchmark_c7d3d9b + - nom_4_0_0 + - quickcheck_0_6_1 + - rayon_1_0_0 + - raytrace_8de9020 + - regex_0_2_6 + - sha2_0_8_0 + - sha3_0_8_0 + - snap_0_2_4 + runs-on: ubuntu-latest + steps: + - name: download brotli_1_1_3 + uses: actions/download-artifact@v1 + with: + name: brotli_1_1_3 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download byteorder_1_2_6 + uses: actions/download-artifact@v1 + with: + name: byteorder_1_2_6 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download clap_2_31_2 + uses: actions/download-artifact@v1 + with: + name: clap_2_31_2 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download crossbeam_epoch_0_4_0 + uses: actions/download-artifact@v1 + with: + name: crossbeam_epoch_0_4_0 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download csv_1_0_2 + uses: actions/download-artifact@v1 + with: + name: csv_1_0_2 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download diesel_1_1_1 + uses: actions/download-artifact@v1 + with: + name: diesel_1_1_1 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download doom_9e197d7 + uses: actions/download-artifact@v1 + with: + name: doom_9e197d7 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download inflate_0_3_4 + uses: actions/download-artifact@v1 + with: + name: inflate_0_3_4 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download json_benchmark_c7d3d9b + uses: actions/download-artifact@v1 + with: + name: json_benchmark_c7d3d9b + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download nom_4_0_0 + uses: actions/download-artifact@v1 + with: + name: nom_4_0_0 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download quickcheck_0_6_1 + uses: actions/download-artifact@v1 + with: + name: quickcheck_0_6_1 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download rayon_1_0_0 + uses: actions/download-artifact@v1 + with: + name: rayon_1_0_0 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download + uses: actions/download-artifact@v1 + with: + name: raytrace_8de9020 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download regex_0_2_6 + uses: actions/download-artifact@v1 + with: + name: regex_0_2_6 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download sha2_0_8_0 + uses: actions/download-artifact@v1 + with: + name: sha2_0_8_0 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download sha3_0_8_0 + uses: actions/download-artifact@v1 + with: + name: sha3_0_8_0 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download snap_0_2_4 + uses: actions/download-artifact@v1 + with: + name: snap_0_2_4 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: upload merged data dir + uses: actions/upload-artifact@v1 + with: + name: final_data_dir + path: ${{ env.LOLBENCH_DATA_DIR }} + + rebalance: + needs: + - merge_data_dirs + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - uses: actions/download-artifact@v1 + with: + name: final_data_dir + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: rebalance benchmarks + uses: actions-rs/cargo@v1 + with: + command: rebalance-benchmarks + args: --sample-dir ${{ env.LOLBENCH_DATA_DIR }} + - name: upload registry.toml + uses: actions/upload-artifact@v1 + with: + name: registry.toml.balanced + path: registry.toml + + website: + needs: + - rebalance + env: + LOLBENCH_SITE_DIR: ~/lolbench-site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 + - name: download sample data dir (TODO download production data set) + uses: actions/download-artifact@v1 + with: + name: final_data_dir + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: build website + uses: actions-rs/cargo@v1 + with: + command: build-website + args: --data-dir ${{ env.LOLBENCH_DATA_DIR }} --output-dir ${{ env.LOLBENCH_SITE_DIR }} + - name: upload website + uses: actions/upload-artifact@v1 + with: + name: website + path: ${{ env.LOLBENCH_WEBSITE_DIR }} + - name: take screenshots + run: | + cd tools + npm ci + npm run screenshots -- --siteDir ${{ env.LOLBENCH_SITE_DIR }} --outputDir ~/screenshots + - name: upload screenshots + uses: actions/upload-artifact@v1 + with: + name: screenshots + path: ~/screenshots + + # deploy: + # if: github.ref == 'ref/head/master' + # needs: [core, lint, website] + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v2 + # with: + # submodules: true + # - run: ./deploy.sh $GITHUB_SHA diff --git a/README.md b/README.md index ca2ca36..27f1a03 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # lolbench -CI Status: [![CircleCI](https://circleci.com/gh/anp/lolbench/tree/master.svg?style=shield)](https://circleci.com/gh/anp/workflows/lolbench) +CI Status: [![GitHub](https://img.shields.io/github/workflow/status/anp/lolbench/main)](https://github.com/anp/lolbench/actions) This project is an effort to reproducibly benchmark "in the wild" Rust code against newer compiler versions to detect performance regressions. The data is currently published to [https://lolbench.rs](https://lolbench.rs). diff --git a/criterion b/criterion index 9e2a547..7857a42 160000 --- a/criterion +++ b/criterion @@ -1 +1 @@ -Subproject commit 9e2a54710b0afcaee98991376ac9abb164bfadaa +Subproject commit 7857a42b31ada52249bd26b935ee20d4b853db41 diff --git a/deploy/datadog.datadog/.circleci/config.yml b/deploy/datadog.datadog/.circleci/config.yml deleted file mode 100644 index a807445..0000000 --- a/deploy/datadog.datadog/.circleci/config.yml +++ /dev/null @@ -1,129 +0,0 @@ -version: 2 - -# Install the latest version of agent 5 and then try to downgrade to an older version -.install_agent_5: &install_agent_5 - steps: - - checkout - # dry run - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_5.yaml" --check - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5_${OS_TYPE}.yaml" --check - - # install latest agent5 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_5.yaml" - - run: dd-agent info || true - - run: ps aux | grep -v grep | grep datadog-agent - - # downgrading to 5.23.0 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5_${OS_TYPE}.yaml" - - run: dd-agent info || true - - run: ps aux | grep -v grep | grep datadog-agent - -# install the latest version of agent5, upgrade to the latest agent6 and downgrade to an old agent5 -.install_agent_6: &install_agent_6 - steps: - - checkout - # dry run - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_6.yaml" --check - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5_${OS_TYPE}.yaml" --check - - # install latest agent5 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_5.yaml" - - run: dd-agent info || true - - run: ps aux | grep -v grep | grep datadog-agent - - # upgrade to the latest agent6 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_6.yaml" - - run: datadog-agent version - - # downgrading to 5.23.0 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5_${OS_TYPE}.yaml" - - run: dd-agent info || true - - run: ps aux | grep -v grep | grep datadog-agent - -jobs: - - ansible_lint: - docker: - - image: datadog/docker-library:ansible_debian_2_4 - steps: - - checkout - - run: pip install ansible-lint - - run: ansible-lint -v $(find . -name *yml) -x ANSIBLE0006,ANSIBLE0010 - - debian_24_5: - docker: - - image: datadog/docker-library:ansible_debian_2_4 - environment: - - OS_TYPE: "debian" - <<: *install_agent_5 - - debian_24_6: - docker: - - image: datadog/docker-library:ansible_debian_2_4 - environment: - - OS_TYPE: "debian" - <<: *install_agent_6 - - debian_25_5: - docker: - - image: datadog/docker-library:ansible_debian_2_5 - environment: - - OS_TYPE: "debian" - <<: *install_agent_5 - - debian_25_6: - docker: - - image: datadog/docker-library:ansible_debian_2_5 - environment: - - OS_TYPE: "debian" - <<: *install_agent_6 - - centos_24_5: - docker: - - image: datadog/docker-library:ansible_centos_2_4 - environment: - - OS_TYPE: "centos" - <<: *install_agent_5 - - centos_24_6: - docker: - - image: datadog/docker-library:ansible_centos_2_4 - environment: - - OS_TYPE: "centos" - <<: *install_agent_6 - - centos_25_5: - docker: - - image: datadog/docker-library:ansible_centos_2_5 - environment: - - OS_TYPE: "centos" - <<: *install_agent_5 - - centos_25_6: - docker: - - image: datadog/docker-library:ansible_centos_2_5 - environment: - - OS_TYPE: "centos" - <<: *install_agent_6 - -workflows: - version: 2 - test_datadog_role: - jobs: - - ansible_lint - - # test debian (apt) - # ansible 2.4 - - debian_24_5 - - debian_24_6 - # ansible 2.5 - - debian_25_5 - - debian_25_6 - - # test centos (rpm) - # ansible 2.4 - - centos_24_5 - - centos_24_6 - # ansible 2.5 - - centos_25_5 - - centos_25_6 diff --git a/deploy/datadog.datadog/.gitignore b/deploy/datadog.datadog/.gitignore deleted file mode 100644 index a058c8c..0000000 --- a/deploy/datadog.datadog/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.vagrant -*.retry diff --git a/deploy/datadog.datadog/CHANGELOG.md b/deploy/datadog.datadog/CHANGELOG.md deleted file mode 100644 index 67794ea..0000000 --- a/deploy/datadog.datadog/CHANGELOG.md +++ /dev/null @@ -1,111 +0,0 @@ -CHANGELOG -========= - -# 2.3.1 / 2018-08-24 - -* [FIX] Disabling repo metadata signature check for SUSE/SLES. - -# 2.3.0 / 2018-07-23 - -* [FEATURE] Add support for SUSE/SLES (thanks to [@enarciso][]). - -# 2.2.0 / 2018-06-06 - -* [DEPRECATION] Drop support for EOL platform -* [IMPROVEMENT] Harmonize tasks names between agent5 and agent6 (thanks [@xp-1000][]). - -# 2.1.0 / 2018-05-14 - -* [FEATURE] Support "--check" Ansible option for dry-run. -* [BUGFIX] Fix downgrade on centos. -* [IMPROVEMENT] Update conf paths to respect agent6 best practice (thanks [@dbr1993][]). -* [IMPROVEMENT] Fix YAML cosmetics: standardize syntax everywhere (thanks [@tomgoren][]). -* [DEPRECATION] Drop support for EOL versions of ansible (<2.2). - -# 2.0.3 / 2018-04-13 - -* [BUGFIX] Removing legacy http apt repos pre-dating usage of HTTPS. See [#116][] - -# 2.0.2 / 2018-03-27 - -* [BUGFIX] Remove empty brackets from datadog.yaml when datadog_config is empty. See [#107][] - -# 2.0.1 / 2018-03-05 - -* [BUGFIX] Remove failing import of expired APT key. See [#105][] - -# 1.6.1 / 2018-03-05 - -* [BUGFIX] Remove failing import of expired APT key. See [#105][] - -# 2.0.0 / 2018-02-27 - -* [RELEASE] Make Agent6 the default version to install. -* [IMPROVEMENT] Defaulting to HTTPS for apt and yum repo. - -# 1.6.0 / 2018-01-19 - -* [IMPROVEMENT] Refresh apt cache every hour. See [#98][] - -# 1.5.0 / 2018-01-05 - -* [FEATURE] Add Agent6 (beta) support on RPM-based distros. See [#90][] (thanks [@brendanlong][]) - -# 1.4.0 / 2017-10-30 - -* [FEATURE] Allow specifying custom repo. See [#80][] -* [FEATURE] Add Agent6 (beta) support on debianoids. See [#81][] -* [BUGFIX] Fix incorrect handler name in process task. See [#68][] (thanks [@jeffwidman][]) -* [SANITY] Improve agent service task name and handler formatting. See [#62][] and [#67][] (thanks [@jeffwidman][]) - -# 1.3.0 / 2017-04-04 - -* [FEATURE] Add support for configuring trace agent. See [#45][] and [#58][] (thanks [@pmbauer][]) -* [FEATURE] Allow pinning the version of the Agent. See [#61][] -* [IMPROVEMENT] Pipe `datadog_checks` through list for python3 support. See [#51][] (thanks [@gtrummell][]) -* [IMPROVEMENT] Use `ansible-lint` on the role and use names on all tasks. See [#50][] (thanks [@eplanet][]) -* [BUGFIX] Fix `ini` format of the `datadog.conf` file. See [#59][] - -# 1.2.0 / 2016-12-13 - -* [FEATURE] Trust new APT and RPM keys. See [#30][] -* [IMPROVEMENT] Change the `state` of `apt-transport-https` from `latest` to `present`. See [#36][] -* [IMPROVEMENT] Convert config file tasks to proper YAML formatting. See [#32][] (thanks [@jeffwidman][]) - -# 1.1.0 / 2016-06-27 - -* [FEATURE] Allow APT repo settings to be user-defined. See [#20][] (thanks [@geoffwright][]) - -# 1.0.0 / 2016-06-08 - -Initial release, compatible with Ansible v1 & v2 - - -[#20]: https://github.com/DataDog/ansible-datadog/issues/20 -[#30]: https://github.com/DataDog/ansible-datadog/issues/30 -[#32]: https://github.com/DataDog/ansible-datadog/issues/32 -[#36]: https://github.com/DataDog/ansible-datadog/issues/36 -[#45]: https://github.com/DataDog/ansible-datadog/issues/45 -[#50]: https://github.com/DataDog/ansible-datadog/issues/50 -[#51]: https://github.com/DataDog/ansible-datadog/issues/51 -[#58]: https://github.com/DataDog/ansible-datadog/issues/58 -[#59]: https://github.com/DataDog/ansible-datadog/issues/59 -[#61]: https://github.com/DataDog/ansible-datadog/issues/61 -[#62]: https://github.com/DataDog/ansible-datadog/issues/62 -[#67]: https://github.com/DataDog/ansible-datadog/issues/67 -[#68]: https://github.com/DataDog/ansible-datadog/issues/68 -[#80]: https://github.com/DataDog/ansible-datadog/issues/80 -[#81]: https://github.com/DataDog/ansible-datadog/issues/81 -[#90]: https://github.com/DataDog/ansible-datadog/issues/90 -[#98]: https://github.com/DataDog/ansible-datadog/issues/98 -[#105]: https://github.com/DataDog/ansible-datadog/issues/105 -[@brendanlong]: https://github.com/brendanlong -[@eplanet]: https://github.com/eplanet -[@geoffwright]: https://github.com/geoffwright -[@gtrummell]: https://github.com/gtrummell -[@jeffwidman]: https://github.com/jeffwidman -[@pmbauer]: https://github.com/pmbauer -[@tomgoren]: https://github.com/tomgoren -[@dbr1993]: https://github.com/dbr1993 -[xp-1000]: https://github.com/xp-1000 -[enarciso]: https://github.com/enarciso diff --git a/deploy/datadog.datadog/LICENSE b/deploy/datadog.datadog/LICENSE deleted file mode 100644 index 9df50a3..0000000 --- a/deploy/datadog.datadog/LICENSE +++ /dev/null @@ -1,203 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2014 Brian Akins brian@akins.org - Copyright 2015 Dustin Brown dustinjamesbrown@gmail.com - Copyright 2015 Datadog, Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/deploy/datadog.datadog/README.md b/deploy/datadog.datadog/README.md deleted file mode 100644 index b76889e..0000000 --- a/deploy/datadog.datadog/README.md +++ /dev/null @@ -1,275 +0,0 @@ -Ansible Datadog Role -======== -[![Ansible Galaxy](http://img.shields.io/badge/galaxy-Datadog.datadog-660198.svg)](https://galaxy.ansible.com/Datadog/datadog/) -[![Build Status](https://travis-ci.org/DataDog/ansible-datadog.svg?branch=master)](https://travis-ci.org/DataDog/ansible-datadog) - -Install and configure Datadog base agent & checks. Starting with version `2` of -this role version 6 of the agent is installed by default (instead of version -5). - -Supports most Debian and RHEL-based Linux distributions. - -Installation ------------- - -``` -ansible-galaxy install Datadog.datadog -``` - -Role Variables --------------- - -- `datadog_api_key` - Your Datadog API key. -- `datadog_agent_version` - The pinned version of the Agent to install (optional, but highly recommended) - Examples: `1:6.0.0-1` on apt-based platforms, `6.0.0-1` on yum-based platforms -- `datadog_checks` - YAML configuration for agent checks to drop into: - + `/etc/datadog-agent/conf.d/.d/conf.yaml` for agent6 - + `/etc/dd-agent/conf.d` for agent5. -- `datadog_config` - Settings to place in the main agent configuration file: - + `/etc/datadog-agent/datadog.yaml` for agent6 - + `/etc/dd-agent/datadog.conf` for agent5 (under the `[Main]` section). -- `datadog_config_ex` - Extra INI sections to go in `/etc/dd-agent/datadog.conf` (optional). Agent5 only. -- `datadog_apt_repo` - Override default Datadog `apt` repository -- `datadog_apt_cache_valid_time` - Override the default apt cache expiration time (default 1 hour) -- `datadog_apt_key_url_new` - Override default url to Datadog `apt` key (key ID `382E94DE` ; the deprecated `datadog_apt_key_url` variable refers to an expired key that's been removed from the role) -- `datadog_agent_allow_downgrade` - Set to `yes` to allow agent downgrades on apt-based platforms (use with caution, see `defaults/main.yml` for details). **On centos this will only work with ansible 2.4 and up**. - -Agent 5 (older version) ------------------------ - -This role includes support for Datadog Agent version 5. - -To install agent5, you need to: - -- set `datadog_agent5` to true -- either set `datadog_agent_version` to an existing agent5 version - (recommended) or leave it empty to always install the latest version (`5.*`). - -To downgrade from agent6 to agent5, you need to (**on centos this will only work with ansible 2.4 and up**): - -- set `datadog_agent5` to true -- pin `datadog_agent_version` to an existing agent5 version -- set `datadog_agent_allow_downgrade` to yes - -Variables: - -- `datadog_agent5` - install agent5 instead of agent6 (default to `false`) -- `datadog_agent5_apt_repo` - Override default Datadog `apt` repository for agent5 - -Dependencies ------------- -None - -Configuring a check -------------------- - -To configure a check you need to add an entry to the `datadog_checks` section. -The first level key is the name of the check and the value is the yaml payload -to write the configuration file. - -Example: - -**Process check** - -We define 2 instances for the `process` check. -This will create: -- for agent6: `/etc/datadog-agent/conf.d/process.d/conf.yaml` -- for agent5: `/etc/datadog-agent/conf.d/process.yaml` - -```yml - datadog_checks: - process: - init_config: - instances: - - name: ssh - search_string: ['ssh', 'sshd' ] - - name: syslog - search_string: ['rsyslog' ] - cpu_check_interval: 0.2 - exact_match: true - ignore_denied_access: true -``` - -**custom check** - -We define 1 instance for a custom check. - -This will create: -- for agent6: `/etc/datadog-agent/conf.d/my_custom_check.d/conf.yaml` -- for agent5: `/etc/datadog-agent/conf.d/my_custom_check.yaml` - -```yml - datadog_checks: - my_custom_check: - init_config: - instances: - - some_data: true -``` - -**autodiscovery check** - -There is no pre-processing nor post-processing on the YAML. This means every -YAML sections will be added to the final configuration file, including -`autodiscovery identifiers`. - -This example will configure the PostgeSQL check through **autodiscovery**: - -```yml - datadog_checks: - postgres: - ad_identifiers: - - db-master - - db-slave - init_config: - instances: - - host: %%host%% - port: %%port%% - username: username - password: password -``` - - -Example Playbooks ------------------ -```yml -- hosts: servers - roles: - - { role: Datadog.datadog, become: yes } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` - vars: - datadog_api_key: "123456" - datadog_agent_version: "1:6.0.0-1" # for apt-based platforms, use a `6.0.0-1` format on yum-based platforms - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - logs_enabled: true # log collection is available on agent 6 - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: ssh - search_string: ['ssh', 'sshd' ] - - name: syslog - search_string: ['rsyslog' ] - cpu_check_interval: 0.2 - exact_match: true - ignore_denied_access: true - ssh_check: - init_config: - instances: - - host: localhost - port: 22 - username: root - password: changeme - sftp_check: True - private_key_file: - add_missing_keys: True - nginx: - init_config: - instances: - - nginx_status_url: http://example.com/nginx_status/ - tags: - - instance:foo - - nginx_status_url: http://example2.com:1234/nginx_status/ - tags: - - instance:bar - #Log collection is available on agent 6 - logs: - - type: file - path: /var/log/access.log - service: myapp - source: nginx - sourcecategory: http_web_access - - type: file - path: /var/log/error.log - service: nginx - source: nginx - sourcecategory: http_web_access -``` - -```yml -- hosts: servers - roles: - - { role: Datadog.datadog, become: yes, datadog_api_key: "mykey" } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` -``` - - -Process Agent -------------------------- - -To control the behavior of the Process Agent, use the `enabled` variable under the `datadog_config` field. -It has to be set as a string and the possible values are: "true", "false" (for only container collection) -or "disabled" (to disable the Process Agent entirely) - -#### Variables - -- `scrub_args` - enables the scrubbing of sensitive arguments from a process command line. Default value is true -- `custom_sensitive_words` - expands the default list of sensitive words used by the cmdline scrubber - -#### Example of configuration -```yml -datadog_config: - process_config: - enabled: "true" # has to be set as a string - scrub_args: true - custom_sensitive_words: ['consul_token','dd_api_key'] -``` - -### Agent 5 - -To enable/disable the Process Agent on Agent 5, you need to set on `datadog_config`: - -- `process_agent_enabled` to true/false - -Set the available variables inside `process.config` under the `datadog_config_ex` -field to control the Process Agent's features. - -#### Example of configuration -```yml -datadog_config: - process_agent_enabled: true -datadog_config_ex: - process.config: - scrub_args: true - custom_sensitive_words: "consul_token,dd_api_key" -``` - -Known Issues and Workarounds ----------------------------- - -On Debian Stretch, the `apt_key` module that the role uses requires an additional system dependency to work correctly. -Unfortunately that dependency (`dirmngr`) is not provided by the module. To work around this, you can add the following -to the playbooks that make use of the present role: - -```yml ---- -- hosts: all - pre_tasks: - - name: Debian Stretch requires dirmngr package to be installed in order to use apt_key - become: yes # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` - apt: - name: dirmngr - state: present - - roles: - - { role: Datadog.datadog, become: yes, datadog_api_key: "mykey" } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` -``` - -License -------- - -Apache2 - -Author Information ------------------- - -brian@akins.org - -dustinjamesbrown@gmail.com --Forked from brian@akins.org - -Datadog --Forked from dustinjamesbrown@gmail.com diff --git a/deploy/datadog.datadog/ci_test/downgrade_to_5_centos.yaml b/deploy/datadog.datadog/ci_test/downgrade_to_5_centos.yaml deleted file mode 100644 index 516e625..0000000 --- a/deploy/datadog.datadog/ci_test/downgrade_to_5_centos.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- - -- hosts: all - roles: - - { role: '/root/project/'} - vars: - datadog_api_key: "11111111111111111111111111111111" - datadog_agent5: true - datadog_agent_version: 5.23.0-1 - datadog_agent_allow_downgrade: yes - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: agent - search_string: ['agent' ] diff --git a/deploy/datadog.datadog/ci_test/downgrade_to_5_debian.yaml b/deploy/datadog.datadog/ci_test/downgrade_to_5_debian.yaml deleted file mode 100644 index 9493c55..0000000 --- a/deploy/datadog.datadog/ci_test/downgrade_to_5_debian.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- - -- hosts: all - roles: - - { role: '/root/project/'} - vars: - datadog_api_key: "11111111111111111111111111111111" - datadog_agent5: true - datadog_agent_version: 1:5.23.0-1 - datadog_agent_allow_downgrade: yes - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: agent - search_string: ['agent' ] diff --git a/deploy/datadog.datadog/ci_test/install_agent_5.yaml b/deploy/datadog.datadog/ci_test/install_agent_5.yaml deleted file mode 100644 index d44c82f..0000000 --- a/deploy/datadog.datadog/ci_test/install_agent_5.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- - -- hosts: all - roles: - - { role: '/root/project/'} - vars: - datadog_api_key: "11111111111111111111111111111111" - datadog_agent5: true - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: agent - search_string: ['agent' ] diff --git a/deploy/datadog.datadog/ci_test/install_agent_6.yaml b/deploy/datadog.datadog/ci_test/install_agent_6.yaml deleted file mode 100644 index 35e6e5f..0000000 --- a/deploy/datadog.datadog/ci_test/install_agent_6.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- - -- hosts: all - roles: - - { role: '/root/project/'} - vars: - datadog_api_key: "11111111111111111111111111111111" - datadog_enabled: false - # avoid checking that the agent is stopped for centos - datadog_skip_running_check: true - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: agent - search_string: ['agent', 'sshd' ] diff --git a/deploy/datadog.datadog/ci_test/inventory/ci.ini b/deploy/datadog.datadog/ci_test/inventory/ci.ini deleted file mode 100644 index ff8e2e7..0000000 --- a/deploy/datadog.datadog/ci_test/inventory/ci.ini +++ /dev/null @@ -1,2 +0,0 @@ -[test] -127.0.0.1 ansible_connection=local diff --git a/deploy/datadog.datadog/defaults/main.yml b/deploy/datadog.datadog/defaults/main.yml deleted file mode 100644 index 74d82c9..0000000 --- a/deploy/datadog.datadog/defaults/main.yml +++ /dev/null @@ -1,59 +0,0 @@ ---- -datadog_enabled: yes - -# default datadog.conf options -datadog_config: {} - -# default checks enabled -datadog_checks: {} - -# default user/group -datadog_user: dd-agent -datadog_group: root - -# default apt repo -datadog_apt_repo: "deb https://apt.datadoghq.com/ stable 6" -datadog_apt_cache_valid_time: 3600 - -# default yum repo and keys -datadog_yum_repo: "https://yum.datadoghq.com/stable/6/{{ ansible_userspace_architecture }}/" -datadog_yum_gpgkey: "https://yum.datadoghq.com/DATADOG_RPM_KEY.public" -datadog_yum_gpgkey_new: "https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public" - -# default zypper repo and keys -datadog_zypper_repo: "https://yum.datadoghq.com/suse/stable/6/{{ ansible_userspace_architecture }}" -datadog_zypper_gpgkey: "https://yum.datadoghq.com/DATADOG_RPM_KEY.public" -datadog_zypper_gpgkey_sha256sum: "00d6505c33fd95b56e54e7d91ad9bfb22d2af17e5480db25cba8fee500c80c46" - -# Pin agent to a version. Highly recommended. -datadog_agent_version: "" - -# Avoid checking if the agent is running or not. This can be useful if you're -# using sysvinit and providing your own init script. -datadog_skip_running_check: false - -# Set this to `yes` to allow agent downgrades on apt-based platforms. -# Internally, this uses `apt-get`'s `--force-yes` option. Use with caution. -# On centos this will only work with ansible 2.4 and up -datadog_agent_allow_downgrade: no - -######################################################################## -### Installing agent5 ### - -# To install agent5 instead of agent6 you need to: -# * set 'datadog_agent5' to true -datadog_agent5: no - -# To downgrade from agent6 to agent5, you need to: -# * set 'datadog_agent5' to true -# * pin 'datadog_agent_version' to an existing agent5 version -# * set 'datadog_agent_allow_downgrade' to yes - -# repos where datadog-agent v5 packages are available -datadog_agent5_apt_repo: "deb https://apt.datadoghq.com stable main" -datadog_agent5_yum_repo: "https://yum.datadoghq.com/rpm/{{ ansible_userspace_architecture }}/" -datadog_agent5_zypper_repo: "https://yum.datadoghq.com/suse/rpm/{{ ansible_userspace_architecture }}" - -### End of Beta-Agent6-only experimental attributes ### -######################################################################## - diff --git a/deploy/datadog.datadog/handlers/main.yml b/deploy/datadog.datadog/handlers/main.yml deleted file mode 100644 index c42cfe3..0000000 --- a/deploy/datadog.datadog/handlers/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -- name: restart datadog-agent - service: - name: datadog-agent - state: restarted - when: datadog_enabled and not ansible_check_mode diff --git a/deploy/datadog.datadog/meta/.galaxy_install_info b/deploy/datadog.datadog/meta/.galaxy_install_info deleted file mode 100644 index 80ac269..0000000 --- a/deploy/datadog.datadog/meta/.galaxy_install_info +++ /dev/null @@ -1 +0,0 @@ -{install_date: 'Fri Sep 14 09:01:49 2018', version: 2.3.1} diff --git a/deploy/datadog.datadog/meta/main.yml b/deploy/datadog.datadog/meta/main.yml deleted file mode 100644 index f8d0d3b..0000000 --- a/deploy/datadog.datadog/meta/main.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -galaxy_info: - author: 'Brian Akins, Dustin Brown & Datadog' - description: Install Datadog agent and configure checks - license: Apache2 - min_ansible_version: 2.2 - platforms: - - name: Ubuntu - versions: - - trusty - - xenial - - artful - - bionic - - name: Debian - versions: - - wheezy - - jessie - - stretch - - name: EL - versions: - - 7 - - 6 - - name: opensuse - versions: - - 11 - - 12 - categories: - - monitoring -dependencies: [] diff --git a/deploy/datadog.datadog/tasks/agent5.yml b/deploy/datadog.datadog/tasks/agent5.yml deleted file mode 100644 index 18506b4..0000000 --- a/deploy/datadog.datadog/tasks/agent5.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -- name: (agent5) Create Datadog agent config directory - file: - dest: /etc/dd-agent - state: directory - -- name: (agent5) Create main Datadog agent configuration file - template: - src: datadog.conf.j2 - dest: /etc/dd-agent/datadog.conf - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - notify: restart datadog-agent - -- name: (agent5) Ensure datadog-agent is running - service: - name: datadog-agent - state: started - enabled: yes - when: not datadog_skip_running_check and datadog_enabled and not ansible_check_mode - -- name: (agent5) Ensure datadog-agent is not running - service: - name: datadog-agent - state: stopped - enabled: no - when: not datadog_skip_running_check and not datadog_enabled - -- name: (agent5) Create a configuration file for each Datadog check - template: - src: checks.yaml.j2 - dest: "/etc/dd-agent/conf.d/{{ item }}.yaml" - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - with_items: "{{ datadog_checks|list }}" - notify: restart datadog-agent diff --git a/deploy/datadog.datadog/tasks/agent6.yml b/deploy/datadog.datadog/tasks/agent6.yml deleted file mode 100644 index cd8dfde..0000000 --- a/deploy/datadog.datadog/tasks/agent6.yml +++ /dev/null @@ -1,67 +0,0 @@ ---- -- name: Create Datadog agent config directory - file: - dest: /etc/datadog-agent - state: directory - -- name: Create main Datadog agent configuration file - template: - src: datadog.yaml.j2 - dest: /etc/datadog-agent/datadog.yaml - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - notify: restart datadog-agent - -- name: Ensure configuration directories are present for each Datadog check - file: - dest: "/etc/datadog-agent/conf.d/{{ item }}.d" - state: directory - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - with_items: '{{ datadog_checks|list }}' - -- name: Create a configuration file for each Datadog check - template: - src: checks.yaml.j2 - dest: "/etc/datadog-agent/conf.d/{{ item }}.d/conf.yaml" - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - with_items: "{{ datadog_checks|list }}" - notify: restart datadog-agent - -- name: Remove old configuration file for each Datadog check - file: - dest: "/etc/datadog-agent/conf.d/{{ item }}.yaml" - state: absent - with_items: "{{ datadog_checks|list }}" - notify: restart datadog-agent - -- name: Create trace agent configuration file - template: - src: datadog.conf.j2 - dest: /etc/datadog-agent/trace-agent.conf - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - notify: restart datadog-agent - -- name: Create process agent configuration file - template: - src: datadog.conf.j2 - dest: /etc/datadog-agent/process-agent.conf - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - notify: restart datadog-agent - -- name: Ensure datadog-agent is running - service: - name: datadog-agent - state: started - enabled: yes - when: not datadog_skip_running_check and datadog_enabled and not ansible_check_mode - -- name: Ensure datadog-agent is not running - service: - name: datadog-agent - state: stopped - enabled: no - when: not datadog_skip_running_check and not datadog_enabled diff --git a/deploy/datadog.datadog/tasks/main.yml b/deploy/datadog.datadog/tasks/main.yml deleted file mode 100644 index 2666c5c..0000000 --- a/deploy/datadog.datadog/tasks/main.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -- include: pkg-debian.yml - when: ansible_os_family == "Debian" - -- include: pkg-redhat.yml - when: ansible_os_family == "RedHat" - -- include: pkg-suse.yml - when: ansible_os_family == "Suse" - -- include: agent5.yml - when: datadog_agent5 - -- include: agent6.yml - when: not datadog_agent5 diff --git a/deploy/datadog.datadog/tasks/pkg-debian.yml b/deploy/datadog.datadog/tasks/pkg-debian.yml deleted file mode 100644 index e3120b2..0000000 --- a/deploy/datadog.datadog/tasks/pkg-debian.yml +++ /dev/null @@ -1,61 +0,0 @@ ---- -- name: Install apt-transport-https - apt: - name: apt-transport-https - state: present - when: not ansible_check_mode - -- name: Install ubuntu apt-key server - apt_key: - id: A2923DFF56EDA6E76E55E492D3A80E30382E94DE - keyserver: hkp://keyserver.ubuntu.com:80 - state: present - when: datadog_apt_key_url_new is not defined - -- name: Install Datadog apt-key - apt_key: - id: A2923DFF56EDA6E76E55E492D3A80E30382E94DE - url: "{{ datadog_apt_key_url_new }}" - state: present - when: datadog_apt_key_url_new is defined - -- name: Ensure Datadog non-https repositories are deprecated - apt_repository: - repo: "{{ item }}" - state: "absent" - update_cache: yes - with_items: - - "deb http://apt.datadoghq.com/ stable main" - - "deb http://apt.datadoghq.com/ stable 6" - when: not ansible_check_mode - -- name: Ensure Datadog repository is up-to-date - apt_repository: - repo: "{{ datadog_apt_repo }}" - state: "{% if datadog_agent5 %}absent{% else %}present{% endif %}" - update_cache: yes - when: not ansible_check_mode - -- name: (agent5) Ensure Datadog repository is up-to-date - apt_repository: - repo: "{{ datadog_agent5_apt_repo }}" - state: "{% if datadog_agent5 %}present{% else %}absent{% endif %}" - update_cache: yes - when: not ansible_check_mode - -- name: Ensure pinned version of Datadog agent is installed - apt: - name: "datadog-agent={{ datadog_agent_version }}" - state: present - force: "{{ datadog_agent_allow_downgrade }}" - update_cache: yes - cache_valid_time: "{{ datadog_apt_cache_valid_time }}" - when: (datadog_agent_version != "") and (not ansible_check_mode) - -- name: Ensure Datadog agent is installed - apt: - name: datadog-agent - state: latest - update_cache: yes - cache_valid_time: "{{ datadog_apt_cache_valid_time }}" - when: (datadog_agent_version == "") and (not ansible_check_mode) diff --git a/deploy/datadog.datadog/tasks/pkg-redhat.yml b/deploy/datadog.datadog/tasks/pkg-redhat.yml deleted file mode 100644 index f82b18d..0000000 --- a/deploy/datadog.datadog/tasks/pkg-redhat.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- -- name: Download new RPM key - get_url: - url: "{{ datadog_yum_gpgkey_new }}" - dest: /tmp/DATADOG_RPM_KEY_E09422B3.public - sha256sum: 694a2ffecff85326cc08e5f1a619937999a5913171e42f166e13ec802c812085 - -- name: Import new RPM key - rpm_key: - key: /tmp/DATADOG_RPM_KEY_E09422B3.public - state: present - when: not ansible_check_mode - -- name: Install DataDog yum repo - yum_repository: - name: datadog - description: Datadog, Inc. - baseurl: "{{ datadog_yum_repo }}" - enabled: yes - gpgcheck: yes - gpgkey: "{{ datadog_yum_gpgkey }}" - state: "{% if datadog_agent5 %}absent{% else %}present{% endif %}" - -- name: (agent5) Install DataDog yum repo - yum_repository: - name: datadog_5 - description: Datadog, Inc. - baseurl: "{{ datadog_agent5_yum_repo }}" - enabled: yes - gpgcheck: yes - gpgkey: "{{ datadog_yum_gpgkey }}" - state: "{% if datadog_agent5 %}present{% else %}absent{% endif %}" - -- name: Install pinned datadog-agent package - yum: - name: "datadog-agent-{{ datadog_agent_version }}" - state: present - allow_downgrade: "{{ datadog_agent_allow_downgrade }}" - when: (datadog_agent_version != "") and (not ansible_check_mode) - notify: restart datadog-agent - -# Using `yum` directly to work around an Ansible bug: -# https://github.com/ansible/ansible/issues/20608 -- name: Install latest datadog-agent package - command: yum install -y datadog-agent - when: datadog_agent_version == "" - notify: restart datadog-agent diff --git a/deploy/datadog.datadog/tasks/pkg-suse.yml b/deploy/datadog.datadog/tasks/pkg-suse.yml deleted file mode 100644 index 1f10883..0000000 --- a/deploy/datadog.datadog/tasks/pkg-suse.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -- block: # Work around due to SNI check for SLES11 - - name: Stat if RPM key already exist - stat: - path: /tmp/DATADOG_RPM_KEY.public - register: ddkey - - name: Download new RPM key (SLES11) - shell: "curl {{ datadog_zypper_gpgkey }} -o /tmp/DATADOG_RPM_KEY.public" - args: - warn: no - when: not ddkey.stat.exists - when: ansible_distribution_version|int == 11 - -- name: Download new RPM key - get_url: - url: "{{ datadog_zypper_gpgkey }}" - dest: /tmp/DATADOG_RPM_KEY.public - sha256sum: "{{ datadog_zypper_gpgkey_sha256sum }}" - when: ansible_distribution_version|int >= 12 - -- name: Import new RPM key - rpm_key: - key: /tmp/DATADOG_RPM_KEY.public - state: present - when: not ansible_check_mode - -# ansible don't allow repo_gpgcheck to be set, we have to create the repo file manually -- name: Install DataDog zypper repo - template: - src: zypper.repo.j2 - dest: /etc/zypp/repos.d/datadog.repo - owner: "root" - group: "root" - register: datadog_zypper_repo - -# refresh zypper repos only if the template changed -- name: refresh Datadog zypper_repos - command: zypper refresh datadog - when: datadog_zypper_repo.changed and not ansible_check_mode - args: - warn: false # silence warning about using zypper directly - -- name: Install pinned datadog-agent package - zypper: - name: "datadog-agent={{ datadog_agent_version }}" - state: present - oldpackage: "{{ datadog_agent_allow_downgrade }}" - when: (datadog_agent_version != "") and (not ansible_check_mode) - notify: restart datadog-agent - -- name: Install latest datadog-agent package - zypper: - name: datadog-agent - state: latest - when: datadog_agent_version == "" - notify: restart datadog-agent diff --git a/deploy/datadog.datadog/templates/checks.yaml.j2 b/deploy/datadog.datadog/templates/checks.yaml.j2 deleted file mode 100644 index 39274f2..0000000 --- a/deploy/datadog.datadog/templates/checks.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -{{ datadog_checks[item] | to_nice_yaml }} diff --git a/deploy/datadog.datadog/templates/datadog.conf.j2 b/deploy/datadog.datadog/templates/datadog.conf.j2 deleted file mode 100644 index 455b400..0000000 --- a/deploy/datadog.datadog/templates/datadog.conf.j2 +++ /dev/null @@ -1,31 +0,0 @@ -# Managed by Ansible - -[Main] - -{% if datadog_config["dd_url"] is not defined -%} - dd_url: {{ datadog_url | default('https://app.datadoghq.com') }} -{% endif %} - -{% if datadog_config["api_key"] is not defined -%} - api_key: {{ datadog_api_key | default('youshouldsetthis') }} -{% endif %} - -{% if datadog_config["use_mount"] is not defined -%} - use_mount: {{ datadog_use_mount | default('no') }} -{% endif %} - -{# These variables are free-style, passed through a hash -#} -{% if datadog_config -%} -{% for key, value in datadog_config.items() -%} -{{ key }}: {{ value }} -{% endfor -%} -{% endif %} - -{% if datadog_config_ex is defined -%} -{% for section, keyvals in datadog_config_ex.items() %} -[{{ section }}] -{% for key, value in keyvals.items() -%} -{{ key }}: {{ value }} -{% endfor -%} -{% endfor %} -{% endif %} diff --git a/deploy/datadog.datadog/templates/datadog.yaml.j2 b/deploy/datadog.datadog/templates/datadog.yaml.j2 deleted file mode 100644 index 91d258e..0000000 --- a/deploy/datadog.datadog/templates/datadog.yaml.j2 +++ /dev/null @@ -1,13 +0,0 @@ -# Managed by Ansible - -{% if datadog_config["dd_url"] is not defined -%} -dd_url: {{ datadog_url | default('https://app.datadoghq.com') }} -{% endif %} - -{% if datadog_config["api_key"] is not defined -%} -api_key: {{ datadog_api_key | default('youshouldsetthis') }} -{% endif %} - -{% if datadog_config is defined and datadog_config|length > 0 -%} -{{ datadog_config | to_nice_yaml }} -{% endif %} diff --git a/deploy/datadog.datadog/templates/zypper.repo.j2 b/deploy/datadog.datadog/templates/zypper.repo.j2 deleted file mode 100644 index ae24b35..0000000 --- a/deploy/datadog.datadog/templates/zypper.repo.j2 +++ /dev/null @@ -1,9 +0,0 @@ -[datadog] -name=Datadog, Inc. -enabled=1 -autorefresh=1 -baseurl={% if datadog_agent5 %}{{ datadog_agent5_zypper_repo }}{% else %}{{ datadog_zypper_repo }}{% endif %} - -type=rpm-md -gpgcheck=1 -repo_gpgcheck=0 diff --git a/deploy/datadog.datadog/tests/Vagrantfile b/deploy/datadog.datadog/tests/Vagrantfile deleted file mode 100644 index b4a4f31..0000000 --- a/deploy/datadog.datadog/tests/Vagrantfile +++ /dev/null @@ -1,3 +0,0 @@ -Vagrant.configure("2") do |config| - config.vm.box = "ubuntu/trusty64" -end diff --git a/deploy/datadog.datadog/tests/inventory b/deploy/datadog.datadog/tests/inventory deleted file mode 100644 index 5a836b8..0000000 --- a/deploy/datadog.datadog/tests/inventory +++ /dev/null @@ -1,2 +0,0 @@ -[test_host] -127.0.0.1 ansible_ssh_host=localhost ansible_ssh_user=vagrant ansible_ssh_port=2222 ansible_ssh_private_key_file=./ansible-datadog/tests/.vagrant/machines/default/virtualbox/private_key diff --git a/deploy/datadog.datadog/tests/readme.md b/deploy/datadog.datadog/tests/readme.md deleted file mode 100644 index 79d24bd..0000000 --- a/deploy/datadog.datadog/tests/readme.md +++ /dev/null @@ -1,20 +0,0 @@ -# Test setup - -This is an example setup, based on vagrant + virtualbox, that allows to easily run ansible commands to test the module. - -# Requirements - -- vagrant > 2.0.0 -- virtualbox > 5.1.28 - -# Setup - -in `$WORK_DIR/ansible-datadog/tests`: - -- provision VM: `vagrant up` -- connect to the VM to check the configuration: `vagrant ssh` -- destroy VM when needed: `vagrant destroy -f` - -in `$WORK_DIR`: - -- run ansible-playbook: `ansible-playbook ansible-datadog/tests/test_5_full.yml -i ansible-datadog/tests/inventory` diff --git a/deploy/datadog.datadog/tests/test_5_default.yml b/deploy/datadog.datadog/tests/test_5_default.yml deleted file mode 100644 index 29b7d6f..0000000 --- a/deploy/datadog.datadog/tests/test_5_default.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- hosts: all - roles: - - { role: ansible-datadog, become: yes } - vars: - datadog_agent5: true diff --git a/deploy/datadog.datadog/tests/test_5_full.yml b/deploy/datadog.datadog/tests/test_5_full.yml deleted file mode 100644 index 7d8d6e6..0000000 --- a/deploy/datadog.datadog/tests/test_5_full.yml +++ /dev/null @@ -1,47 +0,0 @@ -- hosts: all - roles: - - { role: ansible-datadog, become: yes } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` - vars: - datadog_agent5: true - datadog_api_key: "123456" - datadog_agent_version: "1:5.18.0-1" # for apt-based platforms, use a `5.12.3-1` format on yum-based platforms - datadog_agent_allow_downgrade: true - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: ssh - search_string: ['ssh', 'sshd' ] - - name: syslog - search_string: ['rsyslog' ] - cpu_check_interval: 0.2 - exact_match: true - ignore_denied_access: true - ssh_check: - init_config: - instances: - - host: localhost - port: 22 - username: root - password: changeme - sftp_check: True - private_key_file: - add_missing_keys: True - nginx: - init_config: - instances: - - nginx_status_url: http://example.com/nginx_status/ - tags: - - instance:foo - - nginx_status_url: http://example2.com:1234/nginx_status/ - tags: - - instance:bar diff --git a/deploy/datadog.datadog/tests/test_6_default.yml b/deploy/datadog.datadog/tests/test_6_default.yml deleted file mode 100644 index 1012d56..0000000 --- a/deploy/datadog.datadog/tests/test_6_default.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- hosts: all - roles: - - { role: ansible-datadog, become: yes } diff --git a/deploy/datadog.datadog/tests/test_6_full.yml b/deploy/datadog.datadog/tests/test_6_full.yml deleted file mode 100644 index 3922f78..0000000 --- a/deploy/datadog.datadog/tests/test_6_full.yml +++ /dev/null @@ -1,65 +0,0 @@ -- hosts: all - roles: - - { role: ansible-datadog, become: yes } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` - vars: - datadog_api_key: "123456" - datadog_agent_allow_downgrade: true - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - # logs related config - logs_enabled: true - logset: main - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: ssh - search_string: ['ssh', 'sshd' ] - - name: syslog - search_string: ['rsyslog' ] - cpu_check_interval: 0.2 - exact_match: true - ignore_denied_access: true - ssh_check: - init_config: - instances: - - host: localhost - port: 22 - username: root - password: changeme - sftp_check: True - private_key_file: - add_missing_keys: True - nginx: - init_config: - instances: - - nginx_status_url: http://example.com/nginx_status/ - tags: - - instance:foo - - nginx_status_url: http://example2.com:1234/nginx_status/ - tags: - - instance:bar - logs: - - type: file - path: /var/log/nginx.log - service: nginx - source: nginx - sourcecategory: webapp - tags: env:prod - - type: tcp - port: 10514 - service: webapp - source: php - sourcecategory: front - log_processing_rules: - - type: exclude_at_match - name: exclude_datadoghq_users - # Regexp can be anything - pattern: User=\w+@datadoghq.com diff --git a/deploy/hosts b/deploy/hosts index bafd073..c4b3374 100644 --- a/deploy/hosts +++ b/deploy/hosts @@ -1,6 +1,6 @@ [runners] -molly.lolbench.rs runner=molly allowed_cpus=0-20 -sally.lolbench.rs runner=sally allowed_cpus=0-20 +molly.lolbench.rs runner=molly allowed_cpus=0-6 +wilhelm.lolbench.rs runner=wilhelm allowed_cpus=0-6 [runners:vars] data_dir=/home/adam/lolbench-data diff --git a/deploy/site.yml b/deploy/site.yml index 9d3bd60..6a23e96 100644 --- a/deploy/site.yml +++ b/deploy/site.yml @@ -31,11 +31,6 @@ ufw: rule: allow port: ssh - - name: firewall - allow mosh - ufw: - rule: allow - port: 60000:61000 - proto: udp - name: firewall - enable ufw: state: enabled @@ -70,35 +65,6 @@ regexp: "^%sudo" line: "%sudo ALL=(ALL) NOPASSWD: ALL" validate: "visudo -cf %s" - - name: adding datadog agent user to journald group - become: yes - user: - name: dd-agent - groups: systemd-journal - append: yes - -- name: datadog - hosts: all - remote_user: adam - roles: - - { role: datadog.datadog, become: yes } - vars: - datadog_api_key: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 32353463623234323439313034393737353939316235336561633364626136346430343464363631 - 6630393934303831623466623339333761383635343162620a623531623830636236653766353531 - 63303166636632623931306231626235626230643033356137653563323135663430336231343530 - 3232633435626137640a363930386364623337623833306136353162373137383138626166363462 - 38393565623337663336353363356232633033396437613061393636323630313063363965306630 - 3939396462333339313031353534656532656534323635373834 - datadog_config: - logs_enabled: true - datadog_checks: - logs: - - type: journald - path: /run/log/journal - include_units: - - lolbench.service - name: agent hosts: all diff --git a/docs/adding-new-benchmarks.md b/docs/adding-new-benchmarks.md index 44057ad..909f889 100644 --- a/docs/adding-new-benchmarks.md +++ b/docs/adding-new-benchmarks.md @@ -25,7 +25,7 @@ Add any necessary dependencies to the benchmark crate, making sure to specify ex Add individual benchmarks functions to the new crate. A convenience macro is provided that will wrap an existing cargo benchmark in a criterion bench runner: `wrap_libtest!`, and an example benchmark which uses it is included with the generated benchmark crate. See more below for information on adapting benchmarks from existing frameworks. -Add the benchmark crate to the CI config under `.circleci/config.yml`. Make sure the new build is added under both the `jobs` key and the `workflow` key -- follow existing examples. The build job should be named the same as the new crate and thus its `benches/` subdirectory. You should also add the new job as a requirement for the `rebalance` job. +Add the benchmark crate to the CI config under `.github/workflows/main.yml`. Make sure the crate is listed as a new job -- follow existing examples. The build job should be named the same as the new crate and thus its `benches/` subdirectory. You should also add the new job as a requirement for the `merge_data_dirs` job, add its output to the list of artifacts to download. ### Adapting cargo/libtest benchmarks @@ -97,7 +97,7 @@ Don't attempt to assign the benchmark to a particular runner yet. If the benchma * the benchmark crate, including the generated targets under `bin` and `test` * changes to `registry.toml` -* changes to `.circleci/config.yml` +* changes to `.github/workflows/main.yml` CI will ensure that all other benchmarks still build on your PR, you don't need to run the test target for every benchmark crate locally. In your PR message please mention which 'benchmark needed' issue should be closed by your PR. @@ -105,8 +105,8 @@ CI will ensure that all other benchmarks still build on your PR, you don't need Once a PR with benchmarks is merged, we need to assign the new benchmark functions to different runners. We'd like this process to leave the runners each with a roughly equal amount of work, or at least close enough that it doesn't create bottlenecks. -Find the latest [CircleCI workflow on master][circleci-master-workflows], and wait for the `rebalance` job to finish. That job's artifacts include a new `registry.toml` with fresh assignments which you can download, commit, and PR if the changes seem reasonable. +Find the latest [workflow on main][main-workflows], and wait for the `rebalance` job to finish. That job's artifacts include a new `registry.toml` with fresh assignments which you can download, commit, and PR if the changes seem reasonable. -[circleci-master-workflows]: https://circleci.com/gh/anp/workflows/lolbench/tree/master +[main-workflows]: https://github.com/anp/lolbench/actions?query=workflow%3A.github%2Fworkflows%2Fmain.yml [rayon-benchmark-source]: https://github.com/rayon-rs/rayon/blob/5107676d50a261d10b79d8749fd4674498edf9ec/rayon-demo/src/fibonacci/mod.rs#L47-L61 [lolbench-rayon-benchmark-source]: https://github.com/anp/lolbench/blob/d89ddde39fc63361614118f59732549ba2b9c5d4/benches/rayon_1_0_0/src/fibonacci/mod.rs#L48-L64 diff --git a/registry.toml b/registry.toml index 0a6d758..994abdc 100644 --- a/registry.toml +++ b/registry.toml @@ -1,10 +1,9 @@ workers = [ 'molly', - 'sally', 'wilhelm', ] [benchmarks."brotli_1_1_3::bench_e2e_decode_q5_1024k"] -runner = 'sally' +runner = 'molly' name = 'bench_e2e_decode_q5_1024k' crate = 'brotli_1_1_3' entrypoint_path = 'benches/brotli_1_1_3/src/bin/bench-e2e-decode-q5-1024k.rs' @@ -16,7 +15,7 @@ crate = 'brotli_1_1_3' entrypoint_path = 'benches/brotli_1_1_3/src/bin/bench-e2e-decode-q9-5-1024k.rs' [benchmarks."brotli_1_1_3::bench_e2e_rt_q5_1024k"] -runner = 'sally' +runner = 'wilhelm' name = 'bench_e2e_rt_q5_1024k' crate = 'brotli_1_1_3' entrypoint_path = 'benches/brotli_1_1_3/src/bin/bench-e2e-rt-q5-1024k.rs' @@ -34,7 +33,7 @@ crate = 'brotli_1_1_3' entrypoint_path = 'benches/brotli_1_1_3/src/bin/bench-e2e-rt-q9-5-1024k.rs' [benchmarks."byteorder_1_2_6::f32::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'f32::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f32-read-big-endian.rs' @@ -67,13 +66,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f32-write-native-endian.rs' [benchmarks."byteorder_1_2_6::f64::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'f64::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f64-read-big-endian.rs' [benchmarks."byteorder_1_2_6::f64::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'f64::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f64-read-little-endian.rs' @@ -100,7 +99,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f64-write-native-endian.rs' [benchmarks."byteorder_1_2_6::i128::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'i128::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i128-read-big-endian.rs' @@ -133,7 +132,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i128-write-native-endian.rs' [benchmarks."byteorder_1_2_6::i16::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'i16::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i16-read-big-endian.rs' @@ -166,7 +165,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i16-write-native-endian.rs' [benchmarks."byteorder_1_2_6::i32::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'i32::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i32-read-big-endian.rs' @@ -211,7 +210,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i64-read-little-endian.rs' [benchmarks."byteorder_1_2_6::i64::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'i64::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i64-read-native-endian.rs' @@ -250,13 +249,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-10-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_11::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_11::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-11-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_11::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_11::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-11-read-little-endian.rs' @@ -280,13 +279,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-12-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_12::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_12::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-12-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_13::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_13::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-13-read-big-endian.rs' @@ -310,7 +309,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-14-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_14::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_14::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-14-read-little-endian.rs' @@ -328,7 +327,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-15-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_15::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_15::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-15-read-little-endian.rs' @@ -340,7 +339,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-15-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_16::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_16::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-16-read-big-endian.rs' @@ -352,7 +351,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-16-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_16::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_16::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-16-read-native-endian.rs' @@ -370,7 +369,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-1-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_1::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_1::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-1-read-native-endian.rs' @@ -388,13 +387,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-2-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_2::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_2::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-2-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_3::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_3::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-3-read-big-endian.rs' @@ -412,13 +411,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-3-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_4::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_4::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-4-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_4::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_4::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-4-read-little-endian.rs' @@ -460,7 +459,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-6-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_6::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_6::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-6-read-native-endian.rs' @@ -472,13 +471,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-7-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_7::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_7::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-7-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_7::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_7::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-7-read-native-endian.rs' @@ -502,7 +501,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-8-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_9::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_9::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-9-read-big-endian.rs' @@ -514,7 +513,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-9-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_9::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_9::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-9-read-native-endian.rs' @@ -532,7 +531,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-1-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_1::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_1::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-1-read-native-endian.rs' @@ -550,7 +549,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-2-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_2::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_2::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-2-read-native-endian.rs' @@ -562,13 +561,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-3-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int_3::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_3::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-3-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_3::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_3::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-3-read-native-endian.rs' @@ -592,7 +591,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-4-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int_5::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_5::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-5-read-big-endian.rs' @@ -604,7 +603,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-5-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_5::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_5::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-5-read-native-endian.rs' @@ -616,7 +615,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-6-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int_6::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'int_6::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-6-read-little-endian.rs' @@ -646,7 +645,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-7-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int_8::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_8::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-8-read-big-endian.rs' @@ -658,7 +657,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-8-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_8::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int_8::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-8-read-native-endian.rs' @@ -694,7 +693,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u128-read-big-endian.rs' [benchmarks."byteorder_1_2_6::u128::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'u128::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u128-read-little-endian.rs' @@ -733,7 +732,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u16-read-little-endian.rs' [benchmarks."byteorder_1_2_6::u16::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'u16::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u16-read-native-endian.rs' @@ -760,7 +759,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u32-read-big-endian.rs' [benchmarks."byteorder_1_2_6::u32::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'u32::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u32-read-little-endian.rs' @@ -799,7 +798,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u64-read-little-endian.rs' [benchmarks."byteorder_1_2_6::u64::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'u64::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u64-read-native-endian.rs' @@ -856,7 +855,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-11-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_12::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_12::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-12-read-big-endian.rs' @@ -868,19 +867,19 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-12-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint128_12::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_12::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-12-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_13::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_13::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-13-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_13::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_13::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-13-read-little-endian.rs' @@ -922,19 +921,19 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-15-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint128_15::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_15::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-15-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_16::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_16::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-16-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_16::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_16::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-16-read-little-endian.rs' @@ -982,13 +981,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-2-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_3::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_3::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-3-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_3::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_3::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-3-read-little-endian.rs' @@ -1012,7 +1011,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-4-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint128_4::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_4::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-4-read-native-endian.rs' @@ -1024,7 +1023,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-5-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_5::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_5::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-5-read-little-endian.rs' @@ -1078,7 +1077,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-8-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_8::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_8::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-8-read-little-endian.rs' @@ -1090,7 +1089,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-8-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_9::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_9::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-9-read-big-endian.rs' @@ -1120,7 +1119,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-1-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint_1::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint_1::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-1-read-native-endian.rs' @@ -1168,7 +1167,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-4-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint_4::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint_4::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-4-read-little-endian.rs' @@ -1198,13 +1197,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-5-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint_6::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint_6::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-6-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint_6::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint_6::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-6-read-little-endian.rs' @@ -1216,7 +1215,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-6-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint_7::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'uint_7::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-7-read-big-endian.rs' @@ -1228,7 +1227,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-7-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint_7::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint_7::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-7-read-native-endian.rs' @@ -1262,252 +1261,301 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/write-native-endian.rs' [benchmarks."clap_2_31_2::_01_default::build_app"] +runner = 'molly' name = '_01_default::build_app' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/01-default-build-app.rs' [benchmarks."clap_2_31_2::_01_default::parse_clean"] +runner = 'molly' name = '_01_default::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/01-default-parse-clean.rs' [benchmarks."clap_2_31_2::_02_simple::add_flag"] +runner = 'molly' name = '_02_simple::add_flag' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-flag.rs' [benchmarks."clap_2_31_2::_02_simple::add_flag_ref"] +runner = 'molly' name = '_02_simple::add_flag_ref' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-flag-ref.rs' [benchmarks."clap_2_31_2::_02_simple::add_opt"] +runner = 'molly' name = '_02_simple::add_opt' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-opt.rs' [benchmarks."clap_2_31_2::_02_simple::add_opt_ref"] +runner = 'molly' name = '_02_simple::add_opt_ref' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-opt-ref.rs' [benchmarks."clap_2_31_2::_02_simple::add_pos"] +runner = 'wilhelm' name = '_02_simple::add_pos' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-pos.rs' [benchmarks."clap_2_31_2::_02_simple::add_pos_ref"] +runner = 'molly' name = '_02_simple::add_pos_ref' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-pos-ref.rs' [benchmarks."clap_2_31_2::_02_simple::build_app"] +runner = 'molly' name = '_02_simple::build_app' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-build-app.rs' [benchmarks."clap_2_31_2::_02_simple::parse_clean"] +runner = 'molly' name = '_02_simple::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-clean.rs' [benchmarks."clap_2_31_2::_02_simple::parse_complex"] +runner = 'wilhelm' name = '_02_simple::parse_complex' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-complex.rs' [benchmarks."clap_2_31_2::_02_simple::parse_flag"] +runner = 'wilhelm' name = '_02_simple::parse_flag' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-flag.rs' [benchmarks."clap_2_31_2::_02_simple::parse_option"] +runner = 'wilhelm' name = '_02_simple::parse_option' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-option.rs' [benchmarks."clap_2_31_2::_02_simple::parse_positional"] +runner = 'molly' name = '_02_simple::parse_positional' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-positional.rs' [benchmarks."clap_2_31_2::_03_complex::create_app_builder"] +runner = 'molly' name = '_03_complex::create_app_builder' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-create-app-builder.rs' [benchmarks."clap_2_31_2::_03_complex::create_app_from_usage"] +runner = 'molly' name = '_03_complex::create_app_from_usage' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-create-app-from-usage.rs' [benchmarks."clap_2_31_2::_03_complex::create_app_macros"] +runner = 'wilhelm' name = '_03_complex::create_app_macros' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-create-app-macros.rs' [benchmarks."clap_2_31_2::_03_complex::parse_clean"] +runner = 'wilhelm' name = '_03_complex::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-clean.rs' [benchmarks."clap_2_31_2::_03_complex::parse_complex1"] +runner = 'molly' name = '_03_complex::parse_complex1' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-complex1.rs' [benchmarks."clap_2_31_2::_03_complex::parse_complex2"] +runner = 'wilhelm' name = '_03_complex::parse_complex2' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-complex2.rs' [benchmarks."clap_2_31_2::_03_complex::parse_complex2_with_args_negate_scs"] +runner = 'molly' name = '_03_complex::parse_complex2_with_args_negate_scs' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-complex2-with-args-negate-scs.rs' [benchmarks."clap_2_31_2::_03_complex::parse_flag"] +runner = 'molly' name = '_03_complex::parse_flag' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-flag.rs' [benchmarks."clap_2_31_2::_03_complex::parse_option"] +runner = 'wilhelm' name = '_03_complex::parse_option' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-option.rs' [benchmarks."clap_2_31_2::_03_complex::parse_positional"] +runner = 'wilhelm' name = '_03_complex::parse_positional' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-positional.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_clean"] +runner = 'wilhelm' name = '_03_complex::parse_sc_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-clean.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_complex"] +runner = 'molly' name = '_03_complex::parse_sc_complex' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-complex.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_flag"] +runner = 'wilhelm' name = '_03_complex::parse_sc_flag' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-flag.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_option"] +runner = 'wilhelm' name = '_03_complex::parse_sc_option' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-option.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_positional"] +runner = 'molly' name = '_03_complex::parse_sc_positional' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-positional.rs' [benchmarks."clap_2_31_2::_04_new_help::example1"] +runner = 'molly' name = '_04_new_help::example1' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example1.rs' [benchmarks."clap_2_31_2::_04_new_help::example10"] +runner = 'molly' name = '_04_new_help::example10' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example10.rs' [benchmarks."clap_2_31_2::_04_new_help::example2"] +runner = 'molly' name = '_04_new_help::example2' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example2.rs' [benchmarks."clap_2_31_2::_04_new_help::example3"] +runner = 'molly' name = '_04_new_help::example3' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example3.rs' [benchmarks."clap_2_31_2::_04_new_help::example4"] +runner = 'wilhelm' name = '_04_new_help::example4' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example4.rs' [benchmarks."clap_2_31_2::_04_new_help::example4_template"] +runner = 'molly' name = '_04_new_help::example4_template' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example4-template.rs' [benchmarks."clap_2_31_2::_04_new_help::example5"] +runner = 'molly' name = '_04_new_help::example5' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example5.rs' [benchmarks."clap_2_31_2::_04_new_help::example6"] +runner = 'molly' name = '_04_new_help::example6' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example6.rs' [benchmarks."clap_2_31_2::_04_new_help::example7"] +runner = 'molly' name = '_04_new_help::example7' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example7.rs' [benchmarks."clap_2_31_2::_04_new_help::example8"] +runner = 'wilhelm' name = '_04_new_help::example8' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example8.rs' [benchmarks."clap_2_31_2::_05_ripgrep::build_app_long"] +runner = 'wilhelm' name = '_05_ripgrep::build_app_long' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-build-app-long.rs' [benchmarks."clap_2_31_2::_05_ripgrep::build_app_short"] +runner = 'wilhelm' name = '_05_ripgrep::build_app_short' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-build-app-short.rs' [benchmarks."clap_2_31_2::_05_ripgrep::build_help_long"] +runner = 'wilhelm' name = '_05_ripgrep::build_help_long' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-build-help-long.rs' [benchmarks."clap_2_31_2::_05_ripgrep::build_help_short"] +runner = 'molly' name = '_05_ripgrep::build_help_short' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-build-help-short.rs' [benchmarks."clap_2_31_2::_05_ripgrep::parse_clean"] +runner = 'molly' name = '_05_ripgrep::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-parse-clean.rs' [benchmarks."clap_2_31_2::_05_ripgrep::parse_complex"] +runner = 'molly' name = '_05_ripgrep::parse_complex' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-parse-complex.rs' [benchmarks."clap_2_31_2::_05_ripgrep::parse_lots"] +runner = 'molly' name = '_05_ripgrep::parse_lots' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-parse-lots.rs' [benchmarks."clap_2_31_2::_06_rustup::build_app"] +runner = 'molly' name = '_06_rustup::build_app' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/06-rustup-build-app.rs' [benchmarks."clap_2_31_2::_06_rustup::parse_clean"] +runner = 'molly' name = '_06_rustup::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/06-rustup-parse-clean.rs' [benchmarks."clap_2_31_2::_06_rustup::parse_subcommands"] +runner = 'wilhelm' name = '_06_rustup::parse_subcommands' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/06-rustup-parse-subcommands.rs' [benchmarks."crossbeam_epoch_0_4_0::defer::multi_alloc_defer_free"] -runner = 'sally' +runner = 'wilhelm' name = 'defer::multi_alloc_defer_free' crate = 'crossbeam_epoch_0_4_0' entrypoint_path = 'benches/crossbeam_epoch_0_4_0/src/bin/defer-multi-alloc-defer-free.rs' @@ -1573,7 +1621,7 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-game-deserialize-borrowed-str.rs' [benchmarks."csv_1_0_2::count_game_deserialize_owned_bytes"] -runner = 'sally' +runner = 'wilhelm' name = 'count_game_deserialize_owned_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-game-deserialize-owned-bytes.rs' @@ -1663,13 +1711,13 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-mbta-read-bytes.rs' [benchmarks."csv_1_0_2::count_mbta_read_str"] -runner = 'sally' +runner = 'wilhelm' name = 'count_mbta_read_str' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-mbta-read-str.rs' [benchmarks."csv_1_0_2::count_mbta_serialize_owned_bytes"] -runner = 'sally' +runner = 'molly' name = 'count_mbta_serialize_owned_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-mbta-serialize-owned-bytes.rs' @@ -1693,7 +1741,7 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-deserialize-borrowed-str.rs' [benchmarks."csv_1_0_2::count_nfl_deserialize_owned_bytes"] -runner = 'sally' +runner = 'wilhelm' name = 'count_nfl_deserialize_owned_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-deserialize-owned-bytes.rs' @@ -1705,7 +1753,7 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-deserialize-owned-str.rs' [benchmarks."csv_1_0_2::count_nfl_iter_bytes"] -runner = 'sally' +runner = 'wilhelm' name = 'count_nfl_iter_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-iter-bytes.rs' @@ -1723,19 +1771,19 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-iter-str.rs' [benchmarks."csv_1_0_2::count_nfl_iter_str_trimmed"] -runner = 'sally' +runner = 'molly' name = 'count_nfl_iter_str_trimmed' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-iter-str-trimmed.rs' [benchmarks."csv_1_0_2::count_nfl_read_bytes"] -runner = 'sally' +runner = 'molly' name = 'count_nfl_read_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-read-bytes.rs' [benchmarks."csv_1_0_2::count_nfl_read_str"] -runner = 'sally' +runner = 'wilhelm' name = 'count_nfl_read_str' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-read-str.rs' @@ -1747,13 +1795,13 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-serialize-owned-bytes.rs' [benchmarks."csv_1_0_2::count_nfl_serialize_owned_str"] -runner = 'sally' +runner = 'molly' name = 'count_nfl_serialize_owned_str' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-serialize-owned-str.rs' [benchmarks."csv_1_0_2::count_pop_deserialize_borrowed_bytes"] -runner = 'sally' +runner = 'molly' name = 'count_pop_deserialize_borrowed_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-pop-deserialize-borrowed-bytes.rs' @@ -1825,13 +1873,13 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/write-nfl-record.rs' [benchmarks."diesel_1_1_1::bench_medium_complex_query_selecting_10_000_rows"] -runner = 'sally' +runner = 'molly' name = 'bench_medium_complex_query_selecting_10_000_rows' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-10-000-rows.rs' [benchmarks."diesel_1_1_1::bench_medium_complex_query_selecting_10_000_rows_boxed"] -runner = 'sally' +runner = 'molly' name = 'bench_medium_complex_query_selecting_10_000_rows_boxed' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-10-000-rows-boxed.rs' @@ -1855,7 +1903,7 @@ crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-100-rows.rs' [benchmarks."diesel_1_1_1::bench_medium_complex_query_selecting____100_rows_boxed"] -runner = 'sally' +runner = 'molly' name = 'bench_medium_complex_query_selecting____100_rows_boxed' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-100-rows-boxed.rs' @@ -1873,7 +1921,7 @@ crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-10-rows-boxed.rs' [benchmarks."diesel_1_1_1::bench_medium_complex_query_selecting______1_row"] -runner = 'sally' +runner = 'wilhelm' name = 'bench_medium_complex_query_selecting______1_row' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-1-row.rs' @@ -1909,7 +1957,7 @@ crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-trivial-query-selecting-1-000-rows-boxed.rs' [benchmarks."diesel_1_1_1::bench_trivial_query_selecting____100_rows"] -runner = 'sally' +runner = 'wilhelm' name = 'bench_trivial_query_selecting____100_rows' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-trivial-query-selecting-100-rows.rs' @@ -1921,7 +1969,7 @@ crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-trivial-query-selecting-100-rows-boxed.rs' [benchmarks."diesel_1_1_1::bench_trivial_query_selecting_____10_rows"] -runner = 'sally' +runner = 'wilhelm' name = 'bench_trivial_query_selecting_____10_rows' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-trivial-query-selecting-10-rows.rs' @@ -1969,7 +2017,7 @@ crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-canada-dom.rs' [benchmarks."json_benchmark_c7d3d9b::serde_canada_struct"] -runner = 'sally' +runner = 'molly' name = 'serde_canada_struct' crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-canada-struct.rs' @@ -1981,7 +2029,7 @@ crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-citm-dom.rs' [benchmarks."json_benchmark_c7d3d9b::serde_citm_struct"] -runner = 'sally' +runner = 'wilhelm' name = 'serde_citm_struct' crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-citm-struct.rs' @@ -1999,7 +2047,7 @@ crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-twitter-struct.rs' [benchmarks."json_benchmark_c7d3d9b::serialize_canada_dom"] -runner = 'sally' +runner = 'wilhelm' name = 'serialize_canada_dom' crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serialize-canada-dom.rs' @@ -2011,7 +2059,7 @@ crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serialize-canada-struct.rs' [benchmarks."json_benchmark_c7d3d9b::serialize_citm_dom"] -runner = 'sally' +runner = 'wilhelm' name = 'serialize_citm_dom' crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serialize-citm-dom.rs' @@ -2047,7 +2095,7 @@ crate = 'nom_4_0_0' entrypoint_path = 'benches/nom_4_0_0/src/bin/http-one-test.rs' [benchmarks."nom_4_0_0::ini::bench_ini_key_value"] -runner = 'sally' +runner = 'molly' name = 'ini::bench_ini_key_value' crate = 'nom_4_0_0' entrypoint_path = 'benches/nom_4_0_0/src/bin/ini-bench-ini-key-value.rs' @@ -2059,13 +2107,13 @@ crate = 'nom_4_0_0' entrypoint_path = 'benches/nom_4_0_0/src/bin/ini-bench-ini-keys-and-values.rs' [benchmarks."nom_4_0_0::ini_str::bench_ini_str"] -runner = 'sally' +runner = 'wilhelm' name = 'ini_str::bench_ini_str' crate = 'nom_4_0_0' entrypoint_path = 'benches/nom_4_0_0/src/bin/ini-str-bench-ini-str.rs' [benchmarks."quickcheck_0_6_1::shrink_f64_1_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_f64_1_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-1-tuple.rs' @@ -2077,13 +2125,13 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-2-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_f64_3_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_f64_3_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-3-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_f64_4_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_f64_4_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-4-tuple.rs' @@ -2107,19 +2155,19 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-7-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_f64_8_tuple"] -runner = 'sally' +runner = 'wilhelm' name = 'shrink_f64_8_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-8-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_i64_1_tuple"] -runner = 'sally' +runner = 'wilhelm' name = 'shrink_i64_1_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-1-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_i64_2_tuple"] -runner = 'sally' +runner = 'wilhelm' name = 'shrink_i64_2_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-2-tuple.rs' @@ -2143,13 +2191,13 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-5-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_i64_6_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_i64_6_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-6-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_i64_7_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_i64_7_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-7-tuple.rs' @@ -2161,7 +2209,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-8-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_string_1_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_string_1_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-string-1-tuple.rs' @@ -2173,7 +2221,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-string-2-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_string_3_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_string_3_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-string-3-tuple.rs' @@ -2245,7 +2293,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-u64-6-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_u64_7_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_u64_7_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-u64-7-tuple.rs' @@ -2257,13 +2305,13 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-u64-8-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_unit_1_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_unit_1_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-1-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_unit_2_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_unit_2_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-2-tuple.rs' @@ -2281,7 +2329,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-4-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_unit_5_tuple"] -runner = 'sally' +runner = 'wilhelm' name = 'shrink_unit_5_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-5-tuple.rs' @@ -2299,7 +2347,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-7-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_unit_8_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_unit_8_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-8-tuple.rs' @@ -2317,7 +2365,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-vec-u8-2-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_vec_u8_3_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_vec_u8_3_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-vec-u8-3-tuple.rs' @@ -2365,7 +2413,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/factorial-factorial-join.rs' [benchmarks."rayon_1_0_0::factorial::factorial_par_iter"] -runner = 'sally' +runner = 'wilhelm' name = 'factorial::factorial_par_iter' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/factorial-factorial-par-iter.rs' @@ -2407,7 +2455,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/fibonacci-fibonacci-split-iterative.rs' [benchmarks."rayon_1_0_0::fibonacci::fibonacci_split_recursive"] -runner = 'sally' +runner = 'molly' name = 'fibonacci::fibonacci_split_recursive' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/fibonacci-fibonacci-split-recursive.rs' @@ -2419,7 +2467,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/find-parallel-find-common.rs' [benchmarks."rayon_1_0_0::find::parallel_find_first"] -runner = 'sally' +runner = 'molly' name = 'find::parallel_find_first' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/find-parallel-find-first.rs' @@ -2467,7 +2515,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/find-serial-find-middle.rs' [benchmarks."rayon_1_0_0::find::serial_find_missing"] -runner = 'sally' +runner = 'wilhelm' name = 'find::serial_find_missing' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/find-serial-find-missing.rs' @@ -2479,7 +2527,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all.rs' [benchmarks."rayon_1_0_0::join_microbench::increment_all_atomized"] -runner = 'sally' +runner = 'molly' name = 'join_microbench::increment_all_atomized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all-atomized.rs' @@ -2491,7 +2539,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all-max.rs' [benchmarks."rayon_1_0_0::join_microbench::increment_all_min"] -runner = 'sally' +runner = 'wilhelm' name = 'join_microbench::increment_all_min' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all-min.rs' @@ -2503,7 +2551,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all-serialized.rs' [benchmarks."rayon_1_0_0::join_microbench::join_recursively"] -runner = 'sally' +runner = 'wilhelm' name = 'join_microbench::join_recursively' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-join-recursively.rs' @@ -2515,7 +2563,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/life-bench-generations.rs' [benchmarks."rayon_1_0_0::life::bench::parallel_generations"] -runner = 'sally' +runner = 'molly' name = 'life::bench::parallel_generations' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/life-bench-parallel-generations.rs' @@ -2539,7 +2587,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-mod-10-to-i-with-fold-vec.rs' [benchmarks."rayon_1_0_0::map_collect::i_mod_10_to_i::with_linked_list_collect"] -runner = 'sally' +runner = 'wilhelm' name = 'map_collect::i_mod_10_to_i::with_linked_list_collect' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-mod-10-to-i-with-linked-list-collect.rs' @@ -2587,7 +2635,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-collect.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_fold"] -runner = 'sally' +runner = 'molly' name = 'map_collect::i_to_i::with_fold' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-fold.rs' @@ -2599,7 +2647,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-fold-vec.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_linked_list_collect"] -runner = 'sally' +runner = 'wilhelm' name = 'map_collect::i_to_i::with_linked_list_collect' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-linked-list-collect.rs' @@ -2611,7 +2659,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-linked-list-collect-vec.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_linked_list_collect_vec_sized"] -runner = 'sally' +runner = 'molly' name = 'map_collect::i_to_i::with_linked_list_collect_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-linked-list-collect-vec-sized.rs' @@ -2623,7 +2671,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-linked-list-map-reduce-vec-sized.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_mutex"] -runner = 'sally' +runner = 'molly' name = 'map_collect::i_to_i::with_mutex' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-mutex.rs' @@ -2635,7 +2683,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-mutex-vec.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_vec_vec_sized"] -runner = 'sally' +runner = 'molly' name = 'map_collect::i_to_i::with_vec_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-vec-vec-sized.rs' @@ -2647,7 +2695,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/matmul-bench-bench-matmul-strassen.rs' [benchmarks."rayon_1_0_0::mergesort::bench::merge_sort_par_bench"] -runner = 'sally' +runner = 'molly' name = 'mergesort::bench::merge_sort_par_bench' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/mergesort-bench-merge-sort-par-bench.rs' @@ -2683,13 +2731,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-faux-serial.rs' [benchmarks."rayon_1_0_0::pythagoras::euclid_parallel_full"] -runner = 'sally' +runner = 'molly' name = 'pythagoras::euclid_parallel_full' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-parallel-full.rs' [benchmarks."rayon_1_0_0::pythagoras::euclid_parallel_one"] -runner = 'sally' +runner = 'wilhelm' name = 'pythagoras::euclid_parallel_one' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-parallel-one.rs' @@ -2707,7 +2755,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-parallel-weightless.rs' [benchmarks."rayon_1_0_0::pythagoras::euclid_serial"] -runner = 'sally' +runner = 'wilhelm' name = 'pythagoras::euclid_serial' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-serial.rs' @@ -2761,13 +2809,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-big.rs' [benchmarks."rayon_1_0_0::sort::demo_merge_sort_descending"] -runner = 'sally' +runner = 'molly' name = 'sort::demo_merge_sort_descending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-descending.rs' [benchmarks."rayon_1_0_0::sort::demo_merge_sort_mostly_ascending"] -runner = 'sally' +runner = 'molly' name = 'sort::demo_merge_sort_mostly_ascending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-mostly-ascending.rs' @@ -2785,7 +2833,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-random.rs' [benchmarks."rayon_1_0_0::sort::demo_merge_sort_strings"] -runner = 'sally' +runner = 'molly' name = 'sort::demo_merge_sort_strings' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-strings.rs' @@ -2809,7 +2857,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-quick-sort-mostly-descending.rs' [benchmarks."rayon_1_0_0::sort::demo_quick_sort_random"] -runner = 'sally' +runner = 'wilhelm' name = 'sort::demo_quick_sort_random' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-quick-sort-random.rs' @@ -2827,13 +2875,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-ascending.rs' [benchmarks."rayon_1_0_0::sort::par_sort_big"] -runner = 'sally' +runner = 'molly' name = 'sort::par_sort_big' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-big.rs' [benchmarks."rayon_1_0_0::sort::par_sort_descending"] -runner = 'sally' +runner = 'molly' name = 'sort::par_sort_descending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-descending.rs' @@ -2893,19 +2941,19 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-unstable-expensive.rs' [benchmarks."rayon_1_0_0::sort::par_sort_unstable_mostly_ascending"] -runner = 'sally' +runner = 'wilhelm' name = 'sort::par_sort_unstable_mostly_ascending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-unstable-mostly-ascending.rs' [benchmarks."rayon_1_0_0::sort::par_sort_unstable_mostly_descending"] -runner = 'sally' +runner = 'wilhelm' name = 'sort::par_sort_unstable_mostly_descending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-unstable-mostly-descending.rs' [benchmarks."rayon_1_0_0::sort::par_sort_unstable_random"] -runner = 'sally' +runner = 'wilhelm' name = 'sort::par_sort_unstable_random' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-unstable-random.rs' @@ -2941,13 +2989,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/str-split-serial-space-fn.rs' [benchmarks."rayon_1_0_0::str_split::serial_space_str"] -runner = 'sally' +runner = 'molly' name = 'str_split::serial_space_str' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/str-split-serial-space-str.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i::with_collect"] -runner = 'sally' +runner = 'wilhelm' name = 'vec_collect::vec_i::with_collect' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-collect.rs' @@ -2971,7 +3019,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-fold.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i::with_linked_list_collect_vec"] -runner = 'sally' +runner = 'wilhelm' name = 'vec_collect::vec_i::with_linked_list_collect_vec' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-linked-list-collect-vec.rs' @@ -2983,7 +3031,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-linked-list-collect-vec-sized.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i::with_linked_list_map_reduce_vec_sized"] -runner = 'sally' +runner = 'wilhelm' name = 'vec_collect::vec_i::with_linked_list_map_reduce_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-linked-list-map-reduce-vec-sized.rs' @@ -2995,13 +3043,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-vec-vec-sized.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i_filtered::with_collect"] -runner = 'sally' +runner = 'molly' name = 'vec_collect::vec_i_filtered::with_collect' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-collect.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i_filtered::with_fold"] -runner = 'sally' +runner = 'wilhelm' name = 'vec_collect::vec_i_filtered::with_fold' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-fold.rs' @@ -3013,7 +3061,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-linked-list-collect-vec.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i_filtered::with_linked_list_collect_vec_sized"] -runner = 'sally' +runner = 'molly' name = 'vec_collect::vec_i_filtered::with_linked_list_collect_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-linked-list-collect-vec-sized.rs' @@ -3025,13 +3073,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-linked-list-map-reduce-vec-sized.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i_filtered::with_vec_vec_sized"] -runner = 'sally' +runner = 'molly' name = 'vec_collect::vec_i_filtered::with_vec_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-vec-vec-sized.rs' [benchmarks."raytrace_8de9020::raytrace_random_scenes"] -runner = 'sally' +runner = 'wilhelm' name = 'raytrace_random_scenes' crate = 'raytrace_8de9020' entrypoint_path = 'benches/raytrace_8de9020/src/bin/raytrace-random-scenes.rs' @@ -3055,7 +3103,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-anchored-literal-short-match.rs' [benchmarks."regex_0_2_6::misc::anchored_literal_short_non_match"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::anchored_literal_short_non_match' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-anchored-literal-short-non-match.rs' @@ -3073,7 +3121,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-easy0-1mb.rs' [benchmarks."regex_0_2_6::misc::easy0_32"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::easy0_32' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-easy0-32.rs' @@ -3091,7 +3139,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-easy1-1k.rs' [benchmarks."regex_0_2_6::misc::easy1_1MB"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::easy1_1MB' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-easy1-1mb.rs' @@ -3121,13 +3169,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-hard-1mb.rs' [benchmarks."regex_0_2_6::misc::hard_32"] -runner = 'sally' +runner = 'molly' name = 'misc::hard_32' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-hard-32.rs' [benchmarks."regex_0_2_6::misc::hard_32K"] -runner = 'sally' +runner = 'molly' name = 'misc::hard_32K' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-hard-32k.rs' @@ -3139,13 +3187,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-literal.rs' [benchmarks."regex_0_2_6::misc::long_needle1"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::long_needle1' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-long-needle1.rs' [benchmarks."regex_0_2_6::misc::long_needle2"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::long_needle2' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-long-needle2.rs' @@ -3157,7 +3205,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-match-class.rs' [benchmarks."regex_0_2_6::misc::match_class_in_range"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::match_class_in_range' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-match-class-in-range.rs' @@ -3181,13 +3229,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-medium-32.rs' [benchmarks."regex_0_2_6::misc::medium_32K"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::medium_32K' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-medium-32k.rs' [benchmarks."regex_0_2_6::misc::not_literal"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::not_literal' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-not-literal.rs' @@ -3205,13 +3253,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-one-pass-long-prefix-not.rs' [benchmarks."regex_0_2_6::misc::one_pass_short"] -runner = 'sally' +runner = 'molly' name = 'misc::one_pass_short' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-one-pass-short.rs' [benchmarks."regex_0_2_6::misc::one_pass_short_not"] -runner = 'sally' +runner = 'molly' name = 'misc::one_pass_short_not' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-one-pass-short-not.rs' @@ -3259,13 +3307,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-reverse-suffix-no-quadratic.rs' [benchmarks."regex_0_2_6::misc::short_haystack_1000000x"] -runner = 'sally' +runner = 'molly' name = 'misc::short_haystack_1000000x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-1000000x.rs' [benchmarks."regex_0_2_6::misc::short_haystack_100000x"] -runner = 'sally' +runner = 'molly' name = 'misc::short_haystack_100000x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-100000x.rs' @@ -3277,7 +3325,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-10000x.rs' [benchmarks."regex_0_2_6::misc::short_haystack_1000x"] -runner = 'sally' +runner = 'molly' name = 'misc::short_haystack_1000x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-1000x.rs' @@ -3289,7 +3337,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-100x.rs' [benchmarks."regex_0_2_6::misc::short_haystack_10x"] -runner = 'sally' +runner = 'molly' name = 'misc::short_haystack_10x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-10x.rs' @@ -3307,7 +3355,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-2x.rs' [benchmarks."regex_0_2_6::misc::short_haystack_3x"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::short_haystack_3x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-3x.rs' @@ -3325,7 +3373,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-find-new-lines.rs' [benchmarks."regex_0_2_6::regexdna::subst1"] -runner = 'sally' +runner = 'molly' name = 'regexdna::subst1' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst1.rs' @@ -3343,7 +3391,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst11.rs' [benchmarks."regex_0_2_6::regexdna::subst2"] -runner = 'sally' +runner = 'molly' name = 'regexdna::subst2' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst2.rs' @@ -3361,7 +3409,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst4.rs' [benchmarks."regex_0_2_6::regexdna::subst5"] -runner = 'sally' +runner = 'molly' name = 'regexdna::subst5' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst5.rs' @@ -3379,7 +3427,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst7.rs' [benchmarks."regex_0_2_6::regexdna::subst8"] -runner = 'sally' +runner = 'wilhelm' name = 'regexdna::subst8' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst8.rs' @@ -3403,13 +3451,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant2.rs' [benchmarks."regex_0_2_6::regexdna::variant3"] -runner = 'sally' +runner = 'molly' name = 'regexdna::variant3' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant3.rs' [benchmarks."regex_0_2_6::regexdna::variant4"] -runner = 'sally' +runner = 'wilhelm' name = 'regexdna::variant4' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant4.rs' @@ -3433,13 +3481,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant7.rs' [benchmarks."regex_0_2_6::regexdna::variant8"] -runner = 'sally' +runner = 'molly' name = 'regexdna::variant8' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant8.rs' [benchmarks."regex_0_2_6::regexdna::variant9"] -runner = 'sally' +runner = 'molly' name = 'regexdna::variant9' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant9.rs' @@ -3457,7 +3505,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/rust-parse-parse-simple.rs' [benchmarks."regex_0_2_6::rust_parse::parse_simple2"] -runner = 'sally' +runner = 'wilhelm' name = 'rust_parse::parse_simple2' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/rust-parse-parse-simple2.rs' @@ -3469,7 +3517,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/rust-parse-parse-small.rs' [benchmarks."regex_0_2_6::sherlock::before_after_holmes"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::before_after_holmes' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-before-after-holmes.rs' @@ -3487,7 +3535,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-everything-greedy.rs' [benchmarks."regex_0_2_6::sherlock::everything_greedy_nl"] -runner = 'sally' +runner = 'molly' name = 'sherlock::everything_greedy_nl' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-everything-greedy-nl.rs' @@ -3499,13 +3547,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-holmes-cochar-watson.rs' [benchmarks."regex_0_2_6::sherlock::holmes_coword_watson"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::holmes_coword_watson' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-holmes-coword-watson.rs' [benchmarks."regex_0_2_6::sherlock::ing_suffix"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::ing_suffix' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-ing-suffix.rs' @@ -3529,7 +3577,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-letters-lower.rs' [benchmarks."regex_0_2_6::sherlock::letters_upper"] -runner = 'sally' +runner = 'molly' name = 'sherlock::letters_upper' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-letters-upper.rs' @@ -3553,13 +3601,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-alt2.rs' [benchmarks."regex_0_2_6::sherlock::name_alt3"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::name_alt3' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-alt3.rs' [benchmarks."regex_0_2_6::sherlock::name_alt3_nocase"] -runner = 'sally' +runner = 'molly' name = 'sherlock::name_alt3_nocase' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-alt3-nocase.rs' @@ -3595,7 +3643,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-holmes.rs' [benchmarks."regex_0_2_6::sherlock::name_holmes_nocase"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::name_holmes_nocase' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-holmes-nocase.rs' @@ -3607,7 +3655,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-sherlock.rs' [benchmarks."regex_0_2_6::sherlock::name_sherlock_holmes"] -runner = 'sally' +runner = 'molly' name = 'sherlock::name_sherlock_holmes' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-sherlock-holmes.rs' @@ -3625,7 +3673,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-sherlock-nocase.rs' [benchmarks."regex_0_2_6::sherlock::name_whitespace"] -runner = 'sally' +runner = 'molly' name = 'sherlock::name_whitespace' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-whitespace.rs' @@ -3649,13 +3697,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-no-match-uncommon.rs' [benchmarks."regex_0_2_6::sherlock::quotes"] -runner = 'sally' +runner = 'molly' name = 'sherlock::quotes' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-quotes.rs' [benchmarks."regex_0_2_6::sherlock::repeated_class_negation"] -runner = 'sally' +runner = 'molly' name = 'sherlock::repeated_class_negation' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-repeated-class-negation.rs' @@ -3667,7 +3715,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-the-lower.rs' [benchmarks."regex_0_2_6::sherlock::the_nocase"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::the_nocase' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-the-nocase.rs' @@ -3679,13 +3727,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-the-upper.rs' [benchmarks."regex_0_2_6::sherlock::the_whitespace"] -runner = 'sally' +runner = 'molly' name = 'sherlock::the_whitespace' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-the-whitespace.rs' [benchmarks."regex_0_2_6::sherlock::word_ending_n"] -runner = 'sally' +runner = 'molly' name = 'sherlock::word_ending_n' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-word-ending-n.rs' @@ -3757,13 +3805,13 @@ crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-256-bench2-100.rs' [benchmarks."sha3_0_8_0::sha3_256::bench3_1000"] -runner = 'sally' +runner = 'molly' name = 'sha3_256::bench3_1000' crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-256-bench3-1000.rs' [benchmarks."sha3_0_8_0::sha3_256::bench4_10000"] -runner = 'sally' +runner = 'wilhelm' name = 'sha3_256::bench4_10000' crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-256-bench4-10000.rs' @@ -3781,7 +3829,7 @@ crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-512-bench2-100.rs' [benchmarks."sha3_0_8_0::sha3_512::bench3_1000"] -runner = 'sally' +runner = 'molly' name = 'sha3_512::bench3_1000' crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-512-bench3-1000.rs' @@ -3817,7 +3865,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat03-jpg-200.rs' [benchmarks."snap_0_2_4::uflat04_pdf"] -runner = 'sally' +runner = 'wilhelm' name = 'uflat04_pdf' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat04-pdf.rs' @@ -3835,13 +3883,13 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat06-txt1.rs' [benchmarks."snap_0_2_4::uflat07_txt2"] -runner = 'sally' +runner = 'wilhelm' name = 'uflat07_txt2' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat07-txt2.rs' [benchmarks."snap_0_2_4::uflat08_txt3"] -runner = 'sally' +runner = 'molly' name = 'uflat08_txt3' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat08-txt3.rs' @@ -3853,7 +3901,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat09-txt4.rs' [benchmarks."snap_0_2_4::uflat10_pb"] -runner = 'sally' +runner = 'molly' name = 'uflat10_pb' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat10-pb.rs' @@ -3865,7 +3913,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat11-gaviota.rs' [benchmarks."snap_0_2_4::zflat00_html"] -runner = 'sally' +runner = 'wilhelm' name = 'zflat00_html' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat00-html.rs' @@ -3883,7 +3931,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat02-jpg.rs' [benchmarks."snap_0_2_4::zflat03_jpg_200"] -runner = 'sally' +runner = 'molly' name = 'zflat03_jpg_200' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat03-jpg-200.rs' @@ -3907,7 +3955,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat06-txt1.rs' [benchmarks."snap_0_2_4::zflat07_txt2"] -runner = 'sally' +runner = 'wilhelm' name = 'zflat07_txt2' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat07-txt2.rs' @@ -3919,7 +3967,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat08-txt3.rs' [benchmarks."snap_0_2_4::zflat09_txt4"] -runner = 'sally' +runner = 'wilhelm' name = 'zflat09_txt4' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat09-txt4.rs' @@ -3931,7 +3979,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat10-pb.rs' [benchmarks."snap_0_2_4::zflat11_gaviota"] -runner = 'sally' +runner = 'molly' name = 'zflat11_gaviota' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat11-gaviota.rs' diff --git a/src/main.rs b/src/main.rs index b1f7d17..d53ae33 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,4 @@ -#[macro_use] extern crate failure; -#[macro_use] extern crate structopt; extern crate chrono; @@ -87,7 +85,7 @@ impl Measure { .. } => ToolchainSpec::Range(start.clone(), Utc::today().naive_utc()), - _ => bail!("unsupported toolchain configuration"), + _ => failure::bail!("unsupported toolchain configuration"), }; let kthread_on = self.move_kernel_threads; diff --git a/src/registry.rs b/src/registry.rs index c668c46..1e21bff 100644 --- a/src/registry.rs +++ b/src/registry.rs @@ -55,13 +55,12 @@ pub fn rebalance(sample_data_dir: impl AsRef) -> Result<()> { .collect::>(); for (ns, bench_key) in most_covered_toolchains_runtimes(sample_data_dir)? { - if let Some(assigned) = runners_by_bench_key.get(&bench_key) { + if let Some(weight) = runners_by_bench_key + .get(&bench_key) + .and_then(|assigned| weights.iter_mut().find(|&&mut (_, ref r)| r == assigned)) + { // this has already been assigned, so we just need to track its runtime - weights - .iter_mut() - .find(|&&mut (_, ref r)| r == assigned) - .unwrap() - .0 += ns; + weight.0 += ns; } else { let &mut (ref mut current_score, ref runner) = &mut weights[0]; diff --git a/tools/package-lock.json b/tools/package-lock.json index 7c679c5..fb76e01 100644 --- a/tools/package-lock.json +++ b/tools/package-lock.json @@ -4,136 +4,68 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz", - "integrity": "sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" }, - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", "requires": { - "es6-promisify": "^5.0.0" + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "@types/mime-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz", + "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=" }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==" }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", "requires": { - "array-uniq": "^1.0.1" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, - "arrify": { + "async-limiter": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" }, - "async-limiter": { + "at-least-node": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -144,92 +76,27 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } + "fill-range": "^7.0.1" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, "concat-map": { "version": "0.0.1", @@ -247,100 +114,36 @@ "typedarray": "^0.0.6" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { "ms": "^2.1.1" } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - } - }, - "es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "requires": { - "es6-promise": "^4.0.3" + "path-type": "^4.0.0" } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" }, "dependencies": { "debug": { @@ -351,22 +154,6 @@ "ms": "2.0.0" } }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -374,173 +161,52 @@ } } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "fast-glob": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", + "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" } }, - "fast-glob": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.3.tgz", - "integrity": "sha512-NiX+JXjnx43RzvVFwRWfPKo4U+1BrK5pJPsHQdKMlLoFHrrGktXglQhHliSihWAq+m1z6fHk3uwGHrtRbS9vLA==", + "fastq": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz", + "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==", "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" + "reusify": "^1.0.4" } }, "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "requires": { "pend": "~1.2.0" } }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" + "to-regex-range": "^5.0.1" } }, "fs-extra": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", - "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" } }, "fs.realpath": { @@ -548,15 +214,10 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -567,90 +228,49 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, "globby": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", - "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz", + "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" }, "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" + "agent-base": "5", + "debug": "4" } }, "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "inflight": { "version": "1.0.6", @@ -662,72 +282,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "is-extglob": { "version": "2.1.1", @@ -735,109 +292,63 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "requires": { "is-extglob": "^2.1.1" } }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", "requires": { - "graceful-fs": "^4.1.6" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" } }, "merge2": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", - "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" }, "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "braces": "^3.0.1", + "picomatch": "^2.0.5" } }, "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } }, "minimatch": { "version": "3.0.4", @@ -848,110 +359,22 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } + "minimist": "^1.2.5" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "once": { "version": "1.4.0", @@ -962,19 +385,12 @@ } }, "p-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.0.0.tgz", - "integrity": "sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } }, "path-is-absolute": { "version": "1.0.1", @@ -982,62 +398,56 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "^3.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "puppeteer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.9.0.tgz", - "integrity": "sha512-GH4PmhJf9wBRAPvtJkEJLAvdNNOofZortmBZSj8cGWYni98GUFqsf66blOEfJbo5B8l0KG5HR2d/W2MejnUrzg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.1.tgz", + "integrity": "sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==", "requires": { - "debug": "^3.1.0", + "@types/mime-types": "^2.1.0", + "debug": "^4.1.0", "extract-zip": "^1.6.6", - "https-proxy-agent": "^2.2.1", + "https-proxy-agent": "^4.0.0", "mime": "^2.0.3", - "progress": "^2.0.0", + "mime-types": "^2.1.25", + "progress": "^2.0.1", "proxy-from-env": "^1.0.0", "rimraf": "^2.6.1", - "ws": "^5.1.1" + "ws": "^6.1.0" } }, "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -1048,240 +458,33 @@ "util-deprecate": "~1.0.1" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "string_decoder": { "version": "1.1.1", @@ -1291,42 +494,12 @@ "safe-buffer": "~5.1.0" } }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "typedarray": { @@ -1334,88 +507,10 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" }, "util-deprecate": { "version": "1.0.2", @@ -1428,19 +523,20 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "requires": { "async-limiter": "~1.0.0" } }, "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "requires": { - "fd-slicer": "~1.0.1" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } } } diff --git a/tools/package.json b/tools/package.json index e929b26..dc9273d 100644 --- a/tools/package.json +++ b/tools/package.json @@ -1,18 +1,18 @@ { "name": "lolbench-tools", "version": "1.0.0", - "description": "", + "description": "screenshot tool", "scripts": { "screenshots": "node index.js" }, "author": "Adam Perry ", "license": "MIT", "dependencies": { - "fs-extra": "^7.0.0", - "globby": "^8.0.1", + "fs-extra": "^9.0.0", + "globby": "^11.0.0", "minimist": "^1.2.0", - "p-map": "^2.0.0", + "p-map": "^4.0.0", "progress": "^2.0.0", - "puppeteer": "^1.9.0" + "puppeteer": "^2.1.1" } }