├── .Rbuildignore ├── .Rprofile ├── .github ├── .gitignore └── workflows │ ├── build_bookdown_pr.yml │ ├── deploy_bookdown.yml │ └── deploy_bookdown_wip.yml ├── .gitignore ├── .nojekyll ├── 00-app-presentation.Rmd ├── 01-big-shiny.Rmd ├── 02-planning-ahead.Rmd ├── 03-structure.Rmd ├── 04-golem.Rmd ├── 05-workflow.Rmd ├── 06-ux-matters.Rmd ├── 07-step-by-step-design.Rmd ├── 08-step-by-step-prototype.Rmd ├── 09-prototyping.Rmd ├── 10-step-by-step-build.Rmd ├── 11-step-by-step-secure.Rmd ├── 12-secure.Rmd ├── 13-deploy.Rmd ├── 14-when_optimize.Rmd ├── 15-common-app-caveats.Rmd ├── 16-optimizing-shiny-code.Rmd ├── 17-javascript.Rmd ├── 18-css.Rmd ├── 19-appendix.Rmd ├── 20-session-info.Rmd ├── 21-references.Rmd ├── CONTRIBUTING.md ├── DESCRIPTION ├── Dockerfile ├── LICENSE ├── LICENSE.md ├── README.md ├── _bookdown.yml ├── _output.yml ├── before-build-spellcheck.R ├── before-build.R ├── blankgolem ├── .Rbuildignore ├── DESCRIPTION ├── NAMESPACE ├── R │ ├── app_config.R │ ├── app_server.R │ ├── app_ui.R │ └── run_app.R ├── dev │ ├── 01_start.R │ ├── 02_dev.R │ ├── 03_deploy.R │ └── run_dev.R ├── inst │ ├── app │ │ └── www │ │ │ └── favicon.ico │ └── golem-config.yml └── man │ └── run_app.Rd ├── book.bib ├── building-big-shiny-apps.Rproj ├── cache ├── 2db76ac4c62c46a6 ├── 3689a82603512976 ├── 75d4bb9816f58bf7 ├── 7dfa5dc09e254c66 ├── 918aa8c80e393496 ├── ac65d68512196d61 ├── afbd289c0467bb6b ├── ce728ab7ca59587d ├── d05414be6e8dc65d └── edb80f34dd3879c9 ├── chapter-abstracts.Rmd ├── chapter-abstracts.pdf ├── chunkall.R ├── css ├── style.css ├── style_gitbook.css └── thinkr.css ├── data-raw ├── .Rprofile ├── Dockerfile ├── data-raw.Rproj ├── f_golem.RDS ├── f_shiny.RDS ├── output.json ├── renv.lock ├── renv │ ├── .gitignore │ ├── activate.R │ └── settings.dcf ├── renvinit │ ├── .Rprofile │ ├── renv.lock │ ├── renv │ │ ├── .gitignore │ │ ├── activate.R │ │ └── settings.dcf │ └── renvinit.Rproj ├── script.R └── tests │ ├── mytest-expected │ ├── 001.json │ └── 001.png │ └── mytest.R ├── dataset ├── code_coverage_golem.RDS ├── cyclo_golex.rds ├── cyclo_shiny.rds ├── cyclo_tidytuesday.rds ├── frame_golem.rds ├── frame_shiny.rds └── results.RDS ├── deploy.Rmd ├── deploy.sh ├── dev_history.R ├── ga.html ├── gitbook-footer-thinkr.html ├── golembuild.R ├── golemdestroy.R ├── img ├── GOLEM_CONFIG_ACTIVE.png ├── GitFlowHotfixBranch.png ├── Git_branches_fork.png ├── Git_branches_fork.svg ├── R_CONFIG_ACTIVE.png ├── app_tree.png ├── blurred-vision.png ├── bottleneck-software.png ├── bottleneck.png ├── codecov-tibble.png ├── controlflow.png ├── css-red.png ├── css-shiny.png ├── deuto.png ├── engineering-shiny.jpeg ├── excalidraw.png ├── favicon.ico ├── geojson.png ├── golemcov.png ├── gremlins.png ├── hexmake-dockerstats.png ├── hexmake.png ├── hexmakeaccessibility.png ├── hexmakemap.png ├── lhmini.png ├── lhnomini.png ├── lighthouse-audit-results.png ├── lighthouse-audit.png ├── logo400_129.png ├── minifying.png ├── minifyr-map.png ├── mvp.png ├── no-css-shiny.png ├── plot_whereami.png ├── plotly.png ├── profviz_data.png ├── profviz_flame.png ├── profviz_out.png ├── rtask_with_css.png ├── rtask_without_css.png ├── rtask_without_css2.png ├── scanning.png ├── shinipsum.png ├── shinipsumapp.png ├── shinyloadtestreport.png ├── shinytest.png ├── thinkr-hex-golem2.png ├── tidytuesdayapp.png ├── tidytuesdaybutton1.png ├── tidytuesdaybutton2.png ├── whereami.png └── zerocov.png ├── index.Rmd ├── inst ├── WORDLIST └── golem-config.yml ├── krantz.cls ├── latex ├── .gitignore ├── after_body.tex ├── before_body.tex └── preamble.tex ├── makefile ├── manualpackages.bib ├── prep.R ├── redirect.R ├── redirects ├── bs4dashdemo │ └── index.html ├── databasedemo │ └── index.html ├── golemhtmltemplate │ └── index.html ├── graysacle │ └── index.html ├── hexmake │ └── index.html ├── minifying │ └── index.html ├── shinipsumdemo │ └── index.html ├── shinyfuture │ └── index.html └── tidytuesday201942 │ └── index.html ├── render_all.R ├── renv.lock ├── renv ├── .gitignore ├── activate.R ├── settings.dcf └── settings.json ├── shinylogs ├── dockerstats.csv ├── recording.log ├── run1 │ ├── recording.log │ ├── sessions │ │ ├── 0_0_0.csv │ │ ├── 1_1_0.csv │ │ ├── 2_2_0.csv │ │ ├── 3_3_0.csv │ │ ├── 4_4_0.csv │ │ ├── 5_5_0.csv │ │ ├── 6_6_0.csv │ │ ├── 7_7_0.csv │ │ ├── 8_8_0.csv │ │ └── 9_9_0.csv │ └── shinycannon-version.txt ├── run2 │ ├── recording.log │ ├── sessions │ │ ├── 0_0_0.csv │ │ ├── 100_1_17.csv │ │ ├── 101_0_82.csv │ │ ├── 102_2_1.csv │ │ ├── 103_2_2.csv │ │ ├── 104_1_18.csv │ │ ├── 105_0_83.csv │ │ ├── 106_2_3.csv │ │ ├── 107_0_84.csv │ │ ├── 108_1_19.csv │ │ ├── 109_2_4.csv │ │ ├── 10_0_10.csv │ │ ├── 110_0_85.csv │ │ ├── 111_1_20.csv │ │ ├── 112_1_21.csv │ │ ├── 113_0_86.csv │ │ ├── 114_0_87.csv │ │ ├── 115_2_5.csv │ │ ├── 116_1_22.csv │ │ ├── 117_0_88.csv │ │ ├── 118_1_23.csv │ │ ├── 119_2_6.csv │ │ ├── 11_0_11.csv │ │ ├── 120_1_24.csv │ │ ├── 121_0_89.csv │ │ ├── 122_2_7.csv │ │ ├── 123_2_8.csv │ │ ├── 124_3_0.csv │ │ ├── 125_0_90.csv │ │ ├── 126_2_9.csv │ │ ├── 127_1_25.csv │ │ ├── 128_3_1.csv │ │ ├── 129_1_26.csv │ │ ├── 12_0_12.csv │ │ ├── 130_0_91.csv │ │ ├── 131_2_10.csv │ │ ├── 132_1_27.csv │ │ ├── 133_0_92.csv │ │ ├── 134_1_28.csv │ │ ├── 135_2_11.csv │ │ ├── 136_3_2.csv │ │ ├── 137_2_12.csv │ │ ├── 138_3_3.csv │ │ ├── 139_0_93.csv │ │ ├── 13_0_13.csv │ │ ├── 140_1_29.csv │ │ ├── 141_2_13.csv │ │ ├── 142_3_4.csv │ │ ├── 143_1_30.csv │ │ ├── 144_0_94.csv │ │ ├── 145_2_14.csv │ │ ├── 146_1_31.csv │ │ ├── 147_3_5.csv │ │ ├── 148_0_95.csv │ │ ├── 149_0_96.csv │ │ ├── 14_0_14.csv │ │ ├── 150_3_6.csv │ │ ├── 151_1_32.csv │ │ ├── 152_2_15.csv │ │ ├── 153_3_7.csv │ │ ├── 154_2_16.csv │ │ ├── 155_1_33.csv │ │ ├── 156_0_97.csv │ │ ├── 15_0_15.csv │ │ ├── 16_0_16.csv │ │ ├── 17_0_17.csv │ │ ├── 18_0_18.csv │ │ ├── 19_0_19.csv │ │ ├── 1_0_1.csv │ │ ├── 20_0_20.csv │ │ ├── 21_0_21.csv │ │ ├── 22_0_22.csv │ │ ├── 23_0_23.csv │ │ ├── 24_0_24.csv │ │ ├── 25_0_25.csv │ │ ├── 26_0_26.csv │ │ ├── 27_0_27.csv │ │ ├── 28_0_28.csv │ │ ├── 29_0_29.csv │ │ ├── 2_0_2.csv │ │ ├── 30_0_30.csv │ │ ├── 31_0_31.csv │ │ ├── 32_0_32.csv │ │ ├── 33_0_33.csv │ │ ├── 34_0_34.csv │ │ ├── 35_0_35.csv │ │ ├── 36_0_36.csv │ │ ├── 37_0_37.csv │ │ ├── 38_0_38.csv │ │ ├── 39_0_39.csv │ │ ├── 3_0_3.csv │ │ ├── 40_0_40.csv │ │ ├── 41_0_41.csv │ │ ├── 42_0_42.csv │ │ ├── 43_0_43.csv │ │ ├── 44_0_44.csv │ │ ├── 45_0_45.csv │ │ ├── 46_0_46.csv │ │ ├── 47_0_47.csv │ │ ├── 48_0_48.csv │ │ ├── 49_0_49.csv │ │ ├── 4_0_4.csv │ │ ├── 50_0_50.csv │ │ ├── 51_0_51.csv │ │ ├── 52_0_52.csv │ │ ├── 53_0_53.csv │ │ ├── 54_0_54.csv │ │ ├── 55_0_55.csv │ │ ├── 56_0_56.csv │ │ ├── 57_0_57.csv │ │ ├── 58_0_58.csv │ │ ├── 59_0_59.csv │ │ ├── 5_0_5.csv │ │ ├── 60_0_60.csv │ │ ├── 61_0_61.csv │ │ ├── 62_0_62.csv │ │ ├── 63_0_63.csv │ │ ├── 64_0_64.csv │ │ ├── 65_0_65.csv │ │ ├── 66_1_0.csv │ │ ├── 67_0_66.csv │ │ ├── 68_1_1.csv │ │ ├── 69_0_67.csv │ │ ├── 6_0_6.csv │ │ ├── 70_0_68.csv │ │ ├── 71_1_2.csv │ │ ├── 72_0_69.csv │ │ ├── 73_1_3.csv │ │ ├── 74_1_4.csv │ │ ├── 75_0_70.csv │ │ ├── 76_1_5.csv │ │ ├── 77_1_6.csv │ │ ├── 78_0_71.csv │ │ ├── 79_1_7.csv │ │ ├── 7_0_7.csv │ │ ├── 80_0_72.csv │ │ ├── 81_1_8.csv │ │ ├── 82_0_73.csv │ │ ├── 83_1_9.csv │ │ ├── 84_0_74.csv │ │ ├── 85_0_75.csv │ │ ├── 86_1_10.csv │ │ ├── 87_0_76.csv │ │ ├── 88_1_11.csv │ │ ├── 89_0_77.csv │ │ ├── 8_0_8.csv │ │ ├── 90_1_12.csv │ │ ├── 91_0_78.csv │ │ ├── 92_1_13.csv │ │ ├── 93_0_79.csv │ │ ├── 94_1_14.csv │ │ ├── 95_1_15.csv │ │ ├── 96_0_80.csv │ │ ├── 97_2_0.csv │ │ ├── 98_1_16.csv │ │ ├── 99_0_81.csv │ │ └── 9_0_9.csv │ └── shinycannon-version.txt └── run3 │ ├── recording.log │ ├── sessions │ ├── 0_0_0.csv │ ├── 1_1_0.csv │ ├── 2_2_0.csv │ ├── 3_3_0.csv │ ├── 4_4_0.csv │ ├── 5_5_0.csv │ ├── 6_6_0.csv │ ├── 7_7_0.csv │ ├── 8_8_0.csv │ └── 9_9_0.csv │ └── shinycannon-version.txt └── tests └── spelling.R /.Rbuildignore: -------------------------------------------------------------------------------- 1 | ^renv$ 2 | ^renv\.lock$ 3 | ^data-raw$ 4 | ^dev_history\.R$ 5 | ^load_server_docker\.R$ 6 | ^library$ 7 | ^rstudio_prefs$ 8 | ^LICENSE\.md$ 9 | ^\.github$ 10 | ^Dockerfile$ 11 | -------------------------------------------------------------------------------- /.Rprofile: -------------------------------------------------------------------------------- 1 | source("renv/activate.R") 2 | -------------------------------------------------------------------------------- /.github/.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | -------------------------------------------------------------------------------- /.github/workflows/build_bookdown_pr.yml: -------------------------------------------------------------------------------- 1 | on: 2 | pull_request: 3 | branches: 4 | - master 5 | 6 | env: 7 | GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} 8 | 9 | name: renderbookpr 10 | 11 | jobs: 12 | bookdown: 13 | 14 | name: Render-Book 15 | 16 | runs-on: ubuntu-latest 17 | 18 | steps: 19 | - uses: actions/checkout@v2 20 | 21 | - uses: r-lib/actions/setup-r@v2 22 | with: 23 | crayon.enabled: 'FALSE' 24 | r-version: '3.6.1' 25 | 26 | - uses: actions/cache@v2 27 | with: 28 | path: ~/.local/share/renv 29 | key: ${{ runner.os }}-renv-${{ hashFiles('**/renv.lock') }} 30 | restore-keys: | 31 | ${{ runner.os }}-renv- 32 | 33 | - uses: r-lib/actions/setup-pandoc@v2 34 | 35 | - name: Install tinytex 36 | uses: r-lib/actions/setup-tinytex@v2 37 | 38 | - name: Install sysreq 39 | run: sudo apt update && sudo apt install -y gdal-bin git-core libcairo2-dev libgdal-dev libgeos-dev libgeos++-dev libgit2-dev libpng-dev libssh2-1-dev libssl-dev libudunits2-dev libxml2-dev make pandoc pandoc-citeproc zlib1g-dev libmagick++-dev libssl-dev libsasl2-dev 40 | 41 | - name: Pulling hexmake 42 | run: docker pull colinfay/hexmake 43 | 44 | - uses: nanasess/setup-chromedriver@master 45 | 46 | - name: Install rmarkdown, bookdown and sysfonts 47 | run: Rscript -e 'install.packages(c("sysfonts", "rmarkdown","bookdown"), Ncpus = 4)' 48 | 49 | - name: Before build 50 | run: Rscript prep.R 51 | 52 | - name: Render Book 53 | run: Rscript -e 'bookdown::render_book("index.Rmd")' 54 | 55 | - uses: actions/upload-artifact@v2 56 | with: 57 | name: _site 58 | path: _site/ 59 | -------------------------------------------------------------------------------- /.github/workflows/deploy_bookdown.yml: -------------------------------------------------------------------------------- 1 | on: 2 | push: 3 | branches: 4 | - master 5 | 6 | env: 7 | GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} 8 | 9 | name: renderbook 10 | 11 | jobs: 12 | bookdown: 13 | 14 | name: Render-Book 15 | 16 | runs-on: ubuntu-20.04 17 | 18 | steps: 19 | - uses: actions/checkout@v4 20 | 21 | - uses: actions/cache@v1 22 | with: 23 | path: ~/.local/share/renv 24 | key: ${{ runner.os }}-renv-${{ hashFiles('**/renv.lock') }} 25 | restore-keys: | 26 | ${{ runner.os }}-renv- 27 | 28 | - uses: r-lib/actions/setup-r@v2 29 | with: 30 | use-public-rspm: true 31 | crayon.enabled: 'FALSE' 32 | r-version: '4.1.0' 33 | Ncpus: 4 34 | 35 | - uses: r-lib/actions/setup-pandoc@v2 36 | 37 | # - uses: r-lib/actions/setup-renv@v2 38 | 39 | - name: Install tinytex 40 | uses: r-lib/actions/setup-tinytex@v2 41 | 42 | - name: Install sysreq 43 | run: sudo apt update && sudo apt install -y gdal-bin git-core libcairo2-dev libgdal-dev libgeos-dev libgeos++-dev libgit2-dev libpng-dev libssh2-1-dev libssl-dev libudunits2-dev libxml2-dev make pandoc pandoc-citeproc zlib1g-dev libmagick++-dev libssl-dev libsasl2-dev 44 | 45 | - name: Pulling hexmake 46 | run: docker pull colinfay/hexmake 47 | 48 | - uses: nanasess/setup-chromedriver@master 49 | 50 | - name: Install rmarkdown, bookdown and sysfonts 51 | run: Rscript -e 'install.packages(c("sysfonts", "rmarkdown","bookdown"), Ncpus = 4)' 52 | 53 | - name: Spell check 54 | run: Rscript before-build-spellcheck.R 55 | env: 56 | EMAIL: ${{ secrets.EMAIL }} 57 | GH_TOKEN: ${{ secrets.TOKEN }} 58 | 59 | - name: Before build 60 | run: Rscript prep.R 61 | 62 | - name: Render Book 63 | run: Rscript -e 'bookdown::render_book("index.Rmd")' 64 | 65 | - name: Build redirect 66 | run: Rscript redirect.R 67 | 68 | - uses: actions/upload-artifact@v1 69 | with: 70 | name: _site 71 | path: _site/ 72 | 73 | # Need to first create an empty gh-pages branch 74 | # see https://pkgdown.r-lib.org/reference/deploy_site_github.html 75 | # and also add secrets for a GITHUB_PAT and EMAIL to the repository 76 | # gh-action from Cecilapp/GitHub-Pages-deploy 77 | checkout-and-deploy: 78 | runs-on: ubuntu-latest 79 | needs: bookdown 80 | steps: 81 | - name: Checkout 82 | uses: actions/checkout@master 83 | - name: Download artifact 84 | uses: actions/download-artifact@v1.0.0 85 | with: 86 | # Artifact name 87 | name: _site # optional 88 | # Destination path 89 | path: _site # optional 90 | - name: Deploy to GitHub Pages 91 | uses: Cecilapp/GitHub-Pages-deploy@v3 92 | env: 93 | GITHUB_TOKEN: ${{ secrets.TOKEN }} 94 | with: 95 | email: ${{ secrets.EMAIL }} 96 | build_dir: _site # optional 97 | cname: engineering-shiny.org # optional 98 | jekyll: no # optional 99 | 100 | 101 | -------------------------------------------------------------------------------- /.github/workflows/deploy_bookdown_wip.yml: -------------------------------------------------------------------------------- 1 | on: 2 | push: 3 | branches: 4 | - wip 5 | 6 | name: renderbook 7 | 8 | jobs: 9 | bookdown: 10 | 11 | name: Render-Book 12 | 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v1 17 | 18 | - uses: r-lib/actions/setup-r@v1 19 | with: 20 | crayon.enabled: 'FALSE' 21 | 22 | - uses: actions/cache@v1 23 | with: 24 | path: ~/.local/share/renv 25 | key: ${{ runner.os }}-renv-${{ hashFiles('**/renv.lock') }} 26 | restore-keys: | 27 | ${{ runner.os }}-renv- 28 | 29 | - uses: r-lib/actions/setup-pandoc@v1 30 | 31 | - name: Install tinytex 32 | uses: r-lib/actions/setup-tinytex@master 33 | 34 | - name: Install sysreq 35 | run: sudo apt update && sudo apt install -y gdal-bin git-core libcairo2-dev libgdal-dev libgeos-dev libgeos++-dev libgit2-dev libpng-dev libssh2-1-dev libssl-dev libudunits2-dev libxml2-dev make pandoc pandoc-citeproc zlib1g-dev libmagick++-dev libssl-dev libsasl2-dev 36 | 37 | - name: Pulling hexmake 38 | run: docker pull colinfay/hexmake 39 | 40 | - name: Install Chromium 41 | run: | 42 | sudo apt-get update 43 | sudo apt-get install software-properties-common 44 | sudo add-apt-repository ppa:canonical-chromium-builds/stage 45 | sudo apt-get update 46 | sudo apt-get install chromium-browser 47 | 48 | - name: Install rmarkdown, bookdown and sysfonts 49 | run: Rscript -e 'install.packages(c("sysfonts", "rmarkdown","bookdown"), Ncpus = 4)' 50 | 51 | - name: Before build 52 | run: Rscript before-build.R 53 | 54 | - name: Render Book 55 | run: Rscript -e 'bookdown::render_book("index.Rmd", output_dir = "_book/wip")' 56 | 57 | - uses: actions/upload-artifact@v1 58 | with: 59 | name: _book 60 | path: _book/ 61 | 62 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | .Rhistory 3 | .RData 4 | .Ruserdata 5 | _bookdown_files/ 6 | docs/ 7 | packages.bib 8 | fcache/ 9 | load_server_docker.R 10 | library/ 11 | rstudio_prefs 12 | building-shiny-apps-workflow* 13 | !building-shiny-apps-workflow.Rproj 14 | _book/* 15 | !engineering-production-grade-shiny-apps.Rproj 16 | golex/ 17 | todoedit 18 | _site/ 19 | -------------------------------------------------------------------------------- /.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/.nojekyll -------------------------------------------------------------------------------- /20-session-info.Rmd: -------------------------------------------------------------------------------- 1 | # Appendix B - Session Info {-} 2 | 3 | The current version of this book has been compiled on: 4 | 5 | ```{r 20-session-info-1, eval = TRUE} 6 | Sys.Date() 7 | ``` 8 | 9 | with the following configuration: 10 | 11 | ```{r 20-session-info-2, eval = FALSE} 12 | xfun::session_info() 13 | ``` 14 | 15 | ```{r 20-session-info-1-bis, echo = FALSE, eval = TRUE} 16 | a <- xfun::session_info() 17 | a[[5]] <- gsub("/ C", "\n/ C", a[[5]]) 18 | a 19 | ``` 20 | 21 | -------------------------------------------------------------------------------- /21-references.Rmd: -------------------------------------------------------------------------------- 1 | `r if (knitr::is_html_output()) ' 2 | # References {-} 3 | '` 4 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing 2 | 3 | First of all, thank you for taking time to read our book! 4 | 5 | ### What you can help with 6 | 7 | There are two ways to contribute to the book: 8 | 9 | + Spot typos and / or mistakes in the text or in the code blocks 10 | 11 | + Contribute written content 12 | 13 | ### How to 14 | 15 | + Open an issue with the content and / or with the error you have spotted 16 | 17 | + If you want to make written contribution, please open a pull request with your correction / contribution 18 | 19 | + In that case, please include as a comment to your pull request "I assign the 20 | copyright of this contribution to Colin Fay, Vincent Guyader, Cervan Girard and 21 | Sébastien Rochette". This will be needed for the publication of the printed 22 | book. 23 | 24 | + Add your name in the Acknowledgment section in the introduction. 25 | 26 | + If you want to contribute written content, you might want to open an issue first so that we can discuss the topic first. 27 | 28 | ## Building 29 | 30 | ### Build the book locally with existing cache 31 | 32 | This requires Docker, Node and multiple dependencies installed using {renv}. 33 | By default, this will use the cache to restore outputs. 34 | 35 | *hexmake* 36 | ```sh 37 | docker pull colinfay/hexmake 38 | ``` 39 | 40 | *minifyr* 41 | ```sh 42 | sudo apt-get -y install curl 43 | sudo apt-get install -y nodejs 44 | 45 | Rscript -e 'remotes::install_github("colinfay/minifyr")' 46 | Rscript -e 'remotes::install_cran("cicerone")' 47 | # Verify it works 48 | Rscript -e 'library(minifyr); 49 | minifyr_npm_install(TRUE); 50 | minify_package_js("cicerone", minifyr_js_uglify)' 51 | ``` 52 | 53 | Then you can build it in a Terminal 54 | ```sh 55 | Rscript prep.R 56 | Rscript -e 'bookdown::render_book("index.Rmd")' 57 | Rscript -e 'browseURL("_site/index.html")' 58 | ``` 59 | 60 | ### Update the list of dependencies in DESCRIPTION 61 | 62 | ```sh 63 | Rscript -e 'source("before-build.R")' 64 | ``` 65 | 66 | ### Update versions of packages in {renv} 67 | 68 | ```sh 69 | Rscript -e 'renv::snapshot()' 70 | ``` 71 | 72 | ### Recreate datasets 73 | 74 | Run the content of 'render_all.R' 75 | -------------------------------------------------------------------------------- /DESCRIPTION: -------------------------------------------------------------------------------- 1 | Type: Compendium 2 | Package: building.shiny.apps.workflow 3 | Title: Engineering Production-Grade Shiny Apps - A Workflow 4 | Version: 0.0.1 5 | Authors@R: 6 | c(person(given = "Colin", 7 | family = "Fay", 8 | role = c("aut", "cre"), 9 | email = "colin@thinkr.fr", 10 | comment = c(ORCID = "0000-0001-7343-1846")), 11 | person(given = "Sébastien", 12 | family = "Rochette", 13 | role = "aut", 14 | email = "sebastien@thinkr.fr", 15 | comment = c(ORCID = "0000-0002-1565-9313")), 16 | person(given = "Vincent", 17 | family = "Guyader", 18 | role = "aut", 19 | email = "vincent@thinkr.fr", 20 | comment = c(ORCID = "0000-0003-0671-9270")), 21 | person(given = "Cervan", 22 | family = "Girard", 23 | role = "aut", 24 | email = "cervan@thinkr.fr", 25 | comment = c(ORCID = "0000-0002-4816-4624")), 26 | person(given = "ThinkR", 27 | role = "cph")) 28 | Description: Open source book on R for reproducible, robust and 29 | maintainable Shiny applications for production. 30 | License: MIT + file LICENSE 31 | URL: https://github.com/ThinkR-open/engineering-shiny-book 32 | BugReports: 33 | https://github.com/ThinkR-open/engineering-shiny-book/issues 34 | Depends: 35 | bookdown (>= 0.18) 36 | Imports: 37 | attachment (>= 0.1.0), 38 | attempt (>= 0.3.1), 39 | bank (>= 0.0.0.9000), 40 | bench (>= 1.1.1), 41 | bs4Dash (>= 0.5.0), 42 | bslib (>= 0.2.5.1), 43 | bubble (>= 0.0.0.9003), 44 | chromote (>= 0.0.0.9001), 45 | cli (>= 2.0.2), 46 | cloc (>= 0.3.0), 47 | config (>= 0.3), 48 | covr (>= 3.5.0), 49 | covrpage (>= 0.0.70), 50 | crrri (>= 0.0.12), 51 | crrry (>= 0.0.0.9001), 52 | cyclocomp (>= 1.1.0), 53 | data.table (>= 1.12.8), 54 | DBI (>= 1.1.0), 55 | dbplyr (>= 1.4.3), 56 | dccvalidator (>= 0.2.0), 57 | desc (>= 1.2.0), 58 | devtools (>= 2.3.0), 59 | dichromat (>= 2.0.0), 60 | dockerfiler (>= 0.1.3), 61 | dockerstats (>= 0.0.0.9000), 62 | downlit (>= 0.2.1), 63 | dplyr (>= 1.0.2), 64 | DT (>= 0.15), 65 | fakir (>= 0.2.0), 66 | foreign, 67 | fs (>= 1.4.1), 68 | fullPage (>= 0.1.0), 69 | future (>= 1.17.0), 70 | gargoyle (>= 0.0.0.9000), 71 | geojsonsf (>= 1.3.3), 72 | ggbeeswarm (>= 0.6.0), 73 | ggplot2 (>= 3.3.0), 74 | git2r (>= 0.27.1), 75 | glouton (>= 0.0.0.9000), 76 | glue (>= 1.4.2), 77 | golem (>= 0.3.0), 78 | haven (>= 2.2.0), 79 | here (>= 0.1), 80 | hexmake (>= 0.0.0.9000), 81 | htmltools (>= 0.5.0.9002), 82 | htmlwidgets (>= 1.5.2), 83 | httpuv (>= 1.5.4), 84 | hunspell (>= 3.0), 85 | jsonlite (>= 1.7.1), 86 | knitr (>= 1.30), 87 | liteq (>= 1.1.0), 88 | lubridate (>= 1.7.8), 89 | magrittr (>= 1.5), 90 | matlab (>= 1.0.2), 91 | memoise (>= 1.1.0.9000), 92 | minifyr (>= 0.0.0.9000), 93 | namer (>= 0.1.5), 94 | nessy (>= 0.0.0.9001), 95 | packageMetrics2 (>= 1.0.1.9000), 96 | pagedown (>= 0.10), 97 | pkgbuild (>= 1.0.8), 98 | plotly (>= 4.9.2.1), 99 | processx (>= 3.4.4), 100 | profmem (>= 0.5.0), 101 | profvis (>= 0.3.6), 102 | promises (>= 1.1.1), 103 | purrr (>= 0.3.4), 104 | R.cache (>= 0.14.0), 105 | rcmdcheck (>= 1.3.3), 106 | Rcpp (>= 1.0.5), 107 | RcppSimdJson (>= 0.1.0), 108 | readr (>= 1.3.1), 109 | readxl (>= 1.3.1), 110 | remotes (>= 2.2.0), 111 | renv (>= 0.12.2), 112 | resume (>= 0.0.0.9000), 113 | rhub (>= 1.1.1), 114 | rmarkdown (>= 2.5), 115 | roxygen2 (>= 7.1.0), 116 | rsconnect (>= 0.8.16), 117 | RSQLite (>= 2.2.0), 118 | rstudioapi (>= 0.11), 119 | scales (>= 1.1.0), 120 | sever (>= 0.0.4), 121 | sf (>= 0.9.3), 122 | shinipsum (>= 0.0.0.9000), 123 | shiny (>= 1.5.0), 124 | shinyalert (>= 1.1), 125 | shinydashboardPlus (>= 0.7.0), 126 | shinyFeedback (>= 0.2.0), 127 | shinyjs (>= 1.1), 128 | shinyloadtest (>= 1.0.1), 129 | shinyMobile (>= 0.1.0), 130 | shinytest (>= 1.3.1), 131 | skeleton (>= 0.0.0.9000), 132 | testthat (>= 3.0.0), 133 | tibble (>= 3.0.1), 134 | tictoc (>= 1.0), 135 | tidymodules (>= 0.1.1), 136 | tidytuesday201942 (>= 0.0.0.9000), 137 | tidyverse (>= 1.3.0), 138 | tools (>= 3.6.1), 139 | tufte (>= 0.7), 140 | usethis (>= 1.6.3), 141 | uuid (>= 0.1.4), 142 | viridis (>= 0.5.1), 143 | vroom (>= 1.2.0), 144 | whereami (>= 0.1.9), 145 | xfun (>= 0.19) 146 | Suggests: 147 | spelling (>= 2.1) 148 | Remotes: 149 | colinfay/bubble, 150 | ColinFay/crrry, 151 | ColinFay/dockerstats, 152 | ColinFay/gargoyle, 153 | colinfay/glouton, 154 | colinfay/hexmake, 155 | Colinfay/minifyr, 156 | ColinFay/nessy, 157 | colinfay/resume, 158 | colinfay/skeleton, 159 | ColinFay/tidytuesday201942, 160 | hrbrmstr/cloc, 161 | MangoTheCat/packageMetrics2, 162 | metrumresearchgroup/covrpage, 163 | Novartis/tidymodules, 164 | RinteRface/fullPage, 165 | RLesur/crrri, 166 | rstudio/chromote, 167 | thinkr-open/bank, 168 | ThinkR-open/fakir, 169 | ThinkR-open/golem, 170 | Thinkr-open/shinipsum 171 | Encoding: UTF-8 172 | Language: en-US 173 | LazyData: true 174 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | YEAR: 2020 2 | COPYRIGHT HOLDER: ThinkR 3 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # MIT License 2 | 3 | Copyright (c) 2020 ThinkR 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | [![R build status](https://github.com/ThinkR-open/building-shiny-apps-workflow/workflows/R-CMD-check/badge.svg)](https://github.com/ThinkR-open/building-shiny-apps-workflow/actions) 3 | 4 | 5 | A book about "Engineering Production-Grade Shiny Apps". 6 | 7 | To be published in the R Series in 2020. 8 | 9 | 10 | 11 | ## Want to help? 12 | 13 | Any feedback on the book is very welcome. 14 | Please be sure that you comment on the **WIP version of the book**, which is at the `wip` branch. 15 | 16 | Feel free to [open an issue](https://github.com/ThinkR-open/building-shiny-apps-workflow/issues), or to make a PR if you spot a typo (We're not native English speakers, so there might be some issues waiting to be found ;) ). 17 | -------------------------------------------------------------------------------- /_bookdown.yml: -------------------------------------------------------------------------------- 1 | book_filename: engineering-production-grade-shiny-apps 2 | clean: [packages.bib, bookdown.bbl] 3 | delete_merged_file: yes 4 | repo: https://github.com/ThinkR-open/engineering-shiny-book 5 | language: 6 | label: 7 | fig: "FIGURE " 8 | tab: "TABLE " 9 | ui: 10 | edit: "Edit" 11 | chapter_name: "Chapter " 12 | output_dir: _site 13 | before_chapter_script: golembuild.R 14 | after_chapter_script: golemdestroy.R 15 | rmd_files: 16 | - index.Rmd 17 | - 00-app-presentation.Rmd 18 | - 01-big-shiny.Rmd 19 | - 02-planning-ahead.Rmd 20 | - 03-structure.Rmd 21 | - 04-golem.Rmd 22 | - 05-workflow.Rmd 23 | - 06-ux-matters.Rmd 24 | - 07-step-by-step-design.Rmd 25 | - 08-step-by-step-prototype.Rmd 26 | - 09-prototyping.Rmd 27 | - 10-step-by-step-build.Rmd 28 | - 11-step-by-step-secure.Rmd 29 | - 12-secure.Rmd 30 | - 13-deploy.Rmd 31 | - 14-when_optimize.Rmd 32 | - 15-common-app-caveats.Rmd 33 | - 16-optimizing-shiny-code.Rmd 34 | - 17-javascript.Rmd 35 | - 18-css.Rmd 36 | - 19-appendix.Rmd 37 | - 20-session-info.Rmd 38 | - 21-references.Rmd -------------------------------------------------------------------------------- /_output.yml: -------------------------------------------------------------------------------- 1 | bookdown::bs4_book: 2 | css: [css/style.css, css/thinkr.css, css/style_gitbook.css] 3 | theme: 4 | primary: "#DE633C" 5 | fg: "#2b2121" 6 | bg: "#ffffff" 7 | repo: https://github.com/ThinkR-open/engineering-shiny-book 8 | includes: 9 | in_header: ga.html 10 | after_body: gitbook-footer-thinkr.html 11 | bookdown::pdf_book: 12 | includes: 13 | in_header: latex/preamble.tex 14 | before_body: latex/before_body.tex 15 | after_body: latex/after_body.tex 16 | keep_tex: true 17 | dev: "cairo_pdf" 18 | latex_engine: xelatex 19 | citation_package: natbib 20 | template: null 21 | pandoc_args: --top-level-division=chapter 22 | toc_depth: 3 23 | toc_unnumbered: false 24 | toc_appendix: true 25 | quote_footer: ["\\VA{", "}{}"] 26 | bookdown::epub_book: 27 | stylesheet: css/style.css 28 | redirects: 29 | successfulshinyapp: successful-shiny-app 30 | planning: planning-ahead 31 | structure: structuring-project 32 | matters: ux-matters 33 | step-design: dont-rush-into-coding 34 | settingupsuccess: setting-up-for-success 35 | stepprotopype: building-ispum-app 36 | stepbuild: build-app-golem 37 | step-secure: build-yourself-safety-net 38 | secure: version-control 39 | deploy-golem: deploy 40 | when-optimize: need-for-optimization 41 | optim-caveat: common-app-caveats 42 | optimjs: using-javascript -------------------------------------------------------------------------------- /before-build-spellcheck.R: -------------------------------------------------------------------------------- 1 | if (!requireNamespace("gh")){ 2 | install.packages("gh") 3 | } 4 | if (!requireNamespace("spelling")){ 5 | install.packages("spelling") 6 | } 7 | if (!requireNamespace("knitr")){ 8 | install.packages("knitr") 9 | } 10 | try({ 11 | gh::gh( 12 | "POST /repos/:owner/:repo/issues", 13 | owner = gsub("([^/]*)/.*", "\\1", Sys.getenv("GITHUB_REPOSITORY")), 14 | repo = gsub("[^/]*/(.*)", "\\1", Sys.getenv("GITHUB_REPOSITORY")), 15 | title = sprintf( 16 | "Spellcheck GA %s - %s", 17 | Sys.getenv("GITHUB_ACTION"), Sys.Date() 18 | ), 19 | .token = Sys.getenv("GH_TOKEN"), 20 | body = paste( 21 | capture.output( 22 | knitr::kable( 23 | do.call( 24 | rbind, 25 | lapply( 26 | list.files( 27 | path = ".", 28 | pattern = ".Rmd$" 29 | ), 30 | function(x){ 31 | spelling::spell_check_files(x) 32 | } 33 | ) 34 | ) 35 | ) 36 | ), 37 | collapse = "\n" 38 | ) 39 | ) 40 | }) 41 | 42 | -------------------------------------------------------------------------------- /before-build.R: -------------------------------------------------------------------------------- 1 | # To do locally on Colin's computer, thanks 2 | options(repos = c(REPO_NAME = "https://packagemanager.rstudio.com/all/latest")) 3 | 4 | remotes::install_github("lbartnik/subprocess") 5 | remotes::install_github("rstudio/websocket") 6 | remotes::install_github("thinkr-open/bank") 7 | paks <- c( 8 | "cloc", "dplyr", "cyclocomp", "tidytuesday201942", "shiny", "packageMetrics2", 9 | "remotes", "readr", "here", "tibble", "knitr", "desc", "attachment", "magrittr", 10 | "tools", "fs", "glue", "dichromat", "purrr", "htmltools", "matlab", "viridis", 11 | "golem", "shinipsum", "ggplot2", "DT", "fakir", "shinyloadtest", "dockerstats", 12 | "attempt", "dockerfiler", "Rcpp", "profmem", "bench", "jsonlite", "cli", "memoise", 13 | "tictoc", "promises", "future", "liteq", "DBI", "RSQLite", "xfun", 14 | 'bookdown', 'knitr', 'rmarkdown', 'tidyverse', 15 | 'testthat', 'usethis', 'config', 'hexmake', 'shinyalert', 16 | 'plotly', 'shinyMobile', 'resume', 'nessy','skeleton', 17 | 'fullPage', 'bs4Dash', 'shinydashboardPlus', 18 | 'sf', 'devtools', 'crrri', 19 | 'chromote', 20 | 'crrry', 'shinytest', 'processx', 21 | 'renv', 'geojsonsf', 'pkgbuild', 'profvis', 22 | 'gargoyle', 'dplyr', 'dbplyr', 'vroom', 23 | 'data.table', 'jsonlite', 'readxl', 24 | 'R.cache', 'glouton', 'bubble', 'roxygen2', 25 | 'covr', 'rcmdcheck', 'covrpage', 26 | 'dccvalidator', 'minifyr', 'sever', 'shinyFeedback', 27 | "whereami", "RcppSimdJson", "foreign", "haven", 28 | "tidymodules", "shinyjs", "htmlwidgets", 29 | "hunspell", "rhub", "spelling", "tufte", "uuid", 30 | "attachment", "remotes", "usethis", "namer", "desc", "spelling", "tufte", 31 | "dockerstats", "spelling", "tidymodules", "bank", "downlit", "bslib" 32 | ) 33 | 34 | paks <- unique(paks) 35 | # for (i in paks){ 36 | # if (!requireNamespace(i)){ 37 | # install.packages(i) 38 | # } 39 | # } 40 | cran_paks <- tools::CRAN_package_db() 41 | desc_pak <- desc::desc_get_deps()$package 42 | 43 | for (pak in paks){ 44 | if ( !(pak %in% desc_pak)){ 45 | try({ 46 | if (pak %in% cran_paks$Package){ 47 | usethis::use_package(pak) 48 | } else { 49 | usethis::use_dev_package(pak) 50 | } 51 | }) 52 | } 53 | } 54 | 55 | usethis::use_tidy_description() 56 | 57 | remotes::install_local(Ncpus = 4, upgrade = "never", force = TRUE) 58 | 59 | knitr::write_bib(c( 60 | unique(paks) 61 | ), 'packages.bib') 62 | 63 | # purrr::walk( 64 | # list.files(path = ".", pattern = ".Rmd$"), 65 | # function(x){ 66 | # cli::cat_rule(x) 67 | # namer::name_chunks(x) 68 | # } 69 | # ) 70 | 71 | -------------------------------------------------------------------------------- /blankgolem/.Rbuildignore: -------------------------------------------------------------------------------- 1 | ^.*\.Rproj$ 2 | ^\.Rproj\.user$ 3 | ^data-raw$ 4 | dev_history.R 5 | ^dev$ 6 | $run_dev.* 7 | -------------------------------------------------------------------------------- /blankgolem/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: blankgolem 2 | Title: An Amazing Shiny App 3 | Version: 0.0.0.9000 4 | Authors@R: 5 | person(given = "firstname", 6 | family = "lastname", 7 | role = c("aut", "cre"), 8 | email = "your@email.com") 9 | Description: What the package does (one paragraph). 10 | License: What license is it under? 11 | Imports: 12 | config, 13 | golem, 14 | shiny 15 | Encoding: UTF-8 16 | LazyData: true 17 | RoxygenNote: 6.1.1 18 | -------------------------------------------------------------------------------- /blankgolem/NAMESPACE: -------------------------------------------------------------------------------- 1 | # Generated by roxygen2: do not edit by hand 2 | 3 | export(run_app) 4 | import(shiny) 5 | importFrom(golem,activate_js) 6 | importFrom(golem,add_resource_path) 7 | importFrom(golem,bundle_resources) 8 | importFrom(golem,favicon) 9 | importFrom(golem,with_golem_options) 10 | importFrom(shiny,shinyApp) 11 | -------------------------------------------------------------------------------- /blankgolem/R/app_config.R: -------------------------------------------------------------------------------- 1 | #' Access files in the current app 2 | #' 3 | #' NOTE: If you manually change your package name in the DESCRIPTION, 4 | #' don't forget to change it here too, and in the config file. 5 | #' For a safer name change mechanism, use the `golem::set_golem_name()` function. 6 | #' 7 | #' @param ... character vectors, specifying subdirectory and file(s) 8 | #' within your package. The default, none, returns the root of the app. 9 | #' 10 | #' @noRd 11 | app_sys <- function(...){ 12 | system.file(..., package = "blankgolem") 13 | } 14 | 15 | 16 | #' Read App Config 17 | #' 18 | #' @param value Value to retrieve from the config file. 19 | #' @param config R_CONFIG_ACTIVE value. 20 | #' @param use_parent Logical, scan the parent directory for config file. 21 | #' 22 | #' @noRd 23 | get_golem_config <- function( 24 | value, 25 | config = Sys.getenv("R_CONFIG_ACTIVE", "default"), 26 | use_parent = TRUE 27 | ){ 28 | config::get( 29 | value = value, 30 | config = config, 31 | # Modify this if your config file is somewhere else: 32 | file = app_sys("golem-config.yml"), 33 | use_parent = use_parent 34 | ) 35 | } 36 | 37 | -------------------------------------------------------------------------------- /blankgolem/R/app_server.R: -------------------------------------------------------------------------------- 1 | #' The application server-side 2 | #' 3 | #' @param input,output,session Internal parameters for {shiny}. 4 | #' DO NOT REMOVE. 5 | #' @import shiny 6 | #' @noRd 7 | app_server <- function( input, output, session ) { 8 | # Your application server logic 9 | 10 | } 11 | -------------------------------------------------------------------------------- /blankgolem/R/app_ui.R: -------------------------------------------------------------------------------- 1 | #' The application User-Interface 2 | #' 3 | #' @param request Internal parameter for `{shiny}`. 4 | #' DO NOT REMOVE. 5 | #' @import shiny 6 | #' @noRd 7 | app_ui <- function(request) { 8 | tagList( 9 | # Leave this function for adding external resources 10 | golem_add_external_resources(), 11 | # Your application UI logic 12 | fluidPage( 13 | h1("blankgolem") 14 | ) 15 | ) 16 | } 17 | 18 | #' Add external Resources to the Application 19 | #' 20 | #' This function is internally used to add external 21 | #' resources inside the Shiny application. 22 | #' 23 | #' @import shiny 24 | #' @importFrom golem add_resource_path activate_js favicon bundle_resources 25 | #' @noRd 26 | golem_add_external_resources <- function(){ 27 | 28 | add_resource_path( 29 | 'www', app_sys('app/www') 30 | ) 31 | 32 | tags$head( 33 | favicon(), 34 | bundle_resources( 35 | path = app_sys('app/www'), 36 | app_title = 'blankgolem' 37 | ) 38 | # Add here other external resources 39 | # for example, you can add shinyalert::useShinyalert() 40 | ) 41 | } 42 | 43 | -------------------------------------------------------------------------------- /blankgolem/R/run_app.R: -------------------------------------------------------------------------------- 1 | #' Run the Shiny Application 2 | #' 3 | #' @param ... arguments to pass to golem_opts 4 | #' @inheritParams shiny::shinyApp 5 | #' 6 | #' @export 7 | #' @importFrom shiny shinyApp 8 | #' @importFrom golem with_golem_options 9 | run_app <- function( 10 | onStart = NULL, 11 | options = list(), 12 | enableBookmarking = NULL, 13 | ... 14 | ) { 15 | with_golem_options( 16 | app = shinyApp( 17 | ui = app_ui, 18 | server = app_server, 19 | onStart = onStart, 20 | options = options, 21 | enableBookmarking = enableBookmarking 22 | ), 23 | golem_opts = list(...) 24 | ) 25 | } 26 | -------------------------------------------------------------------------------- /blankgolem/dev/01_start.R: -------------------------------------------------------------------------------- 1 | # Building a Prod-Ready, Robust Shiny Application. 2 | # 3 | # README: each step of the dev files is optional, and you don't have to 4 | # fill every dev scripts before getting started. 5 | # 01_start.R should be filled at start. 6 | # 02_dev.R should be used to keep track of your development during the project. 7 | # 03_deploy.R should be used once you need to deploy your app. 8 | # 9 | # 10 | ######################################## 11 | #### CURRENT FILE: ON START SCRIPT ##### 12 | ######################################## 13 | 14 | ## Fill the DESCRIPTION ---- 15 | ## Add meta data about your application 16 | ## 17 | ## /!\ Note: if you want to change the name of your app during development, 18 | ## either re-run this function, call golem::set_golem_name(), or don't forget 19 | ## to change the name in the app_sys() function in app_config.R /!\ 20 | ## 21 | golem::fill_desc( 22 | pkg_name = "blankgolem", # The Name of the package containing the App 23 | pkg_title = "PKG_TITLE", # The Title of the package containing the App 24 | pkg_description = "PKG_DESC.", # The Description of the package containing the App 25 | author_first_name = "AUTHOR_FIRST", # Your First Name 26 | author_last_name = "AUTHOR_LAST", # Your Last Name 27 | author_email = "AUTHOR@MAIL.COM", # Your Email 28 | repo_url = NULL # The URL of the GitHub Repo (optional) 29 | ) 30 | 31 | ## Set {golem} options ---- 32 | golem::set_golem_options() 33 | 34 | ## Create Common Files ---- 35 | ## See ?usethis for more information 36 | usethis::use_mit_license( name = "Golem User" ) # You can set another license here 37 | usethis::use_readme_rmd( open = FALSE ) 38 | usethis::use_code_of_conduct() 39 | usethis::use_lifecycle_badge( "Experimental" ) 40 | usethis::use_news_md( open = FALSE ) 41 | 42 | ## Use git ---- 43 | usethis::use_git() 44 | 45 | ## Init Testing Infrastructure ---- 46 | ## Create a template for tests 47 | golem::use_recommended_tests() 48 | 49 | ## Use Recommended Packages ---- 50 | golem::use_recommended_deps() 51 | 52 | ## Favicon ---- 53 | # If you want to change the favicon (default is golem's one) 54 | golem::use_favicon() # path = "path/to/ico". Can be an online file. 55 | golem::remove_favicon() 56 | 57 | ## Add helper functions ---- 58 | golem::use_utils_ui() 59 | golem::use_utils_server() 60 | 61 | # You're now set! ---- 62 | 63 | # go to dev/02_dev.R 64 | rstudioapi::navigateToFile( "dev/02_dev.R" ) 65 | 66 | -------------------------------------------------------------------------------- /blankgolem/dev/02_dev.R: -------------------------------------------------------------------------------- 1 | # Building a Prod-Ready, Robust Shiny Application. 2 | # 3 | # README: each step of the dev files is optional, and you don't have to 4 | # fill every dev scripts before getting started. 5 | # 01_start.R should be filled at start. 6 | # 02_dev.R should be used to keep track of your development during the project. 7 | # 03_deploy.R should be used once you need to deploy your app. 8 | # 9 | # 10 | ################################### 11 | #### CURRENT FILE: DEV SCRIPT ##### 12 | ################################### 13 | 14 | # Engineering 15 | 16 | ## Dependencies ---- 17 | ## Add one line by package you want to add as dependency 18 | usethis::use_package( "thinkr" ) 19 | 20 | ## Add modules ---- 21 | ## Create a module infrastructure in R/ 22 | golem::add_module( name = "name_of_module1" ) # Name of the module 23 | golem::add_module( name = "name_of_module2" ) # Name of the module 24 | 25 | ## Add helper functions ---- 26 | ## Creates ftc_* and utils_* 27 | golem::add_fct( "helpers" ) 28 | golem::add_utils( "helpers" ) 29 | 30 | ## External resources 31 | ## Creates .js and .css files at inst/app/www 32 | golem::add_js_file( "script" ) 33 | golem::add_js_handler( "handlers" ) 34 | golem::add_css_file( "custom" ) 35 | 36 | ## Add internal datasets ---- 37 | ## If you have data in your package 38 | usethis::use_data_raw( name = "my_dataset", open = FALSE ) 39 | 40 | ## Tests ---- 41 | ## Add one line by test you want to create 42 | usethis::use_test( "app" ) 43 | 44 | # Documentation 45 | 46 | ## Vignette ---- 47 | usethis::use_vignette("blankgolem") 48 | devtools::build_vignettes() 49 | 50 | ## Code Coverage---- 51 | ## Set the code coverage service ("codecov" or "coveralls") 52 | usethis::use_coverage() 53 | 54 | # Create a summary readme for the testthat subdirectory 55 | covrpage::covrpage() 56 | 57 | ## CI ---- 58 | ## Use this part of the script if you need to set up a CI 59 | ## service for your application 60 | ## 61 | ## (You'll need GitHub there) 62 | usethis::use_github() 63 | 64 | # GitHub Actions 65 | usethis::use_github_action() 66 | # Chose one of the three 67 | # See https://usethis.r-lib.org/reference/use_github_action.html 68 | usethis::use_github_action_check_release() 69 | usethis::use_github_action_check_standard() 70 | usethis::use_github_action_check_full() 71 | # Add action for PR 72 | usethis::use_github_action_pr_commands() 73 | 74 | # Travis CI 75 | usethis::use_travis() 76 | usethis::use_travis_badge() 77 | 78 | # AppVeyor 79 | usethis::use_appveyor() 80 | usethis::use_appveyor_badge() 81 | 82 | # Circle CI 83 | usethis::use_circleci() 84 | usethis::use_circleci_badge() 85 | 86 | # Jenkins 87 | usethis::use_jenkins() 88 | 89 | # GitLab CI 90 | usethis::use_gitlab_ci() 91 | 92 | # You're now set! ---- 93 | # go to dev/03_deploy.R 94 | rstudioapi::navigateToFile("dev/03_deploy.R") 95 | 96 | -------------------------------------------------------------------------------- /blankgolem/dev/03_deploy.R: -------------------------------------------------------------------------------- 1 | # Building a Prod-Ready, Robust Shiny Application. 2 | # 3 | # README: each step of the dev files is optional, and you don't have to 4 | # fill every dev scripts before getting started. 5 | # 01_start.R should be filled at start. 6 | # 02_dev.R should be used to keep track of your development during the project. 7 | # 03_deploy.R should be used once you need to deploy your app. 8 | # 9 | # 10 | ###################################### 11 | #### CURRENT FILE: DEPLOY SCRIPT ##### 12 | ###################################### 13 | 14 | # Test your app 15 | 16 | ## Run checks ---- 17 | ## Check the package before sending to prod 18 | devtools::check() 19 | rhub::check_for_cran() 20 | 21 | # Deploy 22 | 23 | ## RStudio ---- 24 | ## If you want to deploy on RStudio related platforms 25 | golem::add_rstudioconnect_file() 26 | golem::add_shinyappsio_file() 27 | golem::add_shinyserver_file() 28 | 29 | ## Docker ---- 30 | ## If you want to deploy via a generic Dockerfile 31 | golem::add_dockerfile() 32 | 33 | ## If you want to deploy to ShinyProxy 34 | golem::add_dockerfile_shinyproxy() 35 | 36 | ## If you want to deploy to Heroku 37 | golem::add_dockerfile_heroku() 38 | -------------------------------------------------------------------------------- /blankgolem/dev/run_dev.R: -------------------------------------------------------------------------------- 1 | # Set options here 2 | options(golem.app.prod = FALSE) # TRUE = production mode, FALSE = development mode 3 | 4 | # Detach all loaded packages and clean your environment 5 | golem::detach_all_attached() 6 | # rm(list=ls(all.names = TRUE)) 7 | 8 | # Document and reload your package 9 | golem::document_and_reload() 10 | 11 | # Run the application 12 | run_app() 13 | -------------------------------------------------------------------------------- /blankgolem/inst/app/www/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/blankgolem/inst/app/www/favicon.ico -------------------------------------------------------------------------------- /blankgolem/inst/golem-config.yml: -------------------------------------------------------------------------------- 1 | default: 2 | golem_name: blankgolem 3 | golem_version: 0.0.0.9000 4 | app_prod: no 5 | production: 6 | app_prod: yes 7 | dev: 8 | golem_wd: !expr here::here() 9 | -------------------------------------------------------------------------------- /blankgolem/man/run_app.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/run_app.R 3 | \name{run_app} 4 | \alias{run_app} 5 | \title{Run the Shiny Application} 6 | \usage{ 7 | run_app(onStart = NULL, options = list(), enableBookmarking = NULL, 8 | ...) 9 | } 10 | \arguments{ 11 | \item{onStart}{A function that will be called before the app is actually run. 12 | This is only needed for \code{shinyAppObj}, since in the \code{shinyAppDir} 13 | case, a \code{global.R} file can be used for this purpose.} 14 | 15 | \item{options}{Named options that should be passed to the \code{runApp} call 16 | (these can be any of the following: "port", "launch.browser", "host", "quiet", 17 | "display.mode" and "test.mode"). You can also specify \code{width} and 18 | \code{height} parameters which provide a hint to the embedding environment 19 | about the ideal height/width for the app.} 20 | 21 | \item{enableBookmarking}{Can be one of \code{"url"}, \code{"server"}, or 22 | \code{"disable"}. This is equivalent to calling the 23 | \code{\link[=enableBookmarking]{enableBookmarking()}} function just before calling 24 | \code{shinyApp()}. With the default value (\code{NULL}), the app will 25 | respect the setting from any previous calls to \code{enableBookmarking()}. 26 | See \code{\link[=enableBookmarking]{enableBookmarking()}} for more information.} 27 | 28 | \item{...}{arguments to pass to golem_opts} 29 | } 30 | \description{ 31 | Run the Shiny Application 32 | } 33 | -------------------------------------------------------------------------------- /book.bib: -------------------------------------------------------------------------------- 1 | @book{ericraymond2003, 2 | Author = {Eric S. Raymond}, 3 | title = {The Art of UNIX Programming (The Addison-Wesley Professional Computng Series)}, 4 | description = {The Art of UNIX Programming (The Addison-Wesley Professional Computng Series) (Book, 2003)}, 5 | publisher = {Addison-Wesley}, 6 | year = {2003}, 7 | month = {oct}, 8 | isbn = {0131429019} 9 | } 10 | 11 | @book{stevekrug2014, 12 | Author = {Steve Krug}, 13 | title = {Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition) (Voices That Matter)}, 14 | description = {Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition) (Voices That Matter) (Book, 2014)}, 15 | publisher = {New Riders}, 16 | year = {2014}, 17 | month = {jan}, 18 | isbn = {0321965515} 19 | } 20 | 21 | @book{genekim2016, 22 | Author = {Gene Kim}, 23 | title = {The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations}, 24 | description = {The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations (Book, 2016)}, 25 | publisher = {IT Revolution Press}, 26 | interhash = {2a24773a5d228001d0f18fbad40f7d75}, 27 | intrahash = {f2639d2493a5a3bb5664d7b95f7de9cb}, 28 | year = {2016}, 29 | month = {oct}, 30 | isbn = {1942788002}, 31 | url = {https://www.xarg.org/ref/a/1942788002/} 32 | } 33 | 34 | @book{genekim2019, 35 | Author = {Gene Kim}, 36 | title = {The unicorn project: a novel about developers, digital disruption, and thriving in the age of data}, 37 | description = {The unicorn project: a novel about developers, digital disruption, and thriving in the age of data (Book, 2019)}, 38 | publisher = {IT Revolution Press}, 39 | year = {2019}, 40 | month = {dec}, 41 | isbn = {1942788762}, 42 | url = {https://itrevolution.com/the-unicorn-project/} 43 | } 44 | 45 | @misc{rockerverse, 46 | Author = {Daniel Nüst and Dirk Eddelbuettel and Dom Bennett and Robrecht Cannoodt and Dav Clark and Gergely Daroczi and Mark Edmondson and Colin Fay and Ellis Hughes and Lars Kjeldgaard and Sean Lopp and Ben Marwick and Heather Nolis and Jacqueline Nolis and Hong Ooi and Karthik Ram and Noam Ross and Lori Shepherd and Péter Sólymos and Tyson Lee Swetnam and Nitesh Turaga and Charlotte Van Petegem and Jason Williams and Craig Willis and Nan Xiao}, 47 | Title = {The Rockerverse: Packages and Applications for Containerization with R}, 48 | Year = {2020}, 49 | Eprint = {arXiv:2001.10641}, 50 | } 51 | 52 | @book{hadleywickham2017, 53 | Author = {Hadley Wickham and Garrett Grolemund}, 54 | title = {R for Data Science: Import, Tidy, Transform, Visualize, and Model Data}, 55 | description = {R for Data Science: Import, Tidy, Transform, Visualize, and Model Data (Book, 2017)}, 56 | publisher = {O'Reilly Media}, 57 | interhash = {9efb24f0eb2290a0e399b5a26ac16d1d}, 58 | intrahash = {9ae7940e660ee0380a9fd2f267e12014}, 59 | year = {2017}, 60 | month = {jan}, 61 | isbn = {1491910399}, 62 | url = {https://www.xarg.org/ref/a/1491910399/} 63 | } 64 | 65 | @article{RJ-2017-065, 66 | author = {Carl Boettiger and Dirk Eddelbuettel}, 67 | title = {{An Introduction to Rocker: Docker Containers for R}}, 68 | year = {2017}, 69 | journal = {{The R Journal}}, 70 | doi = {10.32614/RJ-2017-065}, 71 | url = {https://doi.org/10.32614/RJ-2017-065}, 72 | pages = {527--536}, 73 | volume = {9}, 74 | number = {2} 75 | } 76 | 77 | @book{hadleywickham2019, 78 | Author = {Hadley Wickham}, 79 | title = {Advanced R, Second Edition}, 80 | description = {Advanced R, Second Edition}, 81 | publisher = {Chapman and Hall/CRC}, 82 | year = {2019}, 83 | month = {jun}, 84 | isbn = {0815384572} 85 | } 86 | 87 | @book{colingillespie2017, 88 | Author = {Colin Gillespie and Robin Lovelace}, 89 | title = {Efficient R programming}, 90 | publisher = {O'Reilly Media, Inc, USA}, 91 | year = {2017}, 92 | month = {apr}, 93 | isbn = {0131429019} 94 | } 95 | 96 | @book{brianchristian2016, 97 | Author = {Brian Christian and Tom Griffiths}, 98 | title = {Algorithms to Live by : The Computer Science of Human Decisions}, 99 | publisher = {Henry Holt}, 100 | year = {2016}, 101 | month = {apr}, 102 | isbn = {1627790365} 103 | } 104 | 105 | @book{rpkg, 106 | Author = {Hadley Wickham and Jennifer Bryan}, 107 | title = {R Packages}, 108 | year = {2020}, 109 | url = {https://r-pkgs.org/} 110 | } 111 | 112 | @book{lemaire2020, 113 | Author = {Maude Lemaire}, 114 | title = {Refactoring At Scale}, 115 | publisher = {Henry Holt}, 116 | year = {2020}, 117 | month = {dec}, 118 | isbn = {9781492075516}, 119 | url = {https://learning.oreilly.com/library/view/refactoring-at-scale/9781492075523/} 120 | } 121 | 122 | @inproceedings{Sakamoto2015, 123 | doi = {10.1109/dinwc.2015.7054230}, 124 | url = {https://doi.org/10.1109/dinwc.2015.7054230}, 125 | year = {2015}, 126 | month = feb, 127 | publisher = {{IEEE}}, 128 | author = {Yasutaka Sakamoto and Shinsuke Matsumoto and Seiki Tokunaga and Sachio Saiki and Masahide Nakamura}, 129 | title = {Empirical study on effects of script minification and {HTTP} compression for traffic reduction}, 130 | booktitle = {2015 Third International Conference on Digital Information, Networking, and Wireless Communications ({DINWC})} 131 | } 132 | 133 | @article{Chapman2008, 134 | doi = {10.1177/154193120805201602}, 135 | url = {https://doi.org/10.1177/154193120805201602}, 136 | year = {2008}, 137 | month = sep, 138 | publisher = {{SAGE} Publications}, 139 | volume = {52}, 140 | number = {16}, 141 | pages = {1107--1111}, 142 | author = {Christopher N. Chapman and Edwin Love and Russell P. Milham and Paul ElRif and James L. Alford}, 143 | title = {Quantitative Evaluation of Personas as Information}, 144 | journal = {Proceedings of the Human Factors and Ergonomics Society Annual Meeting} 145 | } 146 | 147 | @incollection{Billestrup2014, 148 | doi = {10.1007/978-3-662-44811-3_16}, 149 | url = {https://doi.org/10.1007/978-3-662-44811-3_16}, 150 | year = {2014}, 151 | publisher = {Springer Berlin Heidelberg}, 152 | pages = {251--258}, 153 | author = {Jane Billestrup and Jan Stage and Anders Bruun and Lene Nielsen and Kira S. Nielsen}, 154 | title = {Creating and Using Personas in Software Development: Experiences from Practice}, 155 | booktitle = {Human-Centered Software Engineering} 156 | } 157 | 158 | @article{Simon1956, 159 | doi = {10.1037/h0042769}, 160 | url = {https://doi.org/10.1037/h0042769}, 161 | year = {1956}, 162 | publisher = {American Psychological Association ({APA})}, 163 | volume = {63}, 164 | number = {2}, 165 | pages = {129--138}, 166 | author = {H. A. Simon}, 167 | title = {Rational choice and the structure of the environment.}, 168 | journal = {Psychological Review} 169 | } -------------------------------------------------------------------------------- /building-big-shiny-apps.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: pdfLaTeX 14 | 15 | BuildType: Website 16 | 17 | MarkdownWrap: Sentence 18 | -------------------------------------------------------------------------------- /cache/2db76ac4c62c46a6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/2db76ac4c62c46a6 -------------------------------------------------------------------------------- /cache/3689a82603512976: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/3689a82603512976 -------------------------------------------------------------------------------- /cache/75d4bb9816f58bf7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/75d4bb9816f58bf7 -------------------------------------------------------------------------------- /cache/7dfa5dc09e254c66: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/7dfa5dc09e254c66 -------------------------------------------------------------------------------- /cache/918aa8c80e393496: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/918aa8c80e393496 -------------------------------------------------------------------------------- /cache/ac65d68512196d61: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/ac65d68512196d61 -------------------------------------------------------------------------------- /cache/afbd289c0467bb6b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/afbd289c0467bb6b -------------------------------------------------------------------------------- /cache/ce728ab7ca59587d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/ce728ab7ca59587d -------------------------------------------------------------------------------- /cache/d05414be6e8dc65d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/d05414be6e8dc65d -------------------------------------------------------------------------------- /cache/edb80f34dd3879c9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/cache/edb80f34dd3879c9 -------------------------------------------------------------------------------- /chapter-abstracts.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/chapter-abstracts.pdf -------------------------------------------------------------------------------- /chunkall.R: -------------------------------------------------------------------------------- 1 | lapply( 2 | list.files(path = ".", pattern = ".Rmd$"), 3 | function(x){ 4 | namer::unname_all_chunks(x) 5 | namer::name_chunks(x) 6 | } 7 | ) -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | p.caption { 2 | color: #777; 3 | margin-top: 10px; 4 | } 5 | p code { 6 | white-space: inherit; 7 | } 8 | pre { 9 | word-break: normal; 10 | word-wrap: normal; 11 | } 12 | pre code { 13 | white-space: inherit; 14 | } 15 | p.flushright { 16 | text-align: right; 17 | } 18 | blockquote > p:last-child { 19 | text-align: right; 20 | } 21 | blockquote > p:first-child { 22 | text-align: inherit; 23 | } 24 | -------------------------------------------------------------------------------- /css/style_gitbook.css: -------------------------------------------------------------------------------- 1 | /* Special text */ 2 | .advert { 3 | color: #FF8929; 4 | font-style: italic; 5 | } 6 | .codecommand, .codebox code { 7 | background-color: #E0E0E0; 8 | font-family: monospace; 9 | } 10 | .Large { 11 | font-size: 2rem; 12 | } 13 | .exercise, .exo { 14 | color: #00BA10; 15 | font-size: 1.1rem; 16 | } 17 | .math.inline { 18 | background-color: aliceblue; 19 | } 20 | 21 | /* Special backgrounds*/ 22 | .blueShaded { 23 | background-color: #D6E8F5; 24 | font-family: monospace; 25 | } 26 | .blueShaded pre:not([class]) { 27 | background-color: #D6E8F5; 28 | } 29 | .redbox { 30 | background-color: #FF7F7F; 31 | padding: 2px 5px; 32 | } 33 | 34 | /* Document formatting*/ 35 | body { 36 | font-family: "Noto Sans", sans-serif; 37 | /* font-size: 1.5rem; */ 38 | text-align: justify; 39 | } 40 | 41 | h3 { 42 | font-style: italic; 43 | } 44 | 45 | /* Figures */ 46 | .figure { 47 | margin-bottom: 1.5em; 48 | } 49 | 50 | /* Custom specific to my bookdown template */ 51 | .body-inner { 52 | /* background-color: #1e73be;*/ 53 | background-color: #f6f6f6; 54 | } 55 | .book .book-body .page-wrapper .page-inner { 56 | max-width: 1025px; 57 | } 58 | .book .book-body .page-wrapper .page-inner section { 59 | padding: 5px 3em; 60 | } 61 | .book .book-body .page-wrapper .page-inner section.normal p.caption { 62 | margin: 0 10%; 63 | text-align: center; 64 | font-size: 1.4rem; 65 | } 66 | 67 | .page-inner { 68 | max-width: 1025px; 69 | margin-left: auto; 70 | margin-right: auto; 71 | background-color: white; 72 | /* padding: 1em 30px 15px; */ 73 | } 74 | 75 | .book .book-body .navigation { 76 | font-size: 70px; 77 | color: #ccc; 78 | text-align: center; 79 | } 80 | 81 | #content a, .book .book-body .page-wrapper .page-inner section.normal a { 82 | color: #DE633C; 83 | } 84 | 85 | 86 | /* thinkr.css 87 | .container-fluid.main-container { 88 | margin-top: 80px; 89 | } 90 | h1.title { 91 | margin-top: 80px; 92 | } 93 | .container-fluid.main-container h1.title { 94 | margin-top: 0px; 95 | } 96 | */ 97 | .logos { 98 | position: fixed; 99 | top: 50px; 100 | width: 100px; 101 | left: 330px; 102 | z-index: 1; 103 | } 104 | .logos img { 105 | margin: 5px auto; /* Modified for gitbook */ 106 | display: block; 107 | height: 60px; 108 | } 109 | a { 110 | color: #15b7d6; 111 | } 112 | h1 { 113 | color: #DE633C; 114 | } 115 | h2 { 116 | color: #15b7d6; 117 | } 118 | .sidebar h2 { 119 | color: black; 120 | } 121 | 122 | /* Footer with logo */ 123 | footer { 124 | text-align: center; 125 | } 126 | footer img { 127 | max-height: 40px; 128 | } 129 | -------------------------------------------------------------------------------- /css/thinkr.css: -------------------------------------------------------------------------------- 1 | .container-fluid.main-container { 2 | margin-top: 80px; 3 | } 4 | h1.title { 5 | margin-top: 80px; 6 | } 7 | .container-fluid.main-container h1.title { 8 | margin-top: 0px; 9 | } 10 | .logos { 11 | position: fixed; 12 | top: 0px; 13 | width: 100%; 14 | left: 0; 15 | background: white; 16 | border-bottom: solid 1px grey; 17 | } 18 | .logos img { 19 | margin: 5px; 20 | display: block; 21 | height: 60px; 22 | } 23 | a { 24 | color: #15b7d6; 25 | } 26 | h1 { 27 | color: #DE633C; 28 | } 29 | h2 { 30 | color: #15b7d6; 31 | } 32 | 33 | -------------------------------------------------------------------------------- /data-raw/.Rprofile: -------------------------------------------------------------------------------- 1 | source("renv/activate.R") 2 | -------------------------------------------------------------------------------- /data-raw/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM rocker/r-ver:3.6.1 2 | RUN apt-get update && apt-get install -y git-core libcurl4-openssl-dev libssh2-1-dev libssl-dev libxml2-dev make zlib1g-dev && rm -rf /var/lib/apt/lists/* 3 | RUN echo "options(repos = c(CRAN = 'https://cran.rstudio.com/'), download.file.method = 'libcurl')" >> /usr/local/lib/R/etc/Rprofile.site 4 | RUN R -e 'install.packages("remotes")' 5 | RUN R -e 'remotes::install_github("r-lib/remotes", ref = "97bbf81")' 6 | RUN Rscript -e 'remotes::install_version("config",upgrade="never", version = "0.3")' 7 | RUN Rscript -e 'remotes::install_version("shiny",upgrade="never", version = "1.4.0")' 8 | RUN Rscript -e 'remotes::install_github("thinkr-open/golem@bf9d0411e337d80d878ed62168360f920668acc2")' 9 | RUN Rscript -e 'remotes::install_github("rstudio/htmltools@e07546ccb476a3f1c5cbe6178424635a886f8008")' 10 | RUN Rscript -e 'remotes::install_github("rstudio/rstudioapi@66e81da53485b036794f2e737b26ed3d53557013")' 11 | RUN Rscript -e 'remotes::install_github("r-lib/fastmap@61c609993a40b8101b141b2c940bf8ccbaef4dfa")' 12 | RUN mkdir /build_zone 13 | ADD . /build_zone 14 | WORKDIR /build_zone 15 | RUN R -e 'remotes::install_local(upgrade="never")' 16 | EXPOSE 80 17 | CMD R -e "options('shiny.port'=80,shiny.host='0.0.0.0');golex::run_app()" 18 | -------------------------------------------------------------------------------- /data-raw/data-raw.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: pdfLaTeX 14 | -------------------------------------------------------------------------------- /data-raw/f_golem.RDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/data-raw/f_golem.RDS -------------------------------------------------------------------------------- /data-raw/f_shiny.RDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/data-raw/f_shiny.RDS -------------------------------------------------------------------------------- /data-raw/renv.lock: -------------------------------------------------------------------------------- 1 | { 2 | "R": { 3 | "Version": "3.6.1", 4 | "Repositories": [ 5 | { 6 | "Name": "CRAN", 7 | "URL": "https://cran.rstudio.com" 8 | } 9 | ] 10 | }, 11 | "Packages": { 12 | "attempt": { 13 | "Package": "attempt", 14 | "Version": "0.3.0", 15 | "Source": "Repository", 16 | "Repository": "CRAN", 17 | "Hash": "9aaae25e273927dba4e279caac478baa" 18 | }, 19 | "renv": { 20 | "Package": "renv", 21 | "Version": "0.9.3", 22 | "Source": "Repository", 23 | "Repository": "CRAN", 24 | "Hash": "c1a367437d8a8a44bec4b9d4974cb20c" 25 | }, 26 | "rlang": { 27 | "Package": "rlang", 28 | "Version": "0.4.5", 29 | "Source": "Repository", 30 | "Repository": "CRAN", 31 | "Hash": "1cc1b38e4db40ea6eb19ab8080bbed3b" 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /data-raw/renv/.gitignore: -------------------------------------------------------------------------------- 1 | library/ 2 | python/ 3 | staging/ 4 | -------------------------------------------------------------------------------- /data-raw/renv/activate.R: -------------------------------------------------------------------------------- 1 | 2 | local({ 3 | 4 | # the requested version of renv 5 | version <- "0.9.3" 6 | 7 | # avoid recursion 8 | if (!is.na(Sys.getenv("RENV_R_INITIALIZING", unset = NA))) 9 | return(invisible(TRUE)) 10 | 11 | # signal that we're loading renv during R startup 12 | Sys.setenv("RENV_R_INITIALIZING" = "true") 13 | on.exit(Sys.unsetenv("RENV_R_INITIALIZING"), add = TRUE) 14 | 15 | # signal that we've consented to use renv 16 | options(renv.consent = TRUE) 17 | 18 | # load the 'utils' package eagerly -- this ensures that renv shims, which 19 | # mask 'utils' packages, will come first on the search path 20 | library(utils, lib.loc = .Library) 21 | 22 | # check to see if renv has already been loaded 23 | if ("renv" %in% loadedNamespaces()) { 24 | 25 | # if renv has already been loaded, and it's the requested version of renv, 26 | # nothing to do 27 | spec <- .getNamespaceInfo(.getNamespace("renv"), "spec") 28 | if (identical(spec[["version"]], version)) 29 | return(invisible(TRUE)) 30 | 31 | # otherwise, unload and attempt to load the correct version of renv 32 | unloadNamespace("renv") 33 | 34 | } 35 | 36 | # construct path to renv in library 37 | libpath <- local({ 38 | 39 | root <- Sys.getenv("RENV_PATHS_LIBRARY", unset = "renv/library") 40 | prefix <- paste("R", getRversion()[1, 1:2], sep = "-") 41 | 42 | # include SVN revision for development versions of R 43 | # (to avoid sharing platform-specific artefacts with released versions of R) 44 | devel <- 45 | identical(R.version[["status"]], "Under development (unstable)") || 46 | identical(R.version[["nickname"]], "Unsuffered Consequences") 47 | 48 | if (devel) 49 | prefix <- paste(prefix, R.version[["svn rev"]], sep = "-r") 50 | 51 | file.path(root, prefix, R.version$platform) 52 | 53 | }) 54 | 55 | # try to load renv from the project library 56 | if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { 57 | 58 | # warn if the version of renv loaded does not match 59 | loadedversion <- utils::packageDescription("renv", fields = "Version") 60 | if (version != loadedversion) { 61 | 62 | # assume four-component versions are from GitHub; three-component 63 | # versions are from CRAN 64 | components <- strsplit(loadedversion, "[.-]")[[1]] 65 | remote <- if (length(components) == 4L) 66 | paste("rstudio/renv", loadedversion, sep = "@") 67 | else 68 | paste("renv", loadedversion, sep = "@") 69 | 70 | fmt <- paste( 71 | "renv %1$s was loaded from project library, but renv %2$s is recorded in lockfile.", 72 | "Use `renv::record(\"%3$s\")` to record this version in the lockfile.", 73 | "Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.", 74 | sep = "\n" 75 | ) 76 | 77 | msg <- sprintf(fmt, loadedversion, version, remote) 78 | warning(msg, call. = FALSE) 79 | 80 | } 81 | 82 | # load the project 83 | return(renv::load()) 84 | 85 | } 86 | 87 | # failed to find renv locally; we'll try to install from GitHub. 88 | # first, set up download options as appropriate (try to use GITHUB_PAT) 89 | install_renv <- function() { 90 | 91 | message("Failed to find installation of renv -- attempting to bootstrap...") 92 | 93 | # ensure .Rprofile doesn't get executed 94 | rpu <- Sys.getenv("R_PROFILE_USER", unset = NA) 95 | Sys.setenv(R_PROFILE_USER = "") 96 | on.exit({ 97 | if (is.na(rpu)) 98 | Sys.unsetenv("R_PROFILE_USER") 99 | else 100 | Sys.setenv(R_PROFILE_USER = rpu) 101 | }, add = TRUE) 102 | 103 | # prepare download options 104 | pat <- Sys.getenv("GITHUB_PAT") 105 | if (nzchar(Sys.which("curl")) && nzchar(pat)) { 106 | fmt <- "--location --fail --header \"Authorization: token %s\"" 107 | extra <- sprintf(fmt, pat) 108 | saved <- options("download.file.method", "download.file.extra") 109 | options(download.file.method = "curl", download.file.extra = extra) 110 | on.exit(do.call(base::options, saved), add = TRUE) 111 | } else if (nzchar(Sys.which("wget")) && nzchar(pat)) { 112 | fmt <- "--header=\"Authorization: token %s\"" 113 | extra <- sprintf(fmt, pat) 114 | saved <- options("download.file.method", "download.file.extra") 115 | options(download.file.method = "wget", download.file.extra = extra) 116 | on.exit(do.call(base::options, saved), add = TRUE) 117 | } 118 | 119 | # fix up repos 120 | repos <- getOption("repos") 121 | on.exit(options(repos = repos), add = TRUE) 122 | repos[repos == "@CRAN@"] <- "https://cloud.r-project.org" 123 | options(repos = repos) 124 | 125 | # check for renv on CRAN matching this version 126 | db <- as.data.frame(available.packages(), stringsAsFactors = FALSE) 127 | if ("renv" %in% rownames(db)) { 128 | entry <- db["renv", ] 129 | if (identical(entry$Version, version)) { 130 | message("* Installing renv ", version, " ... ", appendLF = FALSE) 131 | dir.create(libpath, showWarnings = FALSE, recursive = TRUE) 132 | utils::install.packages("renv", lib = libpath, quiet = TRUE) 133 | message("Done!") 134 | return(TRUE) 135 | } 136 | } 137 | 138 | # try to download renv 139 | message("* Downloading renv ", version, " ... ", appendLF = FALSE) 140 | prefix <- "https://api.github.com" 141 | url <- file.path(prefix, "repos/rstudio/renv/tarball", version) 142 | destfile <- tempfile("renv-", fileext = ".tar.gz") 143 | on.exit(unlink(destfile), add = TRUE) 144 | utils::download.file(url, destfile = destfile, mode = "wb", quiet = TRUE) 145 | message("Done!") 146 | 147 | # attempt to install it into project library 148 | message("* Installing renv ", version, " ... ", appendLF = FALSE) 149 | dir.create(libpath, showWarnings = FALSE, recursive = TRUE) 150 | 151 | # invoke using system2 so we can capture and report output 152 | bin <- R.home("bin") 153 | exe <- if (Sys.info()[["sysname"]] == "Windows") "R.exe" else "R" 154 | r <- file.path(bin, exe) 155 | args <- c("--vanilla", "CMD", "INSTALL", "-l", shQuote(libpath), shQuote(destfile)) 156 | output <- system2(r, args, stdout = TRUE, stderr = TRUE) 157 | message("Done!") 158 | 159 | # check for successful install 160 | status <- attr(output, "status") 161 | if (is.numeric(status) && !identical(status, 0L)) { 162 | text <- c("Error installing renv", "=====================", output) 163 | writeLines(text, con = stderr()) 164 | } 165 | 166 | 167 | } 168 | 169 | try(install_renv()) 170 | 171 | # try again to load 172 | if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { 173 | message("Successfully installed and loaded renv ", version, ".") 174 | return(renv::load()) 175 | } 176 | 177 | # failed to download or load renv; warn the user 178 | msg <- c( 179 | "Failed to find an renv installation: the project will not be loaded.", 180 | "Use `renv::activate()` to re-initialize the project." 181 | ) 182 | 183 | warning(paste(msg, collapse = "\n"), call. = FALSE) 184 | 185 | }) 186 | -------------------------------------------------------------------------------- /data-raw/renv/settings.dcf: -------------------------------------------------------------------------------- 1 | external.libraries: 2 | ignored.packages: 3 | package.dependency.fields: Imports, Depends, LinkingTo 4 | snapshot.type: packrat 5 | use.cache: TRUE 6 | vcs.ignore.library: TRUE 7 | -------------------------------------------------------------------------------- /data-raw/renvinit/.Rprofile: -------------------------------------------------------------------------------- 1 | source("renv/activate.R") 2 | -------------------------------------------------------------------------------- /data-raw/renvinit/renv.lock: -------------------------------------------------------------------------------- 1 | { 2 | "R": { 3 | "Version": "3.6.1", 4 | "Repositories": [ 5 | { 6 | "Name": "CRAN", 7 | "URL": "https://cran.rstudio.com" 8 | } 9 | ] 10 | }, 11 | "Packages": { 12 | "renv": { 13 | "Package": "renv", 14 | "Version": "0.9.3", 15 | "Source": "Repository", 16 | "Repository": "CRAN", 17 | "Hash": "c1a367437d8a8a44bec4b9d4974cb20c" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /data-raw/renvinit/renv/.gitignore: -------------------------------------------------------------------------------- 1 | library/ 2 | python/ 3 | staging/ 4 | -------------------------------------------------------------------------------- /data-raw/renvinit/renv/activate.R: -------------------------------------------------------------------------------- 1 | 2 | local({ 3 | 4 | # the requested version of renv 5 | version <- "0.9.3" 6 | 7 | # avoid recursion 8 | if (!is.na(Sys.getenv("RENV_R_INITIALIZING", unset = NA))) 9 | return(invisible(TRUE)) 10 | 11 | # signal that we're loading renv during R startup 12 | Sys.setenv("RENV_R_INITIALIZING" = "true") 13 | on.exit(Sys.unsetenv("RENV_R_INITIALIZING"), add = TRUE) 14 | 15 | # signal that we've consented to use renv 16 | options(renv.consent = TRUE) 17 | 18 | # load the 'utils' package eagerly -- this ensures that renv shims, which 19 | # mask 'utils' packages, will come first on the search path 20 | library(utils, lib.loc = .Library) 21 | 22 | # check to see if renv has already been loaded 23 | if ("renv" %in% loadedNamespaces()) { 24 | 25 | # if renv has already been loaded, and it's the requested version of renv, 26 | # nothing to do 27 | spec <- .getNamespaceInfo(.getNamespace("renv"), "spec") 28 | if (identical(spec[["version"]], version)) 29 | return(invisible(TRUE)) 30 | 31 | # otherwise, unload and attempt to load the correct version of renv 32 | unloadNamespace("renv") 33 | 34 | } 35 | 36 | # construct path to renv in library 37 | libpath <- local({ 38 | 39 | root <- Sys.getenv("RENV_PATHS_LIBRARY", unset = "renv/library") 40 | prefix <- paste("R", getRversion()[1, 1:2], sep = "-") 41 | 42 | # include SVN revision for development versions of R 43 | # (to avoid sharing platform-specific artefacts with released versions of R) 44 | devel <- 45 | identical(R.version[["status"]], "Under development (unstable)") || 46 | identical(R.version[["nickname"]], "Unsuffered Consequences") 47 | 48 | if (devel) 49 | prefix <- paste(prefix, R.version[["svn rev"]], sep = "-r") 50 | 51 | file.path(root, prefix, R.version$platform) 52 | 53 | }) 54 | 55 | # try to load renv from the project library 56 | if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { 57 | 58 | # warn if the version of renv loaded does not match 59 | loadedversion <- utils::packageDescription("renv", fields = "Version") 60 | if (version != loadedversion) { 61 | 62 | # assume four-component versions are from GitHub; three-component 63 | # versions are from CRAN 64 | components <- strsplit(loadedversion, "[.-]")[[1]] 65 | remote <- if (length(components) == 4L) 66 | paste("rstudio/renv", loadedversion, sep = "@") 67 | else 68 | paste("renv", loadedversion, sep = "@") 69 | 70 | fmt <- paste( 71 | "renv %1$s was loaded from project library, but renv %2$s is recorded in lockfile.", 72 | "Use `renv::record(\"%3$s\")` to record this version in the lockfile.", 73 | "Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.", 74 | sep = "\n" 75 | ) 76 | 77 | msg <- sprintf(fmt, loadedversion, version, remote) 78 | warning(msg, call. = FALSE) 79 | 80 | } 81 | 82 | # load the project 83 | return(renv::load()) 84 | 85 | } 86 | 87 | # failed to find renv locally; we'll try to install from GitHub. 88 | # first, set up download options as appropriate (try to use GITHUB_PAT) 89 | install_renv <- function() { 90 | 91 | message("Failed to find installation of renv -- attempting to bootstrap...") 92 | 93 | # ensure .Rprofile doesn't get executed 94 | rpu <- Sys.getenv("R_PROFILE_USER", unset = NA) 95 | Sys.setenv(R_PROFILE_USER = "") 96 | on.exit({ 97 | if (is.na(rpu)) 98 | Sys.unsetenv("R_PROFILE_USER") 99 | else 100 | Sys.setenv(R_PROFILE_USER = rpu) 101 | }, add = TRUE) 102 | 103 | # prepare download options 104 | pat <- Sys.getenv("GITHUB_PAT") 105 | if (nzchar(Sys.which("curl")) && nzchar(pat)) { 106 | fmt <- "--location --fail --header \"Authorization: token %s\"" 107 | extra <- sprintf(fmt, pat) 108 | saved <- options("download.file.method", "download.file.extra") 109 | options(download.file.method = "curl", download.file.extra = extra) 110 | on.exit(do.call(base::options, saved), add = TRUE) 111 | } else if (nzchar(Sys.which("wget")) && nzchar(pat)) { 112 | fmt <- "--header=\"Authorization: token %s\"" 113 | extra <- sprintf(fmt, pat) 114 | saved <- options("download.file.method", "download.file.extra") 115 | options(download.file.method = "wget", download.file.extra = extra) 116 | on.exit(do.call(base::options, saved), add = TRUE) 117 | } 118 | 119 | # fix up repos 120 | repos <- getOption("repos") 121 | on.exit(options(repos = repos), add = TRUE) 122 | repos[repos == "@CRAN@"] <- "https://cloud.r-project.org" 123 | options(repos = repos) 124 | 125 | # check for renv on CRAN matching this version 126 | db <- as.data.frame(available.packages(), stringsAsFactors = FALSE) 127 | if ("renv" %in% rownames(db)) { 128 | entry <- db["renv", ] 129 | if (identical(entry$Version, version)) { 130 | message("* Installing renv ", version, " ... ", appendLF = FALSE) 131 | dir.create(libpath, showWarnings = FALSE, recursive = TRUE) 132 | utils::install.packages("renv", lib = libpath, quiet = TRUE) 133 | message("Done!") 134 | return(TRUE) 135 | } 136 | } 137 | 138 | # try to download renv 139 | message("* Downloading renv ", version, " ... ", appendLF = FALSE) 140 | prefix <- "https://api.github.com" 141 | url <- file.path(prefix, "repos/rstudio/renv/tarball", version) 142 | destfile <- tempfile("renv-", fileext = ".tar.gz") 143 | on.exit(unlink(destfile), add = TRUE) 144 | utils::download.file(url, destfile = destfile, mode = "wb", quiet = TRUE) 145 | message("Done!") 146 | 147 | # attempt to install it into project library 148 | message("* Installing renv ", version, " ... ", appendLF = FALSE) 149 | dir.create(libpath, showWarnings = FALSE, recursive = TRUE) 150 | 151 | # invoke using system2 so we can capture and report output 152 | bin <- R.home("bin") 153 | exe <- if (Sys.info()[["sysname"]] == "Windows") "R.exe" else "R" 154 | r <- file.path(bin, exe) 155 | args <- c("--vanilla", "CMD", "INSTALL", "-l", shQuote(libpath), shQuote(destfile)) 156 | output <- system2(r, args, stdout = TRUE, stderr = TRUE) 157 | message("Done!") 158 | 159 | # check for successful install 160 | status <- attr(output, "status") 161 | if (is.numeric(status) && !identical(status, 0L)) { 162 | text <- c("Error installing renv", "=====================", output) 163 | writeLines(text, con = stderr()) 164 | } 165 | 166 | 167 | } 168 | 169 | try(install_renv()) 170 | 171 | # try again to load 172 | if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { 173 | message("Successfully installed and loaded renv ", version, ".") 174 | return(renv::load()) 175 | } 176 | 177 | # failed to download or load renv; warn the user 178 | msg <- c( 179 | "Failed to find an renv installation: the project will not be loaded.", 180 | "Use `renv::activate()` to re-initialize the project." 181 | ) 182 | 183 | warning(paste(msg, collapse = "\n"), call. = FALSE) 184 | 185 | }) 186 | -------------------------------------------------------------------------------- /data-raw/renvinit/renv/settings.dcf: -------------------------------------------------------------------------------- 1 | external.libraries: 2 | ignored.packages: 3 | package.dependency.fields: Imports, Depends, LinkingTo 4 | snapshot.type: packrat 5 | use.cache: TRUE 6 | vcs.ignore.library: TRUE 7 | -------------------------------------------------------------------------------- /data-raw/renvinit/renvinit.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: pdfLaTeX 14 | -------------------------------------------------------------------------------- /data-raw/script.R: -------------------------------------------------------------------------------- 1 | library(attempt) 2 | -------------------------------------------------------------------------------- /data-raw/tests/mytest-expected/001.json: -------------------------------------------------------------------------------- 1 | { 2 | "input": { 3 | 4 | }, 5 | "output": { 6 | 7 | }, 8 | "export": { 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /data-raw/tests/mytest-expected/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/data-raw/tests/mytest-expected/001.png -------------------------------------------------------------------------------- /data-raw/tests/mytest.R: -------------------------------------------------------------------------------- 1 | app <- ShinyDriver$new("../") 2 | app$snapshotInit("mytest") 3 | 4 | app$snapshot() 5 | -------------------------------------------------------------------------------- /dataset/code_coverage_golem.RDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/dataset/code_coverage_golem.RDS -------------------------------------------------------------------------------- /dataset/cyclo_golex.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/dataset/cyclo_golex.rds -------------------------------------------------------------------------------- /dataset/cyclo_shiny.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/dataset/cyclo_shiny.rds -------------------------------------------------------------------------------- /dataset/cyclo_tidytuesday.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/dataset/cyclo_tidytuesday.rds -------------------------------------------------------------------------------- /dataset/frame_golem.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/dataset/frame_golem.rds -------------------------------------------------------------------------------- /dataset/frame_shiny.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/dataset/frame_shiny.rds -------------------------------------------------------------------------------- /dataset/results.RDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/dataset/results.RDS -------------------------------------------------------------------------------- /deploy.Rmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/deploy.Rmd -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -o errexit -o nounset 3 | BASE_REPO=$PWD 4 | 5 | update_website() { 6 | cd ..; mkdir gh-pages; cd gh-pages 7 | git init 8 | git config user.name "Sébastien Rochette" 9 | git config user.email "sebastienrochettefr@gmail.com" 10 | git config --global push.default simple 11 | git remote add upstream "https://$GH_TOKEN@github.com/ThinkR-open/building-shiny-apps-workflow.git" 12 | git fetch upstream 13 | git checkout gh-pages 14 | 15 | cp -fvr $BASE_REPO/docs/* . 16 | git add * 17 | git commit -a -m "Updating book from $BASE_REPO (${TRAVIS_BUILD_NUMBER})" 18 | git status 19 | git push 20 | git status 21 | cd .. 22 | } 23 | 24 | update_website -------------------------------------------------------------------------------- /dev_history.R: -------------------------------------------------------------------------------- 1 | usethis::use_build_ignore("dev_history.R") 2 | usethis::use_git_ignore("building-shiny-apps-workflow.Rmd") 3 | usethis::use_git_ignore("building-shiny-apps-workflow_*") 4 | usethis::use_git_ignore("building-shiny-apps-workflow.*.md") 5 | usethis::use_git_ignore("golex/") 6 | 7 | usethis::use_mit_license("ThinkR") 8 | 9 | # bookdown Imports are in Rmds 10 | # remotes::install_github("ThinkR-open/attachment") 11 | imports <- unique(c( 12 | "bookdown", 13 | # Calls in `r code` 14 | "devtools", "knitr", "lubridate", 15 | # Do not know why it is needed... 16 | "future", 17 | attachment::att_from_rmds(".", recursive = FALSE)) 18 | ) 19 | attachment::att_to_desc_from_is(path.d = "DESCRIPTION", imports = imports) 20 | 21 | # Name chunks 22 | namer::name_dir_chunks(".") 23 | 24 | # Install dependencies 25 | # attachment::install_if_missing( 26 | # attachment::att_from_description() 27 | # ) 28 | # ou bien 29 | remotes::install_github("ThinkR-open/golem") 30 | remotes::install_local(force = TRUE) 31 | 32 | # Test 33 | pid <- rstudioapi::terminalExecute( 34 | 'R -e \'bookdown::render_book("index.Rmd", output_format = "bookdown::gitbook", clean = FALSE, output_dir = "docs/wip") \'' 35 | ) 36 | rstudioapi::terminalKill(pid) 37 | 38 | 39 | bookdown::render_book("index.Rmd", output_format = "bookdown::gitbook", clean = FALSE, output_dir = "docs/wip") 40 | 41 | -------------------------------------------------------------------------------- /ga.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | -------------------------------------------------------------------------------- /gitbook-footer-thinkr.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | ThinkR Website 4 | 5 | 15 |
16 | -------------------------------------------------------------------------------- /golembuild.R: -------------------------------------------------------------------------------- 1 | testthat::with_mocked_bindings( 2 | .package = "usethis", 3 | allow_nested_project = function(){ 4 | return(TRUE) 5 | }, 6 | code = { 7 | library(magrittr) 8 | unlink("golex", TRUE, TRUE) 9 | golem::create_golem("golex", open = FALSE) 10 | here::set_here("golex") 11 | golem::add_module(name = "my_first_module", here::here("golex"), open = FALSE) 12 | golem::add_js_handler("first_handler", here::here("golex"), open = FALSE) 13 | golem::add_js_file("script", here::here("golex"), open = FALSE) 14 | golem::add_js_handler("script", here::here("golex"), open = FALSE) 15 | golem::add_css_file("custom", here::here("golex"), open = FALSE) 16 | } 17 | ) -------------------------------------------------------------------------------- /golemdestroy.R: -------------------------------------------------------------------------------- 1 | unlink("golex", TRUE, TRUE) 2 | -------------------------------------------------------------------------------- /img/GOLEM_CONFIG_ACTIVE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/GOLEM_CONFIG_ACTIVE.png -------------------------------------------------------------------------------- /img/GitFlowHotfixBranch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/GitFlowHotfixBranch.png -------------------------------------------------------------------------------- /img/Git_branches_fork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/Git_branches_fork.png -------------------------------------------------------------------------------- /img/Git_branches_fork.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | Layer 1 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | A 51 | B 52 | C 53 | D 54 | W 55 | X 56 | Y 57 | Z 58 | 59 | -------------------------------------------------------------------------------- /img/R_CONFIG_ACTIVE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/R_CONFIG_ACTIVE.png -------------------------------------------------------------------------------- /img/app_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/app_tree.png -------------------------------------------------------------------------------- /img/blurred-vision.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/blurred-vision.png -------------------------------------------------------------------------------- /img/bottleneck-software.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/bottleneck-software.png -------------------------------------------------------------------------------- /img/bottleneck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/bottleneck.png -------------------------------------------------------------------------------- /img/codecov-tibble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/codecov-tibble.png -------------------------------------------------------------------------------- /img/controlflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/controlflow.png -------------------------------------------------------------------------------- /img/css-red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/css-red.png -------------------------------------------------------------------------------- /img/css-shiny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/css-shiny.png -------------------------------------------------------------------------------- /img/deuto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/deuto.png -------------------------------------------------------------------------------- /img/engineering-shiny.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/engineering-shiny.jpeg -------------------------------------------------------------------------------- /img/excalidraw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/excalidraw.png -------------------------------------------------------------------------------- /img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/favicon.ico -------------------------------------------------------------------------------- /img/geojson.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/geojson.png -------------------------------------------------------------------------------- /img/golemcov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/golemcov.png -------------------------------------------------------------------------------- /img/gremlins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/gremlins.png -------------------------------------------------------------------------------- /img/hexmake-dockerstats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/hexmake-dockerstats.png -------------------------------------------------------------------------------- /img/hexmake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/hexmake.png -------------------------------------------------------------------------------- /img/hexmakeaccessibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/hexmakeaccessibility.png -------------------------------------------------------------------------------- /img/hexmakemap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/hexmakemap.png -------------------------------------------------------------------------------- /img/lhmini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/lhmini.png -------------------------------------------------------------------------------- /img/lhnomini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/lhnomini.png -------------------------------------------------------------------------------- /img/lighthouse-audit-results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/lighthouse-audit-results.png -------------------------------------------------------------------------------- /img/lighthouse-audit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/lighthouse-audit.png -------------------------------------------------------------------------------- /img/logo400_129.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/logo400_129.png -------------------------------------------------------------------------------- /img/minifying.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/minifying.png -------------------------------------------------------------------------------- /img/minifyr-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/minifyr-map.png -------------------------------------------------------------------------------- /img/mvp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/mvp.png -------------------------------------------------------------------------------- /img/no-css-shiny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/no-css-shiny.png -------------------------------------------------------------------------------- /img/plot_whereami.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/plot_whereami.png -------------------------------------------------------------------------------- /img/plotly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/plotly.png -------------------------------------------------------------------------------- /img/profviz_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/profviz_data.png -------------------------------------------------------------------------------- /img/profviz_flame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/profviz_flame.png -------------------------------------------------------------------------------- /img/profviz_out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/profviz_out.png -------------------------------------------------------------------------------- /img/rtask_with_css.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/rtask_with_css.png -------------------------------------------------------------------------------- /img/rtask_without_css.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/rtask_without_css.png -------------------------------------------------------------------------------- /img/rtask_without_css2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/rtask_without_css2.png -------------------------------------------------------------------------------- /img/scanning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/scanning.png -------------------------------------------------------------------------------- /img/shinipsum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/shinipsum.png -------------------------------------------------------------------------------- /img/shinipsumapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/shinipsumapp.png -------------------------------------------------------------------------------- /img/shinyloadtestreport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/shinyloadtestreport.png -------------------------------------------------------------------------------- /img/shinytest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/shinytest.png -------------------------------------------------------------------------------- /img/thinkr-hex-golem2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/thinkr-hex-golem2.png -------------------------------------------------------------------------------- /img/tidytuesdayapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/tidytuesdayapp.png -------------------------------------------------------------------------------- /img/tidytuesdaybutton1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/tidytuesdaybutton1.png -------------------------------------------------------------------------------- /img/tidytuesdaybutton2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/tidytuesdaybutton2.png -------------------------------------------------------------------------------- /img/whereami.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/whereami.png -------------------------------------------------------------------------------- /img/zerocov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThinkR-open/engineering-shiny-book/af31361f753518e276acf5bcea928df6de977755/img/zerocov.png -------------------------------------------------------------------------------- /inst/WORDLIST: -------------------------------------------------------------------------------- 1 | Breizh 2 | gRadual 3 | https 4 | intRoduction 5 | jpmarindiaz 6 | Rennes 7 | Reznik 8 | Rmd 9 | Roten 10 | RStudio 11 | Strandberg 12 | ThinkR's 13 | WIP 14 | -------------------------------------------------------------------------------- /inst/golem-config.yml: -------------------------------------------------------------------------------- 1 | default: 2 | golem_name: this 3 | golem_version: 0.0.0.9000 4 | app_prod: no 5 | MONGODBURL: localhost 6 | production: 7 | app_prod: yes 8 | MONGODBURL: 0.0.0.0 9 | dev: 10 | golem_wd: here::here() 11 | -------------------------------------------------------------------------------- /latex/.gitignore: -------------------------------------------------------------------------------- 1 | mystyles.sty 2 | -------------------------------------------------------------------------------- /latex/after_body.tex: -------------------------------------------------------------------------------- 1 | \backmatter 2 | \printindex 3 | -------------------------------------------------------------------------------- /latex/before_body.tex: -------------------------------------------------------------------------------- 1 | % you may need to leave a few empty pages before the dedication page 2 | 3 | %\cleardoublepage\newpage\thispagestyle{empty}\null 4 | %\cleardoublepage\newpage\thispagestyle{empty}\null 5 | %\cleardoublepage\newpage 6 | \thispagestyle{empty} 7 | 8 | \begin{center} 9 | To our families, 10 | 11 | who still think we fix printers and broken WiFi. 12 | %\includegraphics{images/dedication.pdf} 13 | \end{center} 14 | 15 | 16 | \begin{center} 17 | To Diane, 18 | 19 | thank you for always believing in us. 20 | %\includegraphics{images/dedication.pdf} 21 | \end{center} 22 | 23 | \setlength{\abovedisplayskip}{-5pt} 24 | \setlength{\abovedisplayshortskip}{-5pt} 25 | -------------------------------------------------------------------------------- /latex/preamble.tex: -------------------------------------------------------------------------------- 1 | \usepackage{booktabs} 2 | \usepackage{longtable} 3 | 4 | \usepackage[bf,singlelinecheck=off]{caption} 5 | 6 | \usepackage{framed,color} 7 | \definecolor{shadecolor}{RGB}{248,248,248} 8 | \definecolor{bluethinkr}{HTML}{15b7d6} 9 | \definecolor{orangethinkr}{HTML}{DE633C} 10 | 11 | \renewcommand{\textfraction}{0.05} 12 | \renewcommand{\topfraction}{0.8} 13 | \renewcommand{\bottomfraction}{0.8} 14 | \renewcommand{\floatpagefraction}{0.75} 15 | 16 | \renewenvironment{quote}{\begin{VF}}{\end{VF}} 17 | \let\oldhref\href 18 | \renewcommand{\href}[2]{#2\footnote{\url{#1}}} 19 | 20 | \makeatletter 21 | \newenvironment{kframe}{% 22 | \medskip{} 23 | \setlength{\fboxsep}{.8em} 24 | \def\at@end@of@kframe{}% 25 | \ifinner\ifhmode% 26 | \def\at@end@of@kframe{\end{minipage}}% 27 | \begin{minipage}{\columnwidth}% 28 | \fi\fi% 29 | \def\FrameCommand##1{\hskip\@totalleftmargin \hskip-\fboxsep 30 | \colorbox{shadecolor}{##1}\hskip-\fboxsep 31 | % There is no \\@totalrightmargin, so: 32 | \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}% 33 | \MakeFramed {\advance\hsize-\width 34 | \@totalleftmargin\z@ \linewidth\hsize 35 | \@setminipage}}% 36 | {\par\unskip\endMakeFramed% 37 | \at@end@of@kframe} 38 | \makeatother 39 | 40 | \renewenvironment{Shaded}{\begin{kframe}}{\end{kframe}} 41 | 42 | \usepackage{makeidx} 43 | \makeindex 44 | 45 | \urlstyle{tt} 46 | 47 | \usepackage{amsthm} 48 | \makeatletter 49 | \def\thm@space@setup{% 50 | \thm@preskip=8pt plus 2pt minus 4pt 51 | \thm@postskip=\thm@preskip 52 | } 53 | \makeatother 54 | 55 | \frontmatter 56 | -------------------------------------------------------------------------------- /makefile: -------------------------------------------------------------------------------- 1 | html_wip: 2 | Rscript -e 'if(!dir.exists("docs/wip")){dir.create("docs/wip", recursive = TRUE)}' 3 | Rscript -e 'bookdown::render_book("index.Rmd", output_format = "bookdown::gitbook", clean = FALSE, output_dir = "docs/wip")' 4 | cp -fvr css/style.css docs/wip/ 5 | cp -fvr css/thinkr.css docs/wip/ 6 | cp -fvr css/style_gitbook.css docs/wip/ 7 | # cp -fvr images _book/ 8 | # cp -fvr _main.utf8.md docs/wip/main.md 9 | 10 | html_master: 11 | Rscript -e 'if(!dir.exists("docs")){dir.create("docs", recursive = TRUE)}' 12 | Rscript -e 'bookdown::render_book("index.Rmd", output_format = "bookdown::gitbook", clean = FALSE, output_dir = "docs")' 13 | cp -fvr css/style.css docs/ 14 | cp -fvr css/thinkr.css docs/ 15 | cp -fvr css/style_gitbook.css docs/ 16 | # cp -fvr images _book/ 17 | # cp -fvr _main.utf8.md docs/wip/main.md 18 | 19 | 20 | build: 21 | make html 22 | Rscript -e 'browseURL("docs/wip/index.html")' 23 | 24 | pdf: 25 | Rscript -e 'bookdown::render_book("index.Rmd", output_format = "bookdown::pdf_book", output_dir = "test")' 26 | 27 | epub: 28 | Rscript -e 'bookdown::render_book("index.Rmd", output_format = "bookdown::epub_book")' 29 | 30 | md: 31 | Rscript -e 'bookdown::render_book("index.Rmd", output_format = "bookdown::pdf_book", clean = FALSE)' 32 | 33 | install: 34 | Rscript -e 'install.packages("devtools");devtools::install_github("ThinkR-open/building-shiny-apps-workflow")' 35 | 36 | clean: 37 | Rscript -e "bookdown::clean_book(TRUE)" 38 | rm -fvr *.log Rplots.pdf _bookdown_files land.sqlite3 39 | 40 | cleaner: 41 | make clean && rm -fvr rsconnect 42 | rm -frv *.aux *.out *.toc # Latex output 43 | rm -fvr *.html # rogue html files 44 | rm -fvr *utf8.md # rogue md files 45 | 46 | -------------------------------------------------------------------------------- /manualpackages.bib: -------------------------------------------------------------------------------- 1 | @Manual{R-spatialLIBD, 2 | title = {LIBD Visium spatial transcriptomics human pilot data inspector}, 3 | author = {Leonardo Collado-Torres and Kristen R. Maynard and Andrew E. Jaffe}, 4 | year = {2020}, 5 | url = {http://www.bioconductor.org/packages/spatialLIBD}, 6 | note = {https://github.com/LieberInstitute/spatialLIBD - R package version 0.99.15}, 7 | doi = {10.1101/2021.04.29.440149}, 8 | } -------------------------------------------------------------------------------- /prep.R: -------------------------------------------------------------------------------- 1 | # To do locally on Colin's computer, thanks 2 | options(renv.config.mran.enabled = FALSE) 3 | renv::restore() 4 | # remotes::install_local(Ncpus = 4, upgrade = "never", force = TRUE) 5 | if (!file.exists("packages.bib")){ 6 | knitr::write_bib(c( 7 | desc::desc_get_deps()$package 8 | ), 'packages.bib') 9 | } 10 | 11 | minifyr::minifyr_npm_install(force=TRUE) -------------------------------------------------------------------------------- /redirect.R: -------------------------------------------------------------------------------- 1 | install.packages("fs") 2 | install.packages("yaml") 3 | 4 | redirects <- yaml::read_yaml("_output.yml")$redirects 5 | 6 | make_redirect <- function(from, to){ 7 | html <- sprintf( 8 | '', 9 | to 10 | ) 11 | dest <- fs::path("_site", from, ext = "html") 12 | fs::file_create(dest) 13 | write(html, dest) 14 | } 15 | 16 | mapply(make_redirect, from = names(redirects), to = redirects) 17 | 18 | # Creating the redirect 19 | unlink("redirects", TRUE, TRUE) 20 | 21 | make_redirect <- function(name, url){ 22 | fs::dir_create( 23 | fs::path( 24 | "redirects", 25 | name 26 | ) 27 | ) 28 | fls <- fs::path( 29 | "redirects", 30 | name, 31 | "index.html" 32 | ) 33 | fs::file_create( 34 | fls 35 | ) 36 | write(file = fls, 37 | sprintf('', url) 38 | ) 39 | } 40 | 41 | make_redirect("tidytuesday201942", "https://connect.thinkr.fr/tidytuesday201942/") 42 | make_redirect("hexmake", "https://connect.thinkr.fr/hexmake/") 43 | make_redirect("minifying", "https://connect.thinkr.fr/minifying/") 44 | make_redirect("golemhtmltemplate", "https://connect.thinkr.fr/golemhtmltemplate/") 45 | make_redirect("shinipsumdemo", "https://connect.thinkr.fr/shinipsumdemo/") 46 | make_redirect("databasedemo", "https://connect.thinkr.fr/databasedemo/") 47 | make_redirect("graysacle", "https://connect.thinkr.fr/grayscale/") 48 | make_redirect("grayscale", "https://connect.thinkr.fr/grayscale/") 49 | make_redirect("bs4dashdemo", "https://connect.thinkr.fr/bs4dashdemo/") 50 | make_redirect("shinyfuture", "https://connect.thinkr.fr/shinyfuture/") 51 | 52 | try({ 53 | dirs <- list.dirs( 54 | "redirects" 55 | ) 56 | dirs <- dirs[!dirs == "redirects"] 57 | for (i in c( 58 | dirs 59 | )){ 60 | fs::dir_copy( 61 | i, 62 | fs::path("_site", basename(i)) 63 | ) 64 | } 65 | }) -------------------------------------------------------------------------------- /redirects/bs4dashdemo/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /redirects/databasedemo/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /redirects/golemhtmltemplate/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /redirects/graysacle/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /redirects/hexmake/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /redirects/minifying/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /redirects/shinipsumdemo/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /redirects/shinyfuture/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /redirects/tidytuesday201942/index.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /render_all.R: -------------------------------------------------------------------------------- 1 | # -- Update indices before rendering -- # 2 | # /!\ long calculation /!\ 3 | if (!dir.exists(here::here("dataset"))) {dir.create(here::here("dataset"))} 4 | 5 | library(dplyr) 6 | 7 | ## cyclocomp 8 | library(cyclocomp) 9 | ## _golex 10 | source(here::here("golembuild.R")) 11 | remotes::install_local("golex", upgrade = "never") 12 | cyclo_golex <- cyclocomp_package("golex") 13 | remove.packages("golex") 14 | source(here::here("golemdestroy.R")) 15 | readr::write_rds(cyclo_golex, here::here("dataset", "cyclo_golex.rds")) 16 | ## _tidytuesday 17 | cyclo_tidytuesday <- cyclocomp_package("tidytuesday201942") 18 | readr::write_rds(cyclo_tidytuesday, here::here("dataset", "cyclo_tidytuesday.rds")) 19 | ## _shiny 20 | cyclo_shiny <- cyclocomp_package("shiny") 21 | readr::write_rds(cyclo_shiny, here::here("dataset", "cyclo_shiny.rds")) 22 | 23 | 24 | ## frame_metrics 25 | library(packageMetrics2) 26 | frame_metric <- function(pkg){ 27 | metrics <- package_metrics(pkg) 28 | tibble::tibble( 29 | n = names(metrics), 30 | val = metrics, 31 | expl = list_package_metrics()[names(metrics)] 32 | ) 33 | } 34 | ## _golem 35 | frame_golem <- frame_metric("golem") 36 | readr::write_rds(frame_golem, here::here("dataset", "frame_golem.rds")) 37 | ## _shiny 38 | frame_shiny <- frame_metric("shiny") 39 | readr::write_rds(frame_shiny, here::here("dataset", "frame_shiny.rds")) 40 | 41 | 42 | # --- Build book --- # 43 | # wip <- TRUE 44 | # if (wip){ 45 | # x <- yaml::read_yaml("_bookdown.yml") 46 | # x$output_dir <- "docs/wip" 47 | # yaml::write_yaml(x, "_bookdown.yml") 48 | # } 49 | library(magrittr) 50 | namer::name_dir_chunks(".") 51 | bookdown::render_book("index.Rmd", output_dir = "docs") 52 | file.copy("css/style.css", "docs/") 53 | file.copy("css/thinkr.css", "docs/") 54 | file.copy("css/style_gitbook.css", "docs/") 55 | 56 | rsconnect::writeManifest("docs") 57 | git2r::add(".", "*") 58 | git2r::commit( 59 | ".", message = sprintf("%s stable book build", Sys.time()) 60 | ) 61 | system("git push") 62 | -------------------------------------------------------------------------------- /renv/.gitignore: -------------------------------------------------------------------------------- 1 | local/ 2 | cellar/ 3 | sandbox/ 4 | library/ 5 | lock/ 6 | python/ 7 | staging/ 8 | -------------------------------------------------------------------------------- /renv/settings.dcf: -------------------------------------------------------------------------------- 1 | external.libraries: 2 | ignored.packages: 3 | package.dependency.fields: Imports, Depends, LinkingTo 4 | snapshot.type: implicit 5 | use.cache: TRUE 6 | vcs.ignore.library: TRUE 7 | -------------------------------------------------------------------------------- /renv/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "bioconductor.version": null, 3 | "external.libraries": [], 4 | "ignored.packages": [], 5 | "package.dependency.fields": [ 6 | "Imports", 7 | "Depends", 8 | "LinkingTo" 9 | ], 10 | "r.version": null, 11 | "snapshot.type": "implicit", 12 | "use.cache": true, 13 | "vcs.ignore.cellar": true, 14 | "vcs.ignore.library": true, 15 | "vcs.ignore.local": true, 16 | "vcs.manage.ignores": true 17 | } 18 | -------------------------------------------------------------------------------- /shinylogs/run1/shinycannon-version.txt: -------------------------------------------------------------------------------- 1 | 1.0.0-b267bad -------------------------------------------------------------------------------- /shinylogs/run2/sessions/0_0_0.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 0,0,0,PLAYER_SESSION_CREATE,1588067609552,0, 5 | 0,0,0,REQ_HOME_START,1588067609553,4, 6 | 0,0,0,PLAYBACK_FAIL,1588067610284,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/100_1_17.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 100,1,17,PLAYER_SESSION_CREATE,1588067615467,0, 5 | 100,1,17,REQ_HOME_START,1588067615467,4, 6 | 100,1,17,PLAYBACK_FAIL,1588067615472,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/101_0_82.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 101,0,82,PLAYER_SESSION_CREATE,1588067615467,0, 5 | 101,0,82,REQ_HOME_START,1588067615467,4, 6 | 101,0,82,PLAYBACK_FAIL,1588067615471,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/102_2_1.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 102,2,1,PLAYER_SESSION_CREATE,1588067615467,0, 5 | 102,2,1,REQ_HOME_START,1588067615467,4, 6 | 102,2,1,PLAYBACK_FAIL,1588067615471,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/103_2_2.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 103,2,2,PLAYER_SESSION_CREATE,1588067615550,0, 5 | 103,2,2,REQ_HOME_START,1588067615551,4, 6 | 103,2,2,PLAYBACK_FAIL,1588067615557,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/104_1_18.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 104,1,18,PLAYER_SESSION_CREATE,1588067615550,0, 5 | 104,1,18,REQ_HOME_START,1588067615551,4, 6 | 104,1,18,PLAYBACK_FAIL,1588067615557,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/105_0_83.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 105,0,83,PLAYER_SESSION_CREATE,1588067615551,0, 5 | 105,0,83,REQ_HOME_START,1588067615551,4, 6 | 105,0,83,PLAYBACK_FAIL,1588067615556,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/106_2_3.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 106,2,3,PLAYER_SESSION_CREATE,1588067615635,0, 5 | 106,2,3,REQ_HOME_START,1588067615635,4, 6 | 106,2,3,PLAYBACK_FAIL,1588067615701,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/107_0_84.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 107,0,84,PLAYER_SESSION_CREATE,1588067615635,0, 5 | 107,0,84,REQ_HOME_START,1588067615635,4, 6 | 107,0,84,PLAYBACK_FAIL,1588067615701,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/108_1_19.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 108,1,19,PLAYER_SESSION_CREATE,1588067615635,0, 5 | 108,1,19,REQ_HOME_START,1588067615635,4, 6 | 108,1,19,PLAYBACK_FAIL,1588067615701,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/109_2_4.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 109,2,4,PLAYER_SESSION_CREATE,1588067615746,0, 5 | 109,2,4,REQ_HOME_START,1588067615746,4, 6 | 109,2,4,PLAYBACK_FAIL,1588067615751,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/10_0_10.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 10,0,10,PLAYER_SESSION_CREATE,1588067610556,0, 5 | 10,0,10,REQ_HOME_START,1588067610556,4, 6 | 10,0,10,PLAYBACK_FAIL,1588067610562,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/110_0_85.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 110,0,85,PLAYER_SESSION_CREATE,1588067615746,0, 5 | 110,0,85,REQ_HOME_START,1588067615746,4, 6 | 110,0,85,PLAYBACK_FAIL,1588067615752,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/111_1_20.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 111,1,20,PLAYER_SESSION_CREATE,1588067615746,0, 5 | 111,1,20,REQ_HOME_START,1588067615746,4, 6 | 111,1,20,PLAYBACK_FAIL,1588067615751,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/112_1_21.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 112,1,21,PLAYER_SESSION_CREATE,1588067615802,0, 5 | 112,1,21,REQ_HOME_START,1588067615802,4, 6 | 112,1,21,PLAYBACK_FAIL,1588067615806,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/113_0_86.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 113,0,86,PLAYER_SESSION_CREATE,1588067615802,0, 5 | 113,0,86,REQ_HOME_START,1588067615803,4, 6 | 113,0,86,PLAYBACK_FAIL,1588067615807,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/114_0_87.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 114,0,87,PLAYER_SESSION_CREATE,1588067615911,0, 5 | 114,0,87,REQ_HOME_START,1588067615911,4, 6 | 114,0,87,PLAYBACK_FAIL,1588067615916,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/115_2_5.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 115,2,5,PLAYER_SESSION_CREATE,1588067615911,0, 5 | 115,2,5,REQ_HOME_START,1588067615911,4, 6 | 115,2,5,PLAYBACK_FAIL,1588067615916,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/116_1_22.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 116,1,22,PLAYER_SESSION_CREATE,1588067615911,0, 5 | 116,1,22,REQ_HOME_START,1588067615911,4, 6 | 116,1,22,PLAYBACK_FAIL,1588067615917,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/117_0_88.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 117,0,88,PLAYER_SESSION_CREATE,1588067615967,0, 5 | 117,0,88,REQ_HOME_START,1588067615967,4, 6 | 117,0,88,PLAYBACK_FAIL,1588067615970,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/118_1_23.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 118,1,23,PLAYER_SESSION_CREATE,1588067615967,0, 5 | 118,1,23,REQ_HOME_START,1588067615967,4, 6 | 118,1,23,PLAYBACK_FAIL,1588067615971,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/119_2_6.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 119,2,6,PLAYER_SESSION_CREATE,1588067615967,0, 5 | 119,2,6,REQ_HOME_START,1588067615967,4, 6 | 119,2,6,PLAYBACK_FAIL,1588067615970,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/11_0_11.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 11,0,11,PLAYER_SESSION_CREATE,1588067610564,0, 5 | 11,0,11,REQ_HOME_START,1588067610564,4, 6 | 11,0,11,PLAYBACK_FAIL,1588067610569,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/120_1_24.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 120,1,24,PLAYER_SESSION_CREATE,1588067617687,0, 5 | 120,1,24,REQ_HOME_START,1588067617687,4, 6 | 120,1,24,PLAYBACK_FAIL,1588067617699,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/121_0_89.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 121,0,89,PLAYER_SESSION_CREATE,1588067617687,0, 5 | 121,0,89,REQ_HOME_START,1588067617687,4, 6 | 121,0,89,PLAYBACK_FAIL,1588067617698,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/122_2_7.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 122,2,7,PLAYER_SESSION_CREATE,1588067617688,0, 5 | 122,2,7,REQ_HOME_START,1588067617688,4, 6 | 122,2,7,PLAYBACK_FAIL,1588067617697,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/123_2_8.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 123,2,8,PLAYER_SESSION_CREATE,1588067617698,0, 5 | 123,2,8,REQ_HOME_START,1588067617698,4, 6 | 123,2,8,PLAYBACK_FAIL,1588067617704,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/124_3_0.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 124,3,0,PLAYER_SESSION_CREATE,1588067617909,0, 5 | 124,3,0,REQ_HOME_START,1588067617909,4, 6 | 124,3,0,PLAYBACK_FAIL,1588067617915,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/125_0_90.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 125,0,90,PLAYER_SESSION_CREATE,1588067617909,0, 5 | 125,0,90,REQ_HOME_START,1588067617909,4, 6 | 125,0,90,PLAYBACK_FAIL,1588067617914,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/126_2_9.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 126,2,9,PLAYER_SESSION_CREATE,1588067617910,0, 5 | 126,2,9,REQ_HOME_START,1588067617910,4, 6 | 126,2,9,PLAYBACK_FAIL,1588067617914,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/127_1_25.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 127,1,25,PLAYER_SESSION_CREATE,1588067617910,0, 5 | 127,1,25,REQ_HOME_START,1588067617910,4, 6 | 127,1,25,PLAYBACK_FAIL,1588067617914,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/128_3_1.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 128,3,1,PLAYER_SESSION_CREATE,1588067617918,0, 5 | 128,3,1,REQ_HOME_START,1588067617918,4, 6 | 128,3,1,PLAYBACK_FAIL,1588067617922,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/129_1_26.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 129,1,26,PLAYER_SESSION_CREATE,1588067617918,0, 5 | 129,1,26,REQ_HOME_START,1588067617918,4, 6 | 129,1,26,PLAYBACK_FAIL,1588067617923,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/12_0_12.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 12,0,12,PLAYER_SESSION_CREATE,1588067610608,0, 5 | 12,0,12,REQ_HOME_START,1588067610608,4, 6 | 12,0,12,PLAYBACK_FAIL,1588067610613,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/130_0_91.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 130,0,91,PLAYER_SESSION_CREATE,1588067617925,0, 5 | 130,0,91,REQ_HOME_START,1588067617925,4, 6 | 130,0,91,PLAYBACK_FAIL,1588067617930,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/131_2_10.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 131,2,10,PLAYER_SESSION_CREATE,1588067617925,0, 5 | 131,2,10,REQ_HOME_START,1588067617926,4, 6 | 131,2,10,PLAYBACK_FAIL,1588067617929,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/132_1_27.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 132,1,27,PLAYER_SESSION_CREATE,1588067617925,0, 5 | 132,1,27,REQ_HOME_START,1588067617925,4, 6 | 132,1,27,PLAYBACK_FAIL,1588067617929,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/133_0_92.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 133,0,92,PLAYER_SESSION_CREATE,1588067618026,0, 5 | 133,0,92,REQ_HOME_START,1588067618026,4, 6 | 133,0,92,PLAYBACK_FAIL,1588067618029,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/134_1_28.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 134,1,28,PLAYER_SESSION_CREATE,1588067618026,0, 5 | 134,1,28,REQ_HOME_START,1588067618026,4, 6 | 134,1,28,PLAYBACK_FAIL,1588067618029,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/135_2_11.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 135,2,11,PLAYER_SESSION_CREATE,1588067618026,0, 5 | 135,2,11,REQ_HOME_START,1588067618026,4, 6 | 135,2,11,PLAYBACK_FAIL,1588067618030,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/136_3_2.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 136,3,2,PLAYER_SESSION_CREATE,1588067618026,0, 5 | 136,3,2,REQ_HOME_START,1588067618026,4, 6 | 136,3,2,PLAYBACK_FAIL,1588067618029,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/137_2_12.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 137,2,12,PLAYER_SESSION_CREATE,1588067618107,0, 5 | 137,2,12,REQ_HOME_START,1588067618107,4, 6 | 137,2,12,PLAYBACK_FAIL,1588067618110,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/138_3_3.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 138,3,3,PLAYER_SESSION_CREATE,1588067618107,0, 5 | 138,3,3,REQ_HOME_START,1588067618107,4, 6 | 138,3,3,PLAYBACK_FAIL,1588067618110,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/139_0_93.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 139,0,93,PLAYER_SESSION_CREATE,1588067618107,0, 5 | 139,0,93,REQ_HOME_START,1588067618107,4, 6 | 139,0,93,PLAYBACK_FAIL,1588067618110,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/13_0_13.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 13,0,13,PLAYER_SESSION_CREATE,1588067610615,0, 5 | 13,0,13,REQ_HOME_START,1588067610615,4, 6 | 13,0,13,PLAYBACK_FAIL,1588067610622,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/140_1_29.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 140,1,29,PLAYER_SESSION_CREATE,1588067618107,0, 5 | 140,1,29,REQ_HOME_START,1588067618107,4, 6 | 140,1,29,PLAYBACK_FAIL,1588067618110,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/141_2_13.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 141,2,13,PLAYER_SESSION_CREATE,1588067618307,0, 5 | 141,2,13,REQ_HOME_START,1588067618307,4, 6 | 141,2,13,PLAYBACK_FAIL,1588067618310,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/142_3_4.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 142,3,4,PLAYER_SESSION_CREATE,1588067618307,0, 5 | 142,3,4,REQ_HOME_START,1588067618307,4, 6 | 142,3,4,PLAYBACK_FAIL,1588067618310,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/143_1_30.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 143,1,30,PLAYER_SESSION_CREATE,1588067618307,0, 5 | 143,1,30,REQ_HOME_START,1588067618307,4, 6 | 143,1,30,PLAYBACK_FAIL,1588067618310,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/144_0_94.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 144,0,94,PLAYER_SESSION_CREATE,1588067618307,0, 5 | 144,0,94,REQ_HOME_START,1588067618307,4, 6 | 144,0,94,PLAYBACK_FAIL,1588067618310,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/145_2_14.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 145,2,14,PLAYER_SESSION_CREATE,1588067618466,0, 5 | 145,2,14,REQ_HOME_START,1588067618466,4, 6 | 145,2,14,PLAYBACK_FAIL,1588067618471,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/146_1_31.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 146,1,31,PLAYER_SESSION_CREATE,1588067618466,0, 5 | 146,1,31,REQ_HOME_START,1588067618466,4, 6 | 146,1,31,PLAYBACK_FAIL,1588067618471,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/147_3_5.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 147,3,5,PLAYER_SESSION_CREATE,1588067618468,0, 5 | 147,3,5,REQ_HOME_START,1588067618468,4, 6 | 147,3,5,PLAYBACK_FAIL,1588067618472,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/148_0_95.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 148,0,95,PLAYER_SESSION_CREATE,1588067618467,0, 5 | 148,0,95,REQ_HOME_START,1588067618467,4, 6 | 148,0,95,PLAYBACK_FAIL,1588067618472,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/149_0_96.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 149,0,96,PLAYER_SESSION_CREATE,1588067618615,0, 5 | 149,0,96,REQ_HOME_START,1588067618615,4, 6 | 149,0,96,PLAYBACK_FAIL,1588067618621,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/14_0_14.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 14,0,14,PLAYER_SESSION_CREATE,1588067610661,0, 5 | 14,0,14,REQ_HOME_START,1588067610661,4, 6 | 14,0,14,PLAYBACK_FAIL,1588067610666,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/150_3_6.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 150,3,6,PLAYER_SESSION_CREATE,1588067618614,0, 5 | 150,3,6,REQ_HOME_START,1588067618615,4, 6 | 150,3,6,PLAYBACK_FAIL,1588067618620,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/151_1_32.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 151,1,32,PLAYER_SESSION_CREATE,1588067618614,0, 5 | 151,1,32,REQ_HOME_START,1588067618614,4, 6 | 151,1,32,PLAYBACK_FAIL,1588067618620,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/152_2_15.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 152,2,15,PLAYER_SESSION_CREATE,1588067618615,0, 5 | 152,2,15,REQ_HOME_START,1588067618615,4, 6 | 152,2,15,PLAYBACK_FAIL,1588067618620,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/153_3_7.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 153,3,7,PLAYER_SESSION_CREATE,1588067620203,0, 5 | 153,3,7,REQ_HOME_START,1588067620203,4, 6 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/154_2_16.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 154,2,16,PLAYER_SESSION_CREATE,1588067620203,0, 5 | 154,2,16,REQ_HOME_START,1588067620203,4, 6 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/155_1_33.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 155,1,33,PLAYER_SESSION_CREATE,1588067620203,0, 5 | 155,1,33,REQ_HOME_START,1588067620203,4, 6 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/156_0_97.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 156,0,97,PLAYER_SESSION_CREATE,1588067620203,0, 5 | 156,0,97,REQ_HOME_START,1588067620203,4, 6 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/15_0_15.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 15,0,15,PLAYER_SESSION_CREATE,1588067610668,0, 5 | 15,0,15,REQ_HOME_START,1588067610668,4, 6 | 15,0,15,PLAYBACK_FAIL,1588067610674,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/16_0_16.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 16,0,16,PLAYER_SESSION_CREATE,1588067610712,0, 5 | 16,0,16,REQ_HOME_START,1588067610712,4, 6 | 16,0,16,PLAYBACK_FAIL,1588067610716,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/17_0_17.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 17,0,17,PLAYER_SESSION_CREATE,1588067610717,0, 5 | 17,0,17,REQ_HOME_START,1588067610717,4, 6 | 17,0,17,PLAYBACK_FAIL,1588067610728,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/18_0_18.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 18,0,18,PLAYER_SESSION_CREATE,1588067610763,0, 5 | 18,0,18,REQ_HOME_START,1588067610764,4, 6 | 18,0,18,PLAYBACK_FAIL,1588067610767,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/19_0_19.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 19,0,19,PLAYER_SESSION_CREATE,1588067610779,0, 5 | 19,0,19,REQ_HOME_START,1588067610780,4, 6 | 19,0,19,PLAYBACK_FAIL,1588067610794,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/1_0_1.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 1,0,1,PLAYER_SESSION_CREATE,1588067610290,0, 5 | 1,0,1,REQ_HOME_START,1588067610290,4, 6 | 1,0,1,PLAYBACK_FAIL,1588067610294,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/20_0_20.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 20,0,20,PLAYER_SESSION_CREATE,1588067610818,0, 5 | 20,0,20,REQ_HOME_START,1588067610818,4, 6 | 20,0,20,PLAYBACK_FAIL,1588067610824,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/21_0_21.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 21,0,21,PLAYER_SESSION_CREATE,1588067610827,0, 5 | 21,0,21,REQ_HOME_START,1588067610827,4, 6 | 21,0,21,PLAYBACK_FAIL,1588067610832,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/22_0_22.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 22,0,22,PLAYER_SESSION_CREATE,1588067610872,0, 5 | 22,0,22,REQ_HOME_START,1588067610872,4, 6 | 22,0,22,PLAYBACK_FAIL,1588067610879,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/23_0_23.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 23,0,23,PLAYER_SESSION_CREATE,1588067610880,0, 5 | 23,0,23,REQ_HOME_START,1588067610880,4, 6 | 23,0,23,PLAYBACK_FAIL,1588067610884,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/24_0_24.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 24,0,24,PLAYER_SESSION_CREATE,1588067610924,0, 5 | 24,0,24,REQ_HOME_START,1588067610924,4, 6 | 24,0,24,PLAYBACK_FAIL,1588067610930,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/25_0_25.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 25,0,25,PLAYER_SESSION_CREATE,1588067610932,0, 5 | 25,0,25,REQ_HOME_START,1588067610932,4, 6 | 25,0,25,PLAYBACK_FAIL,1588067610940,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/26_0_26.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 26,0,26,PLAYER_SESSION_CREATE,1588067610974,0, 5 | 26,0,26,REQ_HOME_START,1588067610974,4, 6 | 26,0,26,PLAYBACK_FAIL,1588067610981,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/27_0_27.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 27,0,27,PLAYER_SESSION_CREATE,1588067610982,0, 5 | 27,0,27,REQ_HOME_START,1588067610983,4, 6 | 27,0,27,PLAYBACK_FAIL,1588067610989,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/28_0_28.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 28,0,28,PLAYER_SESSION_CREATE,1588067611035,0, 5 | 28,0,28,REQ_HOME_START,1588067611035,4, 6 | 28,0,28,PLAYBACK_FAIL,1588067611040,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/29_0_29.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 29,0,29,PLAYER_SESSION_CREATE,1588067611041,0, 5 | 29,0,29,REQ_HOME_START,1588067611041,4, 6 | 29,0,29,PLAYBACK_FAIL,1588067611049,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/2_0_2.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 2,0,2,PLAYER_SESSION_CREATE,1588067610339,0, 5 | 2,0,2,REQ_HOME_START,1588067610339,4, 6 | 2,0,2,PLAYBACK_FAIL,1588067610350,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/30_0_30.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 30,0,30,PLAYER_SESSION_CREATE,1588067611057,0, 5 | 30,0,30,REQ_HOME_START,1588067611057,4, 6 | 30,0,30,PLAYBACK_FAIL,1588067611062,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/31_0_31.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 31,0,31,PLAYER_SESSION_CREATE,1588067611063,0, 5 | 31,0,31,REQ_HOME_START,1588067611063,4, 6 | 31,0,31,PLAYBACK_FAIL,1588067611069,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/32_0_32.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 32,0,32,PLAYER_SESSION_CREATE,1588067611266,0, 5 | 32,0,32,REQ_HOME_START,1588067611266,4, 6 | 32,0,32,PLAYBACK_FAIL,1588067611275,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/33_0_33.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 33,0,33,PLAYER_SESSION_CREATE,1588067611277,0, 5 | 33,0,33,REQ_HOME_START,1588067611277,4, 6 | 33,0,33,PLAYBACK_FAIL,1588067611285,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/34_0_34.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 34,0,34,PLAYER_SESSION_CREATE,1588067611291,0, 5 | 34,0,34,REQ_HOME_START,1588067611291,4, 6 | 34,0,34,PLAYBACK_FAIL,1588067611295,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/35_0_35.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 35,0,35,PLAYER_SESSION_CREATE,1588067611297,0, 5 | 35,0,35,REQ_HOME_START,1588067611297,4, 6 | 35,0,35,PLAYBACK_FAIL,1588067611302,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/36_0_36.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 36,0,36,PLAYER_SESSION_CREATE,1588067611369,0, 5 | 36,0,36,REQ_HOME_START,1588067611369,4, 6 | 36,0,36,PLAYBACK_FAIL,1588067611373,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/37_0_37.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 37,0,37,PLAYER_SESSION_CREATE,1588067611374,0, 5 | 37,0,37,REQ_HOME_START,1588067611374,4, 6 | 37,0,37,PLAYBACK_FAIL,1588067611378,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/38_0_38.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 38,0,38,PLAYER_SESSION_CREATE,1588067611379,0, 5 | 38,0,38,REQ_HOME_START,1588067611379,4, 6 | 38,0,38,PLAYBACK_FAIL,1588067611384,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/39_0_39.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 39,0,39,PLAYER_SESSION_CREATE,1588067611429,0, 5 | 39,0,39,REQ_HOME_START,1588067611429,4, 6 | 39,0,39,PLAYBACK_FAIL,1588067611434,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/3_0_3.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 3,0,3,PLAYER_SESSION_CREATE,1588067610355,0, 5 | 3,0,3,REQ_HOME_START,1588067610355,4, 6 | 3,0,3,PLAYBACK_FAIL,1588067610362,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/40_0_40.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 40,0,40,PLAYER_SESSION_CREATE,1588067611435,0, 5 | 40,0,40,REQ_HOME_START,1588067611435,4, 6 | 40,0,40,PLAYBACK_FAIL,1588067611442,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/41_0_41.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 41,0,41,PLAYER_SESSION_CREATE,1588067611483,0, 5 | 41,0,41,REQ_HOME_START,1588067611483,4, 6 | 41,0,41,PLAYBACK_FAIL,1588067611490,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/42_0_42.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 42,0,42,PLAYER_SESSION_CREATE,1588067611497,0, 5 | 42,0,42,REQ_HOME_START,1588067611497,4, 6 | 42,0,42,PLAYBACK_FAIL,1588067611503,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/43_0_43.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 43,0,43,PLAYER_SESSION_CREATE,1588067611533,0, 5 | 43,0,43,REQ_HOME_START,1588067611533,4, 6 | 43,0,43,PLAYBACK_FAIL,1588067611540,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/44_0_44.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 44,0,44,PLAYER_SESSION_CREATE,1588067611541,0, 5 | 44,0,44,REQ_HOME_START,1588067611541,4, 6 | 44,0,44,PLAYBACK_FAIL,1588067611545,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/45_0_45.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 45,0,45,PLAYER_SESSION_CREATE,1588067611589,0, 5 | 45,0,45,REQ_HOME_START,1588067611589,4, 6 | 45,0,45,PLAYBACK_FAIL,1588067611593,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/46_0_46.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 46,0,46,PLAYER_SESSION_CREATE,1588067611595,0, 5 | 46,0,46,REQ_HOME_START,1588067611595,4, 6 | 46,0,46,PLAYBACK_FAIL,1588067611599,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/47_0_47.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 47,0,47,PLAYER_SESSION_CREATE,1588067611654,0, 5 | 47,0,47,REQ_HOME_START,1588067611654,4, 6 | 47,0,47,PLAYBACK_FAIL,1588067611666,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/48_0_48.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 48,0,48,PLAYER_SESSION_CREATE,1588067611668,0, 5 | 48,0,48,REQ_HOME_START,1588067611668,4, 6 | 48,0,48,PLAYBACK_FAIL,1588067611711,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/49_0_49.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 49,0,49,PLAYER_SESSION_CREATE,1588067611713,0, 5 | 49,0,49,REQ_HOME_START,1588067611713,4, 6 | 49,0,49,PLAYBACK_FAIL,1588067611719,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/4_0_4.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 4,0,4,PLAYER_SESSION_CREATE,1588067610397,0, 5 | 4,0,4,REQ_HOME_START,1588067610397,4, 6 | 4,0,4,PLAYBACK_FAIL,1588067610402,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/50_0_50.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 50,0,50,PLAYER_SESSION_CREATE,1588067611749,0, 5 | 50,0,50,REQ_HOME_START,1588067611749,4, 6 | 50,0,50,PLAYBACK_FAIL,1588067611755,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/51_0_51.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 51,0,51,PLAYER_SESSION_CREATE,1588067611758,0, 5 | 51,0,51,REQ_HOME_START,1588067611758,4, 6 | 51,0,51,PLAYBACK_FAIL,1588067611764,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/52_0_52.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 52,0,52,PLAYER_SESSION_CREATE,1588067611804,0, 5 | 52,0,52,REQ_HOME_START,1588067611804,4, 6 | 52,0,52,PLAYBACK_FAIL,1588067611809,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/53_0_53.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 53,0,53,PLAYER_SESSION_CREATE,1588067611810,0, 5 | 53,0,53,REQ_HOME_START,1588067611810,4, 6 | 53,0,53,PLAYBACK_FAIL,1588067611814,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/54_0_54.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 54,0,54,PLAYER_SESSION_CREATE,1588067611854,0, 5 | 54,0,54,REQ_HOME_START,1588067611854,4, 6 | 54,0,54,PLAYBACK_FAIL,1588067611859,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/55_0_55.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 55,0,55,PLAYER_SESSION_CREATE,1588067611860,0, 5 | 55,0,55,REQ_HOME_START,1588067611860,4, 6 | 55,0,55,PLAYBACK_FAIL,1588067611863,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/56_0_56.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 56,0,56,PLAYER_SESSION_CREATE,1588067611965,0, 5 | 56,0,56,REQ_HOME_START,1588067611965,4, 6 | 56,0,56,PLAYBACK_FAIL,1588067611968,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/57_0_57.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 57,0,57,PLAYER_SESSION_CREATE,1588067611969,0, 5 | 57,0,57,REQ_HOME_START,1588067611969,4, 6 | 57,0,57,PLAYBACK_FAIL,1588067611972,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/58_0_58.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 58,0,58,PLAYER_SESSION_CREATE,1588067612019,0, 5 | 58,0,58,REQ_HOME_START,1588067612019,4, 6 | 58,0,58,PLAYBACK_FAIL,1588067612024,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/59_0_59.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 59,0,59,PLAYER_SESSION_CREATE,1588067612029,0, 5 | 59,0,59,REQ_HOME_START,1588067612029,4, 6 | 59,0,59,PLAYBACK_FAIL,1588067612033,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/5_0_5.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 5,0,5,PLAYER_SESSION_CREATE,1588067610403,0, 5 | 5,0,5,REQ_HOME_START,1588067610403,4, 6 | 5,0,5,PLAYBACK_FAIL,1588067610408,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/60_0_60.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 60,0,60,PLAYER_SESSION_CREATE,1588067612084,0, 5 | 60,0,60,REQ_HOME_START,1588067612084,4, 6 | 60,0,60,PLAYBACK_FAIL,1588067612087,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/61_0_61.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 61,0,61,PLAYER_SESSION_CREATE,1588067612088,0, 5 | 61,0,61,REQ_HOME_START,1588067612088,4, 6 | 61,0,61,PLAYBACK_FAIL,1588067612090,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/62_0_62.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 62,0,62,PLAYER_SESSION_CREATE,1588067612106,0, 5 | 62,0,62,REQ_HOME_START,1588067612106,4, 6 | 62,0,62,PLAYBACK_FAIL,1588067612109,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/63_0_63.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 63,0,63,PLAYER_SESSION_CREATE,1588067612111,0, 5 | 63,0,63,REQ_HOME_START,1588067612111,4, 6 | 63,0,63,PLAYBACK_FAIL,1588067612114,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/64_0_64.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 64,0,64,PLAYER_SESSION_CREATE,1588067612303,0, 5 | 64,0,64,REQ_HOME_START,1588067612303,4, 6 | 64,0,64,PLAYBACK_FAIL,1588067612305,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/65_0_65.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 65,0,65,PLAYER_SESSION_CREATE,1588067612306,0, 5 | 65,0,65,REQ_HOME_START,1588067612306,4, 6 | 65,0,65,PLAYBACK_FAIL,1588067612308,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/66_1_0.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 66,1,0,PLAYER_SESSION_CREATE,1588067612325,0, 5 | 66,1,0,REQ_HOME_START,1588067612325,4, 6 | 66,1,0,PLAYBACK_FAIL,1588067612327,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/67_0_66.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 67,0,66,PLAYER_SESSION_CREATE,1588067612325,0, 5 | 67,0,66,REQ_HOME_START,1588067612325,4, 6 | 67,0,66,PLAYBACK_FAIL,1588067612327,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/68_1_1.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 68,1,1,PLAYER_SESSION_CREATE,1588067612397,0, 5 | 68,1,1,REQ_HOME_START,1588067612397,4, 6 | 68,1,1,PLAYBACK_FAIL,1588067612400,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/69_0_67.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 69,0,67,PLAYER_SESSION_CREATE,1588067612397,0, 5 | 69,0,67,REQ_HOME_START,1588067612397,4, 6 | 69,0,67,PLAYBACK_FAIL,1588067612400,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/6_0_6.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 6,0,6,PLAYER_SESSION_CREATE,1588067610446,0, 5 | 6,0,6,REQ_HOME_START,1588067610446,4, 6 | 6,0,6,PLAYBACK_FAIL,1588067610453,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/70_0_68.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 70,0,68,PLAYER_SESSION_CREATE,1588067612452,0, 5 | 70,0,68,REQ_HOME_START,1588067612452,4, 6 | 70,0,68,PLAYBACK_FAIL,1588067612456,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/71_1_2.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 71,1,2,PLAYER_SESSION_CREATE,1588067612452,0, 5 | 71,1,2,REQ_HOME_START,1588067612452,4, 6 | 71,1,2,PLAYBACK_FAIL,1588067612456,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/72_0_69.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 72,0,69,PLAYER_SESSION_CREATE,1588067612458,0, 5 | 72,0,69,REQ_HOME_START,1588067612458,4, 6 | 72,0,69,PLAYBACK_FAIL,1588067612461,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/73_1_3.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 73,1,3,PLAYER_SESSION_CREATE,1588067612510,0, 5 | 73,1,3,REQ_HOME_START,1588067612511,4, 6 | 73,1,3,PLAYBACK_FAIL,1588067612514,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/74_1_4.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 74,1,4,PLAYER_SESSION_CREATE,1588067612516,0, 5 | 74,1,4,REQ_HOME_START,1588067612516,4, 6 | 74,1,4,PLAYBACK_FAIL,1588067612518,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/75_0_70.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 75,0,70,PLAYER_SESSION_CREATE,1588067612517,0, 5 | 75,0,70,REQ_HOME_START,1588067612517,4, 6 | 75,0,70,PLAYBACK_FAIL,1588067612521,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/76_1_5.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 76,1,5,PLAYER_SESSION_CREATE,1588067612520,0, 5 | 76,1,5,REQ_HOME_START,1588067612520,4, 6 | 76,1,5,PLAYBACK_FAIL,1588067612522,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/77_1_6.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 77,1,6,PLAYER_SESSION_CREATE,1588067612569,0, 5 | 77,1,6,REQ_HOME_START,1588067612569,4, 6 | 77,1,6,PLAYBACK_FAIL,1588067612573,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/78_0_71.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 78,0,71,PLAYER_SESSION_CREATE,1588067612570,0, 5 | 78,0,71,REQ_HOME_START,1588067612570,4, 6 | 78,0,71,PLAYBACK_FAIL,1588067612573,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/79_1_7.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 79,1,7,PLAYER_SESSION_CREATE,1588067612574,0, 5 | 79,1,7,REQ_HOME_START,1588067612574,4, 6 | 79,1,7,PLAYBACK_FAIL,1588067612577,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/7_0_7.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 7,0,7,PLAYER_SESSION_CREATE,1588067610457,0, 5 | 7,0,7,REQ_HOME_START,1588067610457,4, 6 | 7,0,7,PLAYBACK_FAIL,1588067610462,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/80_0_72.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 80,0,72,PLAYER_SESSION_CREATE,1588067612625,0, 5 | 80,0,72,REQ_HOME_START,1588067612625,4, 6 | 80,0,72,PLAYBACK_FAIL,1588067612630,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/81_1_8.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 81,1,8,PLAYER_SESSION_CREATE,1588067612625,0, 5 | 81,1,8,REQ_HOME_START,1588067612625,4, 6 | 81,1,8,PLAYBACK_FAIL,1588067612631,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/82_0_73.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 82,0,73,PLAYER_SESSION_CREATE,1588067612632,0, 5 | 82,0,73,REQ_HOME_START,1588067612632,4, 6 | 82,0,73,PLAYBACK_FAIL,1588067612634,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/83_1_9.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 83,1,9,PLAYER_SESSION_CREATE,1588067612679,0, 5 | 83,1,9,REQ_HOME_START,1588067612679,4, 6 | 83,1,9,PLAYBACK_FAIL,1588067612682,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/84_0_74.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 84,0,74,PLAYER_SESSION_CREATE,1588067612679,0, 5 | 84,0,74,REQ_HOME_START,1588067612679,4, 6 | 84,0,74,PLAYBACK_FAIL,1588067612682,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/85_0_75.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 85,0,75,PLAYER_SESSION_CREATE,1588067612731,0, 5 | 85,0,75,REQ_HOME_START,1588067612731,4, 6 | 85,0,75,PLAYBACK_FAIL,1588067612733,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/86_1_10.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 86,1,10,PLAYER_SESSION_CREATE,1588067612731,0, 5 | 86,1,10,REQ_HOME_START,1588067612731,4, 6 | 86,1,10,PLAYBACK_FAIL,1588067612735,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/87_0_76.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 87,0,76,PLAYER_SESSION_CREATE,1588067612734,0, 5 | 87,0,76,REQ_HOME_START,1588067612734,4, 6 | 87,0,76,PLAYBACK_FAIL,1588067612737,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/88_1_11.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 88,1,11,PLAYER_SESSION_CREATE,1588067612784,0, 5 | 88,1,11,REQ_HOME_START,1588067612784,4, 6 | 88,1,11,PLAYBACK_FAIL,1588067612787,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/89_0_77.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 89,0,77,PLAYER_SESSION_CREATE,1588067612784,0, 5 | 89,0,77,REQ_HOME_START,1588067612784,4, 6 | 89,0,77,PLAYBACK_FAIL,1588067612787,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/8_0_8.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 8,0,8,PLAYER_SESSION_CREATE,1588067610501,0, 5 | 8,0,8,REQ_HOME_START,1588067610501,4, 6 | 8,0,8,PLAYBACK_FAIL,1588067610508,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/90_1_12.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 90,1,12,PLAYER_SESSION_CREATE,1588067612788,0, 5 | 90,1,12,REQ_HOME_START,1588067612788,4, 6 | 90,1,12,PLAYBACK_FAIL,1588067612790,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/91_0_78.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 91,0,78,PLAYER_SESSION_CREATE,1588067612812,0, 5 | 91,0,78,REQ_HOME_START,1588067612812,4, 6 | 91,0,78,PLAYBACK_FAIL,1588067612817,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/92_1_13.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 92,1,13,PLAYER_SESSION_CREATE,1588067612812,0, 5 | 92,1,13,REQ_HOME_START,1588067612812,4, 6 | 92,1,13,PLAYBACK_FAIL,1588067612817,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/93_0_79.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 93,0,79,PLAYER_SESSION_CREATE,1588067614917,0, 5 | 93,0,79,REQ_HOME_START,1588067614917,4, 6 | 93,0,79,PLAYBACK_FAIL,1588067614923,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/94_1_14.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 94,1,14,PLAYER_SESSION_CREATE,1588067614917,0, 5 | 94,1,14,REQ_HOME_START,1588067614917,4, 6 | 94,1,14,PLAYBACK_FAIL,1588067614922,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/95_1_15.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 95,1,15,PLAYER_SESSION_CREATE,1588067615035,0, 5 | 95,1,15,REQ_HOME_START,1588067615035,4, 6 | 95,1,15,PLAYBACK_FAIL,1588067615040,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/96_0_80.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 96,0,80,PLAYER_SESSION_CREATE,1588067615037,0, 5 | 96,0,80,REQ_HOME_START,1588067615037,4, 6 | 96,0,80,PLAYBACK_FAIL,1588067615042,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/97_2_0.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 97,2,0,PLAYER_SESSION_CREATE,1588067615225,0, 5 | 97,2,0,REQ_HOME_START,1588067615225,4, 6 | 97,2,0,PLAYBACK_FAIL,1588067615233,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/98_1_16.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 98,1,16,PLAYER_SESSION_CREATE,1588067615225,0, 5 | 98,1,16,REQ_HOME_START,1588067615225,4, 6 | 98,1,16,PLAYBACK_FAIL,1588067615233,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/99_0_81.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 99,0,81,PLAYER_SESSION_CREATE,1588067615225,0, 5 | 99,0,81,REQ_HOME_START,1588067615225,4, 6 | 99,0,81,PLAYBACK_FAIL,1588067615232,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/sessions/9_0_9.csv: -------------------------------------------------------------------------------- 1 | # http://localhost:2811 --workers 10 --output-dir shinylogs/run2 2 | # {"appUrl":"http://localhost:2811","debugLog":false,"loadedDurationMinutes":0.0,"logLevel":"WARN","outputDir":"shinylogs/run2","overwriteOutput":false,"recordingPath":"shinylogs/recording.log","workers":10} 3 | session_id,worker_id,iteration,event,timestamp,input_line_number,comment 4 | 9,0,9,PLAYER_SESSION_CREATE,1588067610510,0, 5 | 9,0,9,REQ_HOME_START,1588067610510,4, 6 | 9,0,9,PLAYBACK_FAIL,1588067610516,4, 7 | -------------------------------------------------------------------------------- /shinylogs/run2/shinycannon-version.txt: -------------------------------------------------------------------------------- 1 | 1.0.0-b267bad -------------------------------------------------------------------------------- /shinylogs/run3/shinycannon-version.txt: -------------------------------------------------------------------------------- 1 | 1.0.0-b267bad -------------------------------------------------------------------------------- /tests/spelling.R: -------------------------------------------------------------------------------- 1 | if(requireNamespace('spelling', quietly = TRUE)) 2 | spelling::spell_check_test(vignettes = TRUE, error = FALSE, 3 | skip_on_cran = TRUE) 4 | --------------------------------------------------------------------------------