This is an automated email from the ASF dual-hosted git repository.
joshfischer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-heron.git
The following commit(s) were added to refs/heads/master by this push:
new b6cb95c Fixing the versions numbers and links in the site docs (#3332)
b6cb95c is described below
commit b6cb95c7ba5ab192a8ae83459fff457eaa86f5de
Author: ChethanU <[email protected]>
AuthorDate: Thu Sep 19 06:35:46 2019 +0530
Fixing the versions numbers and links in the site docs (#3332)
* Fixing the versions and links in the site docs
- Fixed Bazel and Heron Versions in all versioned docs
- Fixed language based problems
- Fixed Release Notes problems
- Fixed Broken Links
- Updated the scripts to build site
Signed-off-by: ChethanUK <[email protected]>
* Fixing the versions numbers and links in the site docs
- Fixed Bazel and Heron Versions in all versioned docs
- Fixed language based problems
- Fixed Release Notes problems
- Fixed Broken Links
- Updated the scripts to build site
Signed-off-by: ChethanUK <[email protected]>
* Fixing the versions numbers and links in the site docs
- Fixed Bazel and Heron Versions in all versioned docs
- Fixed language based problems
- Fixed Release Notes problems
- Fixed Broken Links
- Updated the scripts to build site
Signed-off-by: ChethanUK <[email protected]>
* Fixing the versions numbers and links in the site docs
- Fixed Bazel and Heron Versions in all versioned docs
- Fixed language based problems
- Fixed Release Notes problems
- Fixed Broken Links
- Updated the scripts to build site
Signed-off-by: ChethanUK <[email protected]>
---
website2/Dockerfile | 3 +-
website2/docs/getting-started-local-single-node.md | 2 +-
website2/website/README.md | 5 +
website2/website/languages.js | 9 -
website2/website/pages/en/index.js | 3 +-
website2/website/pages/en/release-notes.js | 43 +++++
website2/website/pages/en/versions.js | 13 +-
website2/website/release-notes.md | 24 +++
website2/website/scripts/build-site.sh | 0
website2/website/scripts/javadocs-overview.html | 0
website2/website/scripts/replace.js | 40 +++-
.../getting-started-local-single-node.md | 1 -
.../getting-started-local-single-node.md | 3 +-
.../getting-started-local-single-node.md | 5 +-
.../version-0.21.2/guides-ui-guide.md | 206 +++++++++++++++++++++
.../version-0.21.2/user-manuals-heron-ui.md | 62 +++++++
website2/website/versions.json | 2 +
17 files changed, 394 insertions(+), 27 deletions(-)
diff --git a/website2/Dockerfile b/website2/Dockerfile
index 076969b..8b9eb2e 100755
--- a/website2/Dockerfile
+++ b/website2/Dockerfile
@@ -22,5 +22,6 @@ EXPOSE 3000 35729
COPY ./docs /app/docs
COPY ./website /app/website
RUN yarn install
-
+RUN git config user.name "Heron Publish"
+RUN git config user.email "[email protected]"
CMD ["yarn", "start"]
diff --git a/website2/docs/getting-started-local-single-node.md
b/website2/docs/getting-started-local-single-node.md
index 9a23a3e..4a958e8 100644
--- a/website2/docs/getting-started-local-single-node.md
+++ b/website2/docs/getting-started-local-single-node.md
@@ -28,7 +28,7 @@ The easiest way to get started learning Heron is to install
the Heron client too
* [MacOS](#macos-homebrew)
* [Ubuntu >= 14.04](#using-installation-scripts)
* [CentOS](#using-installation-scripts)
-
+aa
For other platforms, you need to build from source. Please refer to the [guide
to compiling Heron](compiling-overview).
## Step 1 --- Download the Heron tools
diff --git a/website2/website/README.md b/website2/website/README.md
index 67a0d59..fcc4d46 100755
--- a/website2/website/README.md
+++ b/website2/website/README.md
@@ -16,6 +16,11 @@
specific language governing permissions and limitations
under the License.
-->
+ perl -pi -e 's/^ */\t/' Makefile
+ chmod +x scripts/*
+ npm run version 0.21.2
+
+
# The Heron website and documentation
This `README` is basically the meta-documentation for the Heron website and
documentation. You will find instructions on running the site locally.
diff --git a/website2/website/languages.js b/website2/website/languages.js
deleted file mode 100644
index 5a3a0cb..0000000
--- a/website2/website/languages.js
+++ /dev/null
@@ -1,9 +0,0 @@
-
-const languages = [
- {
- enabled: true,
- name: 'English',
- tag: 'en',
- }
-];
-module.exports = languages;
\ No newline at end of file
diff --git a/website2/website/pages/en/index.js
b/website2/website/pages/en/index.js
index 8e164f9..74760ce 100755
--- a/website2/website/pages/en/index.js
+++ b/website2/website/pages/en/index.js
@@ -67,7 +67,8 @@ class HomeSplash extends React.Component {
<div className="inner">
<ProjectTitle siteConfig={siteConfig} />
<PromoSection>
- <Button
href="/docs/en/getting-started-local-single-node">Documentation</Button>
+ < Button
+ href = "/docs/getting-started-local-single-node" > Documentation <
/Button>
{/* keep as reference for now <Button
href={docUrl('doc1.html')}>Github</Button> */}
<Button href="https://github.com/apache/incubator-heron"
target="_blank">Github</Button>
</PromoSection>
diff --git a/website2/website/pages/en/release-notes.js
b/website2/website/pages/en/release-notes.js
new file mode 100644
index 0000000..0695cc1
--- /dev/null
+++ b/website2/website/pages/en/release-notes.js
@@ -0,0 +1,43 @@
+const React = require('react');
+
+const CompLibrary = require('../../core/CompLibrary');
+const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
+const Container = CompLibrary.Container;
+const GridBlock = CompLibrary.GridBlock;
+
+const CWD = process.cwd();
+
+const siteConfig = require(`${CWD}/siteConfig.js`);
+
+const releaseNotes = require('fs').readFileSync(`${CWD}/release-notes.md`,
'utf8')
+
+class ReleaseNotes extends React.Component {
+ render() {
+
+ return (
+ < div
+ className = "pageContainer" >
+ < Container
+ className = "mainContainer documentContainer postContainer" >
+ < div
+ className = "post" >
+ < header
+ className = "postHeader" >
+ < h1 > Apache
+ Heron(Incubating)
+ Release
+ Notes < /h1>
+ < hr / >
+ < /header>
+ < MarkdownBlock >
+ {releaseNotes}
+ < /MarkdownBlock>
+ < /div>
+ < /Container>
+ < /div>
+ )
+ ;
+ }
+}
+
+module.exports = ReleaseNotes;
\ No newline at end of file
diff --git a/website2/website/pages/en/versions.js
b/website2/website/pages/en/versions.js
index b25ac50..db68518 100755
--- a/website2/website/pages/en/versions.js
+++ b/website2/website/pages/en/versions.js
@@ -45,7 +45,8 @@ function Versions(props) {
props.language ? props.language + '/' : ''
}doc1`}> */}
<a
-
href={`${siteConfig.baseUrl}docs/${props.language}/getting-started-local-single-node`}>
+ href = {`${siteConfig.baseUrl}docs/getting-started-local-single-node`
+}>
Documentation
</a>
</td>
@@ -68,7 +69,8 @@ function Versions(props) {
{/* You are supposed to change this href where appropriate
Example: href="<baseUrl>/docs(/:language)/next/:id" */}
<a
-
href={`${siteConfig.baseUrl}docs/${props.language}/next/getting-started-local-single-node`}>
+ href = {`${siteConfig.baseUrl}docs/next/getting-started-local-single-node`
+}>
Documentation
</a>
</td>
@@ -94,12 +96,15 @@ function Versions(props) {
{/* You are supposed to change this href where
appropriate
Example:
href="<baseUrl>/docs(/:language)/:version/:id" */}
<a
-
href={`${siteConfig.baseUrl}docs/${props.language}/${version}/getting-started-local-single-node`}>
+ href =
{`${siteConfig.baseUrl}docs/${version}/getting-started-local-single-node`
+ } >
Documentation
</a>
</td>
<td>
- <a href={`${repoUrl}/releases/tag/v${version}`}>
+ < a
+ href = {`${siteConfig.baseUrl}release-notes#${version}`
+}>
Release Notes
</a>
</td>
diff --git a/website2/website/release-notes.md
b/website2/website/release-notes.md
new file mode 100644
index 0000000..b755f23
--- /dev/null
+++ b/website2/website/release-notes.md
@@ -0,0 +1,24 @@
+
+## Releases
+
+### 0.20.0-incubating — 2018-11-21 <a id="0.20.0"></a>
+
+This is the first release of Heron as an Apache Incubating Project
+
+- Fix annotation processor (#3038)
+- Refactor heron_executor to make it easier to customize (#3043)
+- Remove libunwind patches (#3041)
+- cleanup README (#3037)
+- Fix Topology-API window documentation (#3039)
+- Nwang/update thirdparty license (#3042)
+- Fix 'Copyright 2015 The Heron Authors' in scripts (#3036)
+
+### 0.21.1-incubating — 2019-7-20 <a id="0.20.1"></a>
+
+- Example commit of 0.21.1
+
+### 0.21.2-incubating — 2019-08-27 <a id="0.21.2"></a>
+
+- Example Commit (#XXXX)
+
+
diff --git a/website2/website/scripts/build-site.sh
b/website2/website/scripts/build-site.sh
old mode 100644
new mode 100755
diff --git a/website2/website/scripts/javadocs-overview.html
b/website2/website/scripts/javadocs-overview.html
old mode 100644
new mode 100755
diff --git a/website2/website/scripts/replace.js
b/website2/website/scripts/replace.js
old mode 100644
new mode 100755
index 71ed7ef..a1b9cbe
--- a/website2/website/scripts/replace.js
+++ b/website2/website/scripts/replace.js
@@ -8,7 +8,6 @@ const docsDir = `${CWD}/build/${siteConfig.projectName}/docs`
function getVersions() {
try {
-
console.log(JSON.parse(require('fs').readFileSync(`${CWD}/versions.json`,
'utf8')))
return JSON.parse(require('fs').readFileSync(`${CWD}/versions.json`,
'utf8'));
} catch (error) {
//console.error(error)
@@ -30,14 +29,37 @@ replace(options)
});
}
+
const versions = getVersions();
const latestVersion = versions[0];
+const bazelVersions = {
+ '0.20.0': '0.14.1',
+ '0.20.1': '0.26',
+ 'latest': '0.26',
+}
+
+function replaceBazel(version) {
+ try {
+ if (version in bazelVersions) {
+ return bazelVersions[version]
+ } else {
+ throw new Error('Unable to find bazel Version');
+ }
+ } catch (error) {
+
+ console.error('no versions found defaulting to 0.26')
+ }
+ return '0.26'
+}
+
console.log(latestVersion)
const from = [
- /{{heron:version_latest}}/g,
/{{heron:version}}/g,
+ /{{bazel:version}}/g,
+ /{{% heronVersion %}}/g,
+ /{{% bazelVersion %}}/g
];
const options = {
@@ -48,8 +70,10 @@ const options = {
ignore: versions.map(v => `${docsDir}/${v}/**/*`), // TODO add next and
assets
from: from,
to: [
- `${latestVersion}`,
- `${versions}`,
+ `${latestVersion}`,
+ replaceBazel(`${latestVersion}`),
+ `${latestVersion}`,
+ replaceBazel(`${latestVersion}`),
],
dry: false
};
@@ -68,10 +92,12 @@ for (v of versions) {
],
from: from,
to: [
- `${latestVersion}`,
- `${v}`,
+ `${v}`,
+ replaceBazel(`${v}`),
+ `${v}`,
+ replaceBazel(`${v}`),
],
- dry: true
+ dry: false
};
doReplace(opts);
}
\ No newline at end of file
diff --git
a/website2/website/versioned_docs/version-0.20.0/getting-started-local-single-node.md
b/website2/website/versioned_docs/version-0.20.0/getting-started-local-single-node.md
index f600634..8e92019 100644
---
a/website2/website/versioned_docs/version-0.20.0/getting-started-local-single-node.md
+++
b/website2/website/versioned_docs/version-0.20.0/getting-started-local-single-node.md
@@ -23,7 +23,6 @@ original_id: getting-started-local-single-node
> The current version of Heron is **{{heron:version}}**
-
The easiest way to get started learning Heron is to install the Heron client
tools, which are currently available for:
* [MacOS](#macos-homebrew)
diff --git a/website2/docs/getting-started-local-single-node.md
b/website2/website/versioned_docs/version-0.21.1/getting-started-local-single-node.md
similarity index 98%
copy from website2/docs/getting-started-local-single-node.md
copy to
website2/website/versioned_docs/version-0.21.1/getting-started-local-single-node.md
index 9a23a3e..a9c9117 100644
--- a/website2/docs/getting-started-local-single-node.md
+++
b/website2/website/versioned_docs/version-0.21.1/getting-started-local-single-node.md
@@ -1,7 +1,8 @@
---
-id: getting-started-local-single-node
+id: version-0.21.1-getting-started-local-single-node
title: Local (Single Node)
sidebar_label: Local (Single Node)
+original_id: getting-started-local-single-node
---
<!--
Licensed to the Apache Software Foundation (ASF) under one
diff --git a/website2/docs/getting-started-local-single-node.md
b/website2/website/versioned_docs/version-0.21.2/getting-started-local-single-node.md
similarity index 98%
copy from website2/docs/getting-started-local-single-node.md
copy to
website2/website/versioned_docs/version-0.21.2/getting-started-local-single-node.md
index 9a23a3e..672509b 100644
--- a/website2/docs/getting-started-local-single-node.md
+++
b/website2/website/versioned_docs/version-0.21.2/getting-started-local-single-node.md
@@ -1,7 +1,8 @@
---
-id: getting-started-local-single-node
+id: version-0.21.2-getting-started-local-single-node
title: Local (Single Node)
sidebar_label: Local (Single Node)
+original_id: getting-started-local-single-node
---
<!--
Licensed to the Apache Software Foundation (ASF) under one
@@ -22,13 +23,13 @@ sidebar_label: Local (Single Node)
> The current version of Heron is {{heron:version}}
-
The easiest way to get started learning Heron is to install the Heron client
tools, which are currently available for:
* [MacOS](#macos-homebrew)
* [Ubuntu >= 14.04](#using-installation-scripts)
* [CentOS](#using-installation-scripts)
+
For other platforms, you need to build from source. Please refer to the [guide
to compiling Heron](compiling-overview).
## Step 1 --- Download the Heron tools
diff --git a/website2/website/versioned_docs/version-0.21.2/guides-ui-guide.md
b/website2/website/versioned_docs/version-0.21.2/guides-ui-guide.md
new file mode 100644
index 0000000..9a029b4
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.21.2/guides-ui-guide.md
@@ -0,0 +1,206 @@
+---
+id: version-0.21.2-guides-ui-guide
+title: Heron UI Guide
+sidebar_label: Heron UI Guide
+original_id: guides-ui-guide
+---
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+### Overview
+
+This guide describes how to make best use of Heron UI for monitoring and
+debugging topologies.
+
+The UI provides a lot of information about a topology or a part of it quickly,
+thus reducing debugging time considerably. Some of these features are
+listed below. A complete set of features can be found in following sections.
+
+1. See logical plan of a topology
+2. See physical plan of a topology
+3. Configs of a topology
+4. See some basic metrics for each of the instances and components
+5. Links to get logs, memory histogram, jstack, heapdump and exceptions of
+ a particular instance
+
+#### Topologies Page
+
+Heron UI is a user interface that uses the Heron Tracker to display detailed,
colorful visual representations of topologies, including the logical and
physical plan for each topology.
+
+Start the Heron tracker using `heron-tracker &` which uses default
heron_tracker.yaml configuration file. It's a centralized gateway for
cluster-wide information about topologies, including which topologies are
running, being launched, being killed, etc. It exposes Json Restful endpoint
and relies on Zookeeper nodes.
+
+Launc the Heron UI by the command:
+
+```bash
+heron-ui &
+```
+
+By default Heron UI will be started at `http://localhost:8889`
+
+Below is the home page of Heron UI.
+
+The following information or actions can be found on this page.
+
+1. List of all topologies
+2. Number of topologies filtered after search (total by default)
+3. A topology's overview
+4. Filter the topologies using `cluster`
+5. Filter the topologies using string matching in names, clusters, environs,
+ roles, versions, or submitters
+6. Sort the topologies based on a particular column
+7. Click on the topology name to find more info about the topology
+
+
+
+#### Topology Page
+
+Below is the main page to monitor a topology.
+
+1. Name of the topology
+2. [Logical plan](heron-topology-concepts#logical-plan) of the topology
+3. [Physical plan](heron-topology-concepts#physical-plan) of the topology
+4. Health metrics for the topology
+5. General info about the topology
+6. General metrics for the topology
+7. Click components for more details
+8. Click instances for more details
+9. Click on aggregated metrics to color instances by metrics
+10. Link to topology level configs
+11. Link to job page only if the scheduler provides a link
+ <!-- (TODO: Link to this guide) -->
+12. Link to viz dashboard for this topology only if Tracker is configured with
+ one. <!-- (TODO: Link to this configuration) -->
+
+
+
+
+
+Each node in logical plan can be clicked for more specific info about that
+component.
+
+1. Averaged or max metrics for all instances of this component
+2. Aggregated metrics for all instances of this component
+3. List of all instances and their aggregated metrics
+4. [Instance level operations](#instance-actions-pages), which are described
in more details below
+
+
+
+Clicking on an instance will highlight that instance in the list.
+
+1. Aggregated metrics are only for this instance
+2. Quick access to logs, exceptions and job pages for this instance
+3. Component counters are still aggregated for all instances
+4. The selected instance is highlighted
+
+
+
+#### Aggregate Topology Metrics
+
+Selecting a metric will highlight the components and instances based on their
+health with respect to the metric, green being healthy, red indicating a
problem.
+This is a quick way to find out which instances are having issues.
+
+
+
+
+
+#### Config Page
+
+These are the topology configurations <!-- (TODO: Add link to Topology
+Configurations) --> that your topology is configured with. Note that spout and
+bolt level configurations are not part of topology config.
+
+
+
+#### <a name="instance-actions-pages">Instance Action Pages</a>
+
+These actions are available for all the instances. They are described in the
+next sections.
+
+
+
+#### Logs Page
+
+These are the logs generated by the selected instance. The whole logs file can
+also be downloaded.
+
+
+
+#### Job Page
+
+Below is the directory view of the container. All instances from a container
+will point to the same job page. Following information is available on this
page,
+amongst other things.
+
+1. The jar or tar file associated with this topology
+2. Logs for heron-executor <!-- TODO: Link heron-executor -->
+3. `log-files` folder which has instance logs, as well as `stream manager` or
+ `tmaster` logs.
+
+
+
+
+
+#### Exceptions Page
+
+This page lists all exceptions logged by this instance. The exceptions are
+deduplicated, and for each exception, the page shows the number of times this
+exception occurred, the latest and the oldest occurance times.
+
+
+
+#### PID Page
+
+This link can be used to find the process ID for an instance. Since each
instance
+runs in its own JVM process, this will be unique for a host. The PID is also
+used for other tasks, such as getting jstack or heap dump for an instance.
+
+
+
+#### Jstack Page
+
+Click on this link to run the `jstack` command on the host against the PID for
+the instance. The output of the command is printed on the page in the browser
+itself.
+
+
+
+#### Memory Histogram Page
+
+Click on this link to run the `jmap -histo` command on the host against the PID
+for the instance. The output of the command is printed on the page in the
+browser itself.
+
+
+
+#### Memory Dump page
+
+Click on this link to run the `jmap -dump:format=b,file=/tmp/heap.bin` command
+agaist the PID for the instance. Follow the instructions on the page to
download
+the heap dump file. This link does not download the file.
+
+
+
+#### Kill Heron UI server
+
+To kill Heron UI server run the following command:
+
+```bash
+kill $(pgrep -f heron-ui)
+```
+
+To stop all the Heron tools, kill the Heron Tracker as well using `kill
$(pgrep -f heron-tracker)`.
diff --git
a/website2/website/versioned_docs/version-0.21.2/user-manuals-heron-ui.md
b/website2/website/versioned_docs/version-0.21.2/user-manuals-heron-ui.md
new file mode 100644
index 0000000..c293fe1
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.21.2/user-manuals-heron-ui.md
@@ -0,0 +1,62 @@
+---
+id: version-0.21.2-user-manuals-heron-ui-runbook
+title: Heron UI Runbook
+sidebar_label: Heron UI Runbook
+original_id: user-manuals-heron-ui-runbook
+---
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+**Heron UI** is a user interface that uses the [Heron
Tracker](heron-architecture#heron-tracker) to display detailed,
+colorful visual representations of topologies, including the
+[logical](heron-topology-concepts#logical-plan) and [physical
+plan](heron-topology-concepts#physical-plan) for each topology. Check out
+[Heron UI Usage Guide](guides-ui-guide) for more information about
+various elements that UI exposes.
+
+### Building Heron UI
+
+Heron uses [bazel](http://bazel.io/) for compiling.
+[This page](compiling-overview) describes how to setup bazel
+for heron.
+
+```bash
+# Build heron-ui
+$ bazel build heron/tools/ui/src/python:heron-ui
+
+# The location of heron-ui pex executable is
+# bazel-bin/heron/tools/ui/src/python/heron-ui
+# To run using default options:
+$ ./bazel-bin/heron/tools/ui/src/python/heron-ui
+```
+
+`heron-ui` is a self executable
+[pex](https://pex.readthedocs.io/en/latest/whatispex.html) archive.
+
+### Heron UI Args
+
+* `--port` - Port to run the heron-ui on. Default port is `8889`.
+* `--tracker_url` - The base url for tracker. All the information about the
+ topologies is fetched from tracker. Default url is `http://localhost:8888`.
+* `--address` - Address to listen; Default address is `0.0.0.0`
+* `--base_url` - The base url path if operating behind proxy; Default is
[`None`](https://github.com/apache/incubator-heron/blob/master/heron/tools/ui/src/python/main.py#L145)
+
+```bash
+$ heron-ui
+# is equivalent to
+$ heron-ui --port=8889 --tracker_url=http://localhost:8888
+```
diff --git a/website2/website/versions.json b/website2/website/versions.json
index 0340361..6ed5017 100644
--- a/website2/website/versions.json
+++ b/website2/website/versions.json
@@ -1,3 +1,5 @@
[
+ "0.21.1",
+ "0.21.2",
"0.20.0"
]