This is an automated email from the ASF dual-hosted git repository.
damondouglas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new 549bbfc3a99 Embed public Beam IO Performance Metrics (#27540)
549bbfc3a99 is described below
commit 549bbfc3a99a320da64bc14ad4563e956610f5ba
Author: Damon <[email protected]>
AuthorDate: Thu Jul 20 14:40:16 2023 -0700
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
---
.../site/content/en/documentation/io/connectors.md | 8 +-
website/www/site/content/en/performance/_index.md | 40 ++++++++
.../site/content/en/performance/bigquery/_index.md | 50 ++++++++++
.../site/content/en/performance/bigtable/_index.md | 50 ++++++++++
.../site/content/en/performance/glossary/_index.md | 47 +++++++++
.../site/content/en/performance/textio/_index.md | 50 ++++++++++
website/www/site/data/performance.yaml | 108 +++++++++++++++++++++
website/www/site/i18n/navbar/en.yaml | 10 ++
website/www/site/layouts/performance/baseof.html | 40 ++++++++
.../site/layouts/shortcodes/performance_looks.html | 30 ++++++
10 files changed, 429 insertions(+), 4 deletions(-)
diff --git a/website/www/site/content/en/documentation/io/connectors.md
b/website/www/site/content/en/documentation/io/connectors.md
index a1f458377af..4524dbc0c97 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-
<td class="present">✔</td>
</tr>
<tr>
- <td>TextIO</td>
+ <td>TextIO (<a href="/performance/textio">metrics</a>)</td>
<td class="present">✔</td>
<td class="present">✔</td>
<td class="present">
@@ -200,7 +200,7 @@ This table provides a consolidated, at-a-glance overview of
the available built-
<td class="absent">✘</td>
</tr>
<tr>
- <td>GcsFileSystem</td>
+ <td>GcsFileSystem (<a href="/performance/textio">metrics</a>)</td>
<td class="present">✔</td>
<td class="present">✔</td>
<td class="present">
@@ -522,7 +522,7 @@ This table provides a consolidated, at-a-glance overview of
the available built-
<td class="present">✔</td>
</tr>
<tr>
- <td>BigQueryIO (<a
href="/documentation/io/built-in/google-bigquery/">guide</a>)</td>
+ <td>BigQueryIO (<a
href="/documentation/io/built-in/google-bigquery/">guide</a>) (<a
href="/performance/bigquery">metrics</a>)</td>
<td class="present">✔</td>
<td class="present">✔</td>
<td class="present">
@@ -545,7 +545,7 @@ This table provides a consolidated, at-a-glance overview of
the available built-
<td class="present">✔</td>
</tr>
<tr>
- <td>BigTableIO</td>
+ <td>BigTableIO (<a href="/performance/bigtable">metrics</a>)</td>
<td class="present">✔</td>
<td class="present">✔</td>
<td class="present">
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 00000000000..f821b0f2508
--- /dev/null
+++ b/website/www/site/content/en/performance/_index.md
@@ -0,0 +1,40 @@
+---
+title: "Beam IO Performance"
+---
+
+<!--
+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.
+-->
+
+# 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 00000000000..5d46e118097
--- /dev/null
+++ b/website/www/site/content/en/performance/bigquery/_index.md
@@ -0,0 +1,50 @@
+---
+title: "BigQuery Performance"
+---
+
+<!--
+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.
+-->
+
+# 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 00000000000..d394528a05f
--- /dev/null
+++ b/website/www/site/content/en/performance/bigtable/_index.md
@@ -0,0 +1,50 @@
+---
+title: "BigTable Performance"
+---
+
+<!--
+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.
+-->
+
+# 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 00000000000..6741d107ad3
--- /dev/null
+++ b/website/www/site/content/en/performance/glossary/_index.md
@@ -0,0 +1,47 @@
+---
+title: "Performance Glossary"
+---
+
+<!--
+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.
+-->
+
+# 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 00000000000..97c740ad057
--- /dev/null
+++ b/website/www/site/content/en/performance/textio/_index.md
@@ -0,0 +1,50 @@
+---
+title: "TextIO Performance"
+---
+
+<!--
+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.
+-->
+
+# 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 00000000000..dc375811c83
--- /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 d356d282671..aeb1988183b 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 00000000000..06aa0031077
--- /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.
+*/}}
+
+<!DOCTYPE html>
+<html lang="{{ .Site.Language.Lang }}" class="no-js">
+<head>
+ {{ partial "head.html" . }}
+</head>
+<body class="body" data-spy="scroll" data-target=".page-nav" data-offset="0">
+{{ partial "header.html" . }}
+<div class="clearfix container-main-content">
+ <div class="section-nav closed" data-offset-top="90"
data-offset-bottom="500">
+ <span class="section-nav-back glyphicon glyphicon-menu-left"></span>
+ <nav>
+ <ul class="section-nav-list" data-section-nav>
+ </ul>
+ </nav>
+ </div>
+
+ <nav class="page-nav clearfix" data-offset-top="90" data-offset-bottom="500">
+ {{ .TableOfContents }}
+ </nav>
+
+ <div class="body__contained body__section-nav arrow-list arrow-list--no-mt">
+ {{ .Content }}
+ {{ partial "feedback.html" . }}
+ </div>
+</div>
+{{ partial "footer.html" . }}
+</body>
+</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 00000000000..1a4f1d0a578
--- /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.
+*/}}
+
+<div>
+ {{ $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" }}
+ <h4>{{.title}}</h4>
+ <div class="performance">
+ <img
+ src="{{$host}}/{{$path}}/{{$folder}}/{{.id}}.png"
+ alt="{{.title}}"
+ >
+ </div>
+ {{ end }}
+</div>