From 086e3d4d32d7def73155d4046d4e9b6b86d5195f Mon Sep 17 00:00:00 2001 From: Damon Date: Thu, 20 Jul 2023 14:40:16 -0700 Subject: [PATCH] Embed public Beam IO Performance Metrics (#27540) * Use shortcodes to render looks * Add performance looks * Fix performance/index * Use pngs stored in GCS * Fix textio wording * Remove navigation header * Add links to metrics * Trim metrics list --- .../content/en/documentation/io/connectors.md | 8 +- .../www/site/content/en/performance/_index.md | 40 +++++++ .../content/en/performance/bigquery/_index.md | 50 ++++++++ .../content/en/performance/bigtable/_index.md | 50 ++++++++ .../content/en/performance/glossary/_index.md | 47 ++++++++ .../content/en/performance/textio/_index.md | 50 ++++++++ website/www/site/data/performance.yaml | 108 ++++++++++++++++++ website/www/site/i18n/navbar/en.yaml | 10 ++ .../www/site/layouts/performance/baseof.html | 40 +++++++ .../layouts/shortcodes/performance_looks.html | 30 +++++ 10 files changed, 429 insertions(+), 4 deletions(-) create mode 100644 website/www/site/content/en/performance/_index.md create mode 100644 website/www/site/content/en/performance/bigquery/_index.md create mode 100644 website/www/site/content/en/performance/bigtable/_index.md create mode 100644 website/www/site/content/en/performance/glossary/_index.md create mode 100644 website/www/site/content/en/performance/textio/_index.md create mode 100644 website/www/site/data/performance.yaml create mode 100644 website/www/site/layouts/performance/baseof.html create mode 100644 website/www/site/layouts/shortcodes/performance_looks.html diff --git a/website/www/site/content/en/documentation/io/connectors.md b/website/www/site/content/en/documentation/io/connectors.md index a1f458377afd..4524dbc0c975 100644 --- a/website/www/site/content/en/documentation/io/connectors.md +++ b/website/www/site/content/en/documentation/io/connectors.md @@ -79,7 +79,7 @@ This table provides a consolidated, at-a-glance overview of the available built- ✔ - TextIO + TextIO (metrics) ✔ ✔ @@ -200,7 +200,7 @@ This table provides a consolidated, at-a-glance overview of the available built- ✘ - GcsFileSystem + GcsFileSystem (metrics) ✔ ✔ @@ -522,7 +522,7 @@ This table provides a consolidated, at-a-glance overview of the available built- ✔ - BigQueryIO (guide) + BigQueryIO (guide) (metrics) ✔ ✔ @@ -545,7 +545,7 @@ This table provides a consolidated, at-a-glance overview of the available built- ✔ - BigTableIO + BigTableIO (metrics) ✔ ✔ diff --git a/website/www/site/content/en/performance/_index.md b/website/www/site/content/en/performance/_index.md new file mode 100644 index 000000000000..f821b0f25084 --- /dev/null +++ b/website/www/site/content/en/performance/_index.md @@ -0,0 +1,40 @@ +--- +title: "Beam IO Performance" +--- + + + +# Beam IO Performance + +Various Beam pipelines measure characteristics of reading from and writing to +various IOs. + +# Available Metrics + +Various metrics were gathered using the Beam SDK +[Metrics API](/documentation/programming-guide/#metrics) +from a pipeline Job running on [Dataflow](/documentation/runners/dataflow/). + +See the [glossary](/performance/glossary) for a list of the metrics and their +definition. + +# Measured Beam IOs + +See the following pages for performance measures recorded when reading from and +writing to various Beam IOs. + +- [BigQuery](/performance/bigquery) +- [BigTable](/performance/bigtable) +- [TextIO](/performance/textio) \ No newline at end of file diff --git a/website/www/site/content/en/performance/bigquery/_index.md b/website/www/site/content/en/performance/bigquery/_index.md new file mode 100644 index 000000000000..5d46e1180970 --- /dev/null +++ b/website/www/site/content/en/performance/bigquery/_index.md @@ -0,0 +1,50 @@ +--- +title: "BigQuery Performance" +--- + + + +# BigQuery Performance + +The following graphs show various metrics when reading from and writing to +BigQuery. See the [glossary](/performance/glossary) for definitions. + +## Read + +### What is the estimated cost to read from BigQuery? + +{{< performance_looks io="bigquery" read_or_write="read" section="test_name" >}} + +### How has various metrics changed when reading from BigQuery for different Beam SDK versions? + +{{< performance_looks io="bigquery" read_or_write="read" section="version" >}} + +### How has various metrics changed over time when reading from BigQuery? + +{{< performance_looks io="bigquery" read_or_write="read" section="date" >}} + +## Write + +### What is the estimated cost to write to BigQuery? + +{{< performance_looks io="bigquery" read_or_write="write" section="test_name" >}} + +### How has various metrics changed when writing to BigQuery for different Beam SDK versions? + +{{< performance_looks io="bigquery" read_or_write="write" section="version" >}} + +### How has various metrics changed over time when writing to BigQuery? + +{{< performance_looks io="bigquery" read_or_write="write" section="date" >}} diff --git a/website/www/site/content/en/performance/bigtable/_index.md b/website/www/site/content/en/performance/bigtable/_index.md new file mode 100644 index 000000000000..d394528a05fa --- /dev/null +++ b/website/www/site/content/en/performance/bigtable/_index.md @@ -0,0 +1,50 @@ +--- +title: "BigTable Performance" +--- + + + +# BigTable Performance + +The following graphs show various metrics when reading from and writing to +BigTable. See the [glossary](/performance/glossary) for definitions. + +## Read + +### What is the estimated cost to read from BigTable? + +{{< performance_looks io="bigquery" read_or_write="read" section="test_name" >}} + +### How has various metrics changed when reading from BigTable for different Beam SDK versions? + +{{< performance_looks io="bigquery" read_or_write="read" section="version" >}} + +### How has various metrics changed over time when reading from BigTable? + +{{< performance_looks io="bigquery" read_or_write="read" section="date" >}} + +## Write + +### What is the estimated cost to write to BigTable? + +{{< performance_looks io="bigquery" read_or_write="write" section="test_name" >}} + +### How has various metrics changed when writing to BigTable for different Beam SDK versions? + +{{< performance_looks io="bigquery" read_or_write="write" section="version" >}} + +### How has various metrics changed over time when writing to BigTable? + +{{< performance_looks io="bigquery" read_or_write="write" section="date" >}} diff --git a/website/www/site/content/en/performance/glossary/_index.md b/website/www/site/content/en/performance/glossary/_index.md new file mode 100644 index 000000000000..6741d107ad33 --- /dev/null +++ b/website/www/site/content/en/performance/glossary/_index.md @@ -0,0 +1,47 @@ +--- +title: "Performance Glossary" +--- + + + +# Metrics Glossary + +The metrics glossary defines various metrics presented in the visualizations, +measured using the [Beam Metrics API](/documentation/programming-guide/#metrics) +from a pipeline Job running on [Dataflow](/documentation/runners/dataflow/). + +## AvgInputThroughputBytesPerSec + +The mean input throughput of the pipeline Job measured in bytes per second. + +## AvgInputThroughputElementsPerSec + +The mean elements input throughput per second of the pipeline Job. + +## AvgOutputThroughputBytesPerSec + +The mean output throughput of the pipeline Job measured in bytes per second. + +## AvgOutputThroughputElementsPerSec + +The mean elements output throughput per second of the pipeline Job. + +## EstimatedCost + +The estimated cost of the pipeline Job. + +## RunTime + +The time it took for the pipeline Job to run measured in seconds. diff --git a/website/www/site/content/en/performance/textio/_index.md b/website/www/site/content/en/performance/textio/_index.md new file mode 100644 index 000000000000..97c740ad057e --- /dev/null +++ b/website/www/site/content/en/performance/textio/_index.md @@ -0,0 +1,50 @@ +--- +title: "TextIO Performance" +--- + + + +# TextIO Performance + +The following graphs show various metrics when reading from or writing to Google Cloud Storage using +TextIO. See the [glossary](/performance/glossary) for definitions. + +## Read + +### What is the estimated cost of reading from Google Cloud Storage using TextIO? + +{{< performance_looks io="textio" read_or_write="read" section="test_name" >}} + +### How has various metrics changed when reading from Google Cloud Storage using TextIO for different Beam SDK versions? + +{{< performance_looks io="textio" read_or_write="read" section="version" >}} + +### How has various metrics changed over time when reading from Google Cloud Storage using TextIO? + +{{< performance_looks io="textio" read_or_write="read" section="date" >}} + +## Write + +### What is the estimated cost of writing to Google Cloud Storage using TextIO? + +{{< performance_looks io="textio" read_or_write="write" section="test_name" >}} + +### How has various metrics changed when writing to Google Cloud Storage using TextIO for different Beam SDK versions? + +{{< performance_looks io="textio" read_or_write="write" section="version" >}} + +### How has various metrics changed over time when writing to Google Cloud Storage using TextIO? + +{{< performance_looks io="textio" read_or_write="write" section="date" >}} diff --git a/website/www/site/data/performance.yaml b/website/www/site/data/performance.yaml new file mode 100644 index 000000000000..dc375811c833 --- /dev/null +++ b/website/www/site/data/performance.yaml @@ -0,0 +1,108 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +host: https://storage.googleapis.com +path: public_looker_explores_us_a3853f40 +looks: + bigquery: + read: + folder: 30 + test_name: + - id: nwQxvsnQFdBPTk27pZYxjcGNm2rRfNJk + title: Runtime and Estimated Cost by Test Name + date: + - id: 7QKbMmgT5NgPH6RsDfVQmKMdjJysS37x + title: AvgOutputThroughputBytesPerSec by Date + - id: hSqCyCkHkh4whNZSpdVFwB8ksPWrbScb + title: AvgOutputThroughputElementsPerSec by Date + version: + - id: SghzxqjMb5QQwgZn7yHw4MnpGXBgXQft + title: AvgOutputThroughputBytesPerSec by Version + - id: QT6X4GTCnxxykSZ7tpXyBfBFCKMgdzs7 + title: AvgOutputThroughputElementsPerSec by Version + write: + folder: 31 + test_name: + - id: sHyRfwCfGCPqSwsTWXSsxfbHKH5hXjzc + title: Write BigQuery RunTime and EstimatedCost + date: + - id: p2qnxS58WdWdZTzJhXfSbkhxGyDXMYfY + title: AvgInputThroughputBytesPerSec by Date + - id: Bmg6sv8XPtcn3cGtgPtKP26Zj4cyd2XK + title: AvgInputThroughputElementsPerSec by Date + version: + - id: Q6QvktyfSFrSPq4TSDgQQyV9jttjwQJp + title: AvgInputThroughputBytesPerSec by Version + - id: ktfyZ7Th8yRFFwWgb4WSxngBpmSfz8xh + title: AvgInputThroughputElementsPerSec by Version + bigtable: + read: + folder: 32 + test_name: + - id: YQ2W3wdNnBXMgDgpzCRbmQWMHjyPvZny + title: Read BigTable RunTime and EstimatedCost + date: + - id: szvwNfPrwTtmRmMHWv3QFh6wTKxm26TF + title: AvgOutputThroughputBytesPerSec by Date + - id: ZRQw7np2mj35kQHcvgtNDwVGgP855QNF + title: AvgOutputThroughputElementsPerSec by Date + version: + - id: X7y2hQQkJnYY8ctnr2y7NnNx7xrMkjt2 + title: AvgOutputThroughputBytesPerSec by Version + - id: B3HwmTtn9nBfzwRC7s3WfQSjf7ckrfXx + title: AvgOutputThroughputElementsPerSec by Version + write: + folder: 33 + test_name: + - id: 2sC27RQwWy2MP9DXVHjbvTYSNFYpFvxj + title: Write BigTable RunTime and EstimatedCost + date: + - id: X22sDqD8krBQQ4mRXTFMmpKFvgkZ529g + title: AvgInputThroughputBytesPerSec by Date + - id: WqHVhrjQVrrjpczqgJB9s9k8fvt3Vc2d + title: AvgInputThroughputElementsPerSec by Date + version: + - id: j72shCBz6rJhQP8JwYB3JcVrhv9BWGpD + title: AvgInputThroughputBytesPerSec by Version + - id: 6DyhkfvcNfkJg53hwFnRzxqbJDdGb5t7 + title: AvgInputThroughputElementsPerSec by Version + textio: + read: + folder: 34 + test_name: + - id: SsfFgvwyMthnHjdRwBjWGNbvfNgym4wb + title: Read TextIO RunTime and EstimatedCost + date: + - id: Pr8MBG66JVgBmdQbDr6HXtRprjr3ybj6 + title: AvgOutputThroughputBytesPerSec by Date + - id: CTZYK4KVYM65Zjn6jWgDYYNBWckDYKRQ + title: AvgOutputThroughputElementsPerSec by Date + version: + - id: Dcvfh3XFZySrsmPY4Rm8NYyMg5QQRBF6 + title: AvgOutputThroughputBytesPerSec by Version + - id: dN8mTZsVZc7vGDYKJCT8S67BCXzVJT4s + title: AvgOutputThroughputElementsPerSec by Version + write: + folder: 35 + test_name: + - id: Mm2j2QPc2x4hZqYNSpZC4bDpH2fgvqvp + title: Write TextIO RunTime and EstimatedCost + date: + - id: J9VXhp3ry5zbPFFGsYNfDRypGNVNMbPV + title: AvgInputThroughputBytesPerSec by Date + - id: KwSCnyz75wMpXhGpZQ8FRp6cwt8pjhfD + title: AvgInputThroughputElementsPerSec by Date + version: + - id: VFXbPV9JGJxmNYnGsypQzH97RPDFjpPN + title: AvgInputThroughputBytesPerSec by Version + - id: fVVHhXCrHNgBG52TJsTjR8VbmWCCQnVN + title: AvgInputThroughputElementsPerSec by Version diff --git a/website/www/site/i18n/navbar/en.yaml b/website/www/site/i18n/navbar/en.yaml index d356d282671e..aeb1988183b0 100644 --- a/website/www/site/i18n/navbar/en.yaml +++ b/website/www/site/i18n/navbar/en.yaml @@ -48,3 +48,13 @@ translation: "About" - id: nav-connectors translation: "I/O Connectors" +- id: nav-performance-general + translation: "General" +- id: nav-performance-bigquery + translation: "BigQuery" +- id: nav-performance-bigtable + translation: "BigTable" +- id: nav-performance-textio + translation: "TextIO" +- id: nav-performance-glossary + translation: "Glossary" diff --git a/website/www/site/layouts/performance/baseof.html b/website/www/site/layouts/performance/baseof.html new file mode 100644 index 000000000000..06aa0031077f --- /dev/null +++ b/website/www/site/layouts/performance/baseof.html @@ -0,0 +1,40 @@ +{{/* +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at +http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. See accompanying LICENSE file. +*/}} + + + + + {{ partial "head.html" . }} + + +{{ partial "header.html" . }} +
+
+ + +
+ + + +
+ {{ .Content }} + {{ partial "feedback.html" . }} +
+
+{{ partial "footer.html" . }} + + \ No newline at end of file diff --git a/website/www/site/layouts/shortcodes/performance_looks.html b/website/www/site/layouts/shortcodes/performance_looks.html new file mode 100644 index 000000000000..1a4f1d0a578f --- /dev/null +++ b/website/www/site/layouts/shortcodes/performance_looks.html @@ -0,0 +1,30 @@ +{{/* +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at +http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. See accompanying LICENSE file. +*/}} + +
+ {{ $host := .Site.Data.performance.host }} + {{ $path := .Site.Data.performance.path }} + {{ $looks := .Site.Data.performance.looks }} + {{ $io := index $looks (.Get "io") }} + {{ $rw := index $io (.Get "read_or_write") }} + {{ $section := index $rw (.Get "section") }} + {{ range $section }} + {{ $folder := index $rw "folder" }} +

{{.title}}

+
+ {{.title}} +
+ {{ end }} +