详细的付款信息是至关重要的成本和资源规划基于云的分析项目,但很难获得。这个软件的目的是帮助Terra /砧平台的用户获得这个数据尽可能容易。
谷歌云平台控制台可用于获取信息在不同层次的细节。例如,它是简单的生成一个显示如下。
从谷歌控制台成本跟踪。
然而,这里的成本跟踪总结费用相关的各种活动CPU使用率,存储和网络使用。我们的目标是提供R功能帮助显示信息费用产生在铁砧的使用。
增强食欲的,我们将展示如何运行一个探索性应用程序看起来像:
早期的计算应用程序。
安装AnVILBilling包和
如果(!requireNamespace(“BiocManager”,静静地=真正的))install.packages(“BiocManager”,回购=“https://cran.r-project.org”)BiocManager::安装(“AnVILBilling”)
一旦安装完毕,加载方案
这个描述的功能需要用户连接谷歌云平台项目的计费出口与Terra /砧BigQuery数据集。
一般这个过程的信息可以在这里找到:
https://cloud.google.com/billing/docs/how-to/export-data-bigquery
为了建立这个砧/地球系统:
一旦完成你将能够看到
exportview
值适合您的项目和帐户配置代替“landmarkMark2”(计算项目名称)、“bjbilling”(Google项目BigQuery范围,用于传输成本数据landmarkMark2 BigQuery),和“anvilbilling”(BigQuery数据集名称,第二天成本值存储)。
计费数据通常可用一天后遭受的指控。计费数据存储在BigQuery分区表,并使用bigrquery包是可查询。
为了生成一个请求,你需要:
然后您可以使用功能:
setup_billing_request(开始、结束项目,数据集、表billing_code)
创建一个请求。
一旦你有了一个请求对象,然后你可以得到与请求相关的计费数据使用计费请求认为()函数。
计算的结果在一个计费请求的一个实例avReckoning
我们把项目中使用我们的快照,它作为demo_rec是可用的。这个请求代表一天的使用在砧/ Terra。
项目bjbilling # # # #砧清算信息从2020-01-28开始,2020-01-29结束。# #有1599条记录。# # # #可用键:[1]“goog-resource-type”“goog-metric-domain”# # [3]“goog-dataproc-cluster-name”“goog-dataproc-cluster-uuid”# # [5]“goog-dataproc-location”“cromwell-workflow-id”# # [7]“goog-pipelines-worker”“terra-submission-id”# # [9]“wdl-task-name”“安全”# # [11]“ad-anvil_devs”“ad-auth_anvil_anvil_gtex_v8_hg38”# # - - - # #使用ab_reckoning全表()
可用键显示计费对象。
Terra, 3最有用的密钥:
要使用的代码,而集群使用,看起来像这样:
库(砧)狮子座=达芬奇()狮子座getRuntime美元(clustername)
给定一个密钥类型,我们想知道相关的值。
# # [1]“terra - 196 - d3163 - 4 - eef - 46 - e8 a7e6 e71c0012003d”
要理解与此提交相关的活动,我们表的子集。
# # #一个宠物猫:955×17 # # billing_account_id服务sku usage_start_time usage_end_time # # <空空的> <列表> <列表> < dttm > < dttm > # # 015 e39 - 38569 d - 3 cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # 2 015 e39 - 38569 d - 3 - cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # 3 015 e39 - 38569 d - 3 cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # 4 015 e39 - 38569 d - 3 cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # 5 015 e39 - 38569 d - 3 cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # 6 015 e39 - 38569 d - 3 cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # 7 015 e39 - 38569 d - 3 cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # 8 015 e39 - 38569 d - 3 cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # 9 015 e39 - 38569 d - 3 cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # 015 e39 - 38569 d - 3 cc771 <名为l…<名字…2020-01-28 20:00:00 2020-01-28 21:00:00 # # #…945多行,和12个变量:项目<列表>,<列表>标签,# # # system_labels <列表>、<列表>位置,export_time < dttm >、<双>成本,# # #货币<科>,currency_conversion_rate <双>,使用<列表>,# # #学分<列表>、<列表>、发票cost_type <空空的>
以下数据是可用的对象
# # [1]“billing_account_id”“服务”# # [3]“sku”“usage_start_time”# # [5]“usage_end_time”“项目”# #[7]“标签”“system_labels”# #[9]“位置”“export_time”# #[11]“成本”“货币”# # [13]“currency_conversion_rate”“使用”# #[15]“学分”“发票”# # [17]“cost_type”
您可以下钻提交期间使用的更多的了解产品:
# #[1]“存储PD能力”# # [2]“SSD PD支持能力”# #[3]“网络国米区入口”# #[4]“网络内部区域入口”# #[5]“外部IP收费标准VM”# #[6]“美洲自定义实例内存运行”# #[7]“美洲自定义实例核心运行”# #[8]“许可费用屏蔽COS (CPU成本)”## [9] "Licensing Fee for Shielded COS (RAM cost)" ## [10] "Network Internet Ingress from APAC to Americas" ## [11] "Network Internet Ingress from EMEA to Americas" ## [12] "Network Google Egress from Americas to Americas" ## [13] "Network Internet Ingress from China to Americas" ## [14] "Network Google Ingress from Americas to Americas" ## [15] "Network Internet Egress from Americas to Americas" ## [16] "Network Internet Ingress from Americas to Americas" ## [17] "Network Internet Ingress from Australia to Americas" ## [18] "Network HTTP Load Balancing Ingress from Load Balancer" ## [19] "Network Inter Region Ingress from Americas to Americas" ## [20] "Network Egress via Carrier Peering Network - Americas Based" ## [21] "Network Ingress via Carrier Peering Network - Americas Based" ## [22] "Licensing Fee for Container-Optimized OS from Google (CPU cost)" ## [23] "Licensing Fee for Container-Optimized OS from Google (RAM cost)" ## [24] "Licensing Fee for Container-Optimized OS - PCID Whitelisted (CPU cost)" ## [25] "Licensing Fee for Container-Optimized OS - PCID Whitelisted (RAM cost)"
你也可以得到一个工作流的成本使用:
数据(demo_rec)#使recv =getvalue(demo_rec@估算,“terra-submission-id”)[1]#例如getSubmissionCost(demo_rec@清算,v)
# # 0.054044 [1]
和内存使用情况:
数据(demo_rec)#使recv =getvalue(demo_rec@估算,“terra-submission-id”)[1]#例如getSubmissionRam(demo_rec@清算,v)
# # 1 # # submissionID工作流terra - 196 - d3163 - 4 - eef - 46 - e8 a7e6 e71c0012003d runterratrial # # 2 terra - 196 - d3163 - 4 - eef - 46 - e8 a7e6 e71c0012003d runterratrial # # 3 terra - 196 - d3163 - 4 - eef - 46 - e8 a7e6 e71c0012003d runterratrial # # 4 terra - 196 - d3163 - 4 - eef - 46 - e8 a7e6 e71c0012003d runterratrial # # 5 terra - 196 - d3163 - 4 - eef - 46 - e8 a7e6 e71c0012003d runterratrial # # 1 # # cromwellID克伦威尔- 4 - dde8ce1 a8e5 - 47 - ba - a261 - 120 ae8c7556c # # 2克伦威尔- 8 - edb23d6 a7d2 - 4 - b1f - 96 - b4 - 496 e96c1d707 # # 3克伦威尔- b1dcdbe1 b4ec - 4428 - 8570 - e2ab883087d0 # # 4克伦威尔- 664 - b3519 - 7 - c7a - 42 - ba - bb00 - 562 ea1f650fd # # 5克伦威尔- 176 - a9f09 - 483 - c - 4 - eb1 abf0 e5de2fdf36a7 # # sku数量单位# # 1自定义实例内存运行在美洲1.676111 e + 12 byte-seconds # # 2自定义实例内存运行在美洲1.737314 e + 12 byte-seconds # # 3自定义实例内存运行在美洲1.607392 e + 12 byte-seconds # # 4自定义实例内存运行在美洲1.573032 e + 12 byte-seconds # # 5自定义实例内存运行在美洲1.582695 e + 12 byte-seconds # # pricingUnit amountInPricingUnit gibibyte # # 1 # # 2 gibibyte 0.4336111小时0.4494444 # # 3 gibibyte 0.4158333 # # 4 gibibyte小时0.4069444 # # 5 gibibyte 0.4094444小时
为了简化一些报道方面的成本,我们已经介绍了browse_reck
谷歌BigQuery将用户进行身份验证,并使用指定的输入来确定哪些使用数据之间的间隔几天。这个函数可以调用不带参数,或者你可以提供电子邮件地址中使用谷歌标识与谷歌合作和BigQuery云平台项目。
# # R版本以下4.4.1(2021-08-10)# #平台:x86_64-pc-linux-gnu(64位)# #下运行:Ubuntu 20.04.3 LTS # # # #矩阵产品:默认# #布拉斯特区:/home/biocbuild/bbs - 3.14 - bioc / R / lib / libRblas。所以# # LAPACK: /home/biocbuild/bbs - 3.14 - bioc / R / lib / libRlapack。# # # #语言环境:# # [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C # #[3]而= en_GB LC_COLLATE = C # # [5] LC_MONETARY = en_US。utf - 8 LC_MESSAGES = en_US。utf - 8 # # [7] LC_PAPER = en_US。utf - 8 LC_NAME = C # # [9] LC_ADDRESS C = C LC_TELEPHONE = # # [11] LC_MEASUREMENT = en_US。utf - 8 LC_IDENTIFICATION = C附加基本包:# # # # # #[1]统计图形grDevices跑龙套数据集方法基础# # # #其他附加包:# # [1]magrittr_2.0.1 dplyr_1.0.7 AnVILBilling_1.4.0 BiocStyle_2.22.0 # # # #通过加载一个名称空间(而不是附加):# # [1]Rcpp_1.0.7 lubridate_1.8.0 tidyr_1.1.4 # # [4] assertthat_0.2.1 digest_0.6.28 utf8_1.2.2 # # [7] mime_0.12 R6_2.5.1 evaluate_0.14 # # [10] httr_1.4.2 ggplot2_3.3.5 pillar_1.6.4 # # [13] rlang_0.4.12 lazyeval_0.2.2 data.table_1.14.2 # # [16] jquerylib_0.1.4 DT_0.19 rmarkdown_2.11 # # [19] stringr_1.4.0 htmlwidgets_1.5.4 bit_4.0.4 # # [22] munsell_0.5.0 shiny_1.7.1 compiler_4.1.1 # # [25] httpuv_1.6.3 xfun_0.27 pkgconfig_2.0.3 # # [28] htmltools_0.5.2 tidyselect_1.1.1 tibble_3.1.5 # # [31] bookdown_0.24 fansi_0.5.0 viridisLite_0.4.0 # # [34] crayon_1.4.1 dbplyr_2.1.1 later_1.3.0 # # [37] grid_4.1.1 jsonlite_1.7.2 xtable_1.8-4 # # [40] bigrquery_1.4.0 gtable_0.3.0 lifecycle_1.0.1 # # [43] DBI_1.1.1 scales_1.1.1 cli_3.0.1 # # [46] stringi_1.7.5 fs_1.5.0 promises_1.2.0.1 # # [49] bslib_0.3.1 ellipsis_0.3.2 generics_0.1.1 # # [52] vctrs_0.3.8 tools_4.1.1 bit64_4.0.5 # # [55] glue_1.4.2 shinytoastr_2.1.1 purrr_0.3.4 # # [58] fastmap_1.1.0 yaml_2.2.1 colorspace_2.0-2 # # [61] gargle_1.2.0 BiocManager_1.30.16 plotly_4.10.0 # # [64] knitr_1.36 sass_0.4.0