Mercurial > hg > thermostat-website-stg
changeset 62:db4b9a882d05
Remove container class from index.html body div. Add divs to content for container class
author | Jie Kang <jkang@redhat.com> |
---|---|
date | Fri, 18 Nov 2016 09:02:16 -0500 |
parents | d9f8c64453d4 |
children | 10258064d26a |
files | content/contribute/content.html content/documentation/content.html content/downloads/content.html content/getting-started/content.html content/home/content.html contribute/index.html css/style.less documentation/index.html downloads/index.html getting-started/index.html |
diffstat | 10 files changed, 554 insertions(+), 509 deletions(-) [+] |
line wrap: on
line diff
--- a/content/contribute/content.html Thu Nov 17 14:49:50 2016 -0500 +++ b/content/contribute/content.html Fri Nov 18 09:02:16 2016 -0500 @@ -1,101 +1,103 @@ -<div class="row"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title" id="contribute">Contributing to Thermostat</h1> - </div> - <div class="panel-body"> - <div class="panel panel-default"> - <div class="panel-body"> - <h4> - Contributions to Thermostat are always appreciated. If you have any questions, please find us on IRC or join the mailing - list and send us an e-mail so that we can help you get started. - </h4> - <div class="text-center"> - <a href="http://icedtea.classpath.org/mailman/listinfo/thermostat" class="btn btn-default btn-c1" role="button"> Mailing List</a> - <a href="http://webchat.freenode.net/?channels=#thermostat" class="btn btn-default btn-c1" role="button"> Thermostat IRC</a> - </div> - <h4> - Tasks in Thermostat are usually tracked in Trello, or through the IcedTea bugzilla. Feel free to take a look for things to - work on. - </h4> - <div class="text-center"> - <a href="https://trello.com/b/SObGQiCX" class="btn btn-default btn-c1" role="button"> Trello Board</a> - <a href="http://icedtea.classpath.org/bugzilla" class="btn btn-default btn-c1" role="button"> IcedTea Bugzilla</a> - </div> - <h3 class="h3-steps">Step 1: Build Thermostat</h3> - <h4> - The first step is to get Thermostat source code on your machine and to get the required dependencies to build Thermostat. - For Fedora you can run the following in a terminal: - </h4> - <p><code> +<div class="container space40"> + <div class="row"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title" id="contribute">Contributing to Thermostat</h1> + </div> + <div class="panel-body"> + <div class="panel panel-default"> + <div class="panel-body"> + <h4> + Contributions to Thermostat are always appreciated. If you have any questions, please find us on IRC or join the mailing + list and send us an e-mail so that we can help you get started. + </h4> + <div class="text-center"> + <a href="http://icedtea.classpath.org/mailman/listinfo/thermostat" class="btn btn-default btn-c1" role="button"> Mailing List</a> + <a href="http://webchat.freenode.net/?channels=#thermostat" class="btn btn-default btn-c1" role="button"> Thermostat IRC</a> + </div> + <h4> + Tasks in Thermostat are usually tracked in Trello, or through the IcedTea bugzilla. Feel free to take a look for things to + work on. + </h4> + <div class="text-center"> + <a href="https://trello.com/b/SObGQiCX" class="btn btn-default btn-c1" role="button"> Trello Board</a> + <a href="http://icedtea.classpath.org/bugzilla" class="btn btn-default btn-c1" role="button"> IcedTea Bugzilla</a> + </div> + <h3 class="h3-steps">Step 1: Build Thermostat</h3> + <h4> + The first step is to get Thermostat source code on your machine and to get the required dependencies to build Thermostat. + For Fedora you can run the following in a terminal: + </h4> + <p><code> $ sudo dnf install mercurial maven mongodb mongodb-server java-1.8.0-openjdk libsecret-devel make gcc gtk2-devel autoconf automake libtool </code></p> - <p><code> + <p><code> $ hg clone http://icedtea.classpath.org/hg/thermostat </code></p> - <h4> - This installs the development dependendcies and downloads the Thermostat main repository into the folder thermostat. - </h4> - <h4> - Thermostat uses the Maven build system. To build, run: - </h4> - <p><code> + <h4> + This installs the development dependendcies and downloads the Thermostat main repository into the folder thermostat. + </h4> + <h4> + Thermostat uses the Maven build system. To build, run: + </h4> + <p><code> $ mvn clean integration-test </code></p> - <h3 class="h3-steps">Step 2: Find something to work on</h3> - <h4> - Any issues you have with using Thermostat would be perfect to work on. Tasks or bugs can be found on the Trello board and - in the IcedTea Bugzilla. You can also ask on the mailing list or in the IRC channel and people will have lots - of ideas to share. If you come up with something, it's best to talk about it with the community through an e-mail - or through IRC. - </h4> - <h3 class="h3-steps">Step 3: Complete the task</h3> - <h4> - Working on the task is up to you. If you need any assistance, just ask for help. For style, please see the HACKING and README - files in the repository. Your best bet is to look at what other people have done and follow their style. There - are also a lot of resources in the Thermostat wiki targeting developers. Javadocs are also hosted online. - </h4> - <div class="text-center"> - <a href="http://icedtea.classpath.org/wiki/Thermostat" class="btn btn-default btn-c1" role="button"> Wiki</a> - <a href="http://icedtea.classpath.org/thermostat/docs/1.6/javadocs/" class="btn btn-default btn-c1" role="button"> Javadocs for 1.6</a> - </div> - <h3 class="h3-steps">Step 4: Get your work reviewed</h3> - <h4> - Once you have something that works, it's time to send it for review. This is done by sending an e-mail to the mailing list - with a title following the format: "[PATCH] Commit-Message", a body explaining the patch, and the patch attached - as a '.patch'' file. For example if you wish to send a patch with commit message "Fix issue with blob in blah", - then the title would be: "[PATCH] Fix issue with blob in blah". The body of the e-mail should contain a description - of the patch including what it does and why it does so. - </h4> - <div class="col-md-6"> + <h3 class="h3-steps">Step 2: Find something to work on</h3> + <h4> + Any issues you have with using Thermostat would be perfect to work on. Tasks or bugs can be found on the Trello board and + in the IcedTea Bugzilla. You can also ask on the mailing list or in the IRC channel and people will have lots + of ideas to share. If you come up with something, it's best to talk about it with the community through an + e-mail or through IRC. + </h4> + <h3 class="h3-steps">Step 3: Complete the task</h3> + <h4> + Working on the task is up to you. If you need any assistance, just ask for help. For style, please see the HACKING and README + files in the repository. Your best bet is to look at what other people have done and follow their style. There + are also a lot of resources in the Thermostat wiki targeting developers. Javadocs are also hosted online. + </h4> + <div class="text-center"> + <a href="http://icedtea.classpath.org/wiki/Thermostat" class="btn btn-default btn-c1" role="button"> Wiki</a> + <a href="http://icedtea.classpath.org/thermostat/docs/1.6/javadocs/" class="btn btn-default btn-c1" role="button"> Javadocs for 1.6</a> + </div> + <h3 class="h3-steps">Step 4: Get your work reviewed</h3> <h4> - To generate a patch file from uncommitted changes, use: + Once you have something that works, it's time to send it for review. This is done by sending an e-mail to the mailing list + with a title following the format: "[PATCH] Commit-Message", a body explaining the patch, and the patch attached + as a '.patch'' file. For example if you wish to send a patch with commit message "Fix issue with blob in blah", + then the title would be: "[PATCH] Fix issue with blob in blah". The body of the e-mail should contain a description + of the patch including what it does and why it does so. </h4> - <code>$ hg diff > file-name.patch</code>. - </div> - <div class="col-md-6"> + <div class="col-md-6"> + <h4> + To generate a patch file from uncommitted changes, use: + </h4> + <code>$ hg diff > file-name.patch</code>. + </div> + <div class="col-md-6"> + <h4> + To generate a patch from your latest commit use: + </h4> + <code>$ hg export > file-name.patch</code> + </div> + <h4 style="margin-top: 5em;"> + From here, the review process starts. Committers will look over the patch and reply to your e-mail with changes. It becomes + an iterative process where you respond to the changes with a revised patch and the reviewer looks it over again, + repeating till the reviewer is satisfied with the patch. + </h4> + <h3 class="h3-steps">Step 5: Get your work into the tree</h3> <h4> - To generate a patch from your latest commit use: + If you do not have commit rights, when the patch is satisfactory, the reviewer will ask for a patch file with the commit + message included. This will be committed into the tree and pushed in your stead. For committers, they can push + the changes into the tree themselves. </h4> - <code>$ hg export > file-name.patch</code> + <h3 class="h3-steps">Step 6: Repeat</h3> + <h4> + Congratulations and thank you for your contribution! From here feel free to repeat with new work. Once you have a number + of nontrivial fixes, you may recieve nomination as an IcedTea hacker from which point you can push work yourself + after it has been reviewed. + </h4> </div> - <h4 style="margin-top: 5em;"> - From here, the review process starts. Committers will look over the patch and reply to your e-mail with changes. It becomes - an iterative process where you respond to the changes with a revised patch and the reviewer looks it over again, - repeating till the reviewer is satisfied with the patch. - </h4> - <h3 class="h3-steps">Step 5: Get your work into the tree</h3> - <h4> - If you do not have commit rights, when the patch is satisfactory, the reviewer will ask for a patch file with the commit - message included. This will be committed into the tree and pushed in your stead. For committers, they can push - the changes into the tree themselves. - </h4> - <h3 class="h3-steps">Step 6: Repeat</h3> - <h4> - Congratulations and thank you for your contribution! From here feel free to repeat with new work. Once you have a number - of nontrivial fixes, you may recieve nomination as an IcedTea hacker from which point you can push work yourself - after it has been reviewed. - </h4> </div> </div> </div>
--- a/content/documentation/content.html Thu Nov 17 14:49:50 2016 -0500 +++ b/content/documentation/content.html Fri Nov 18 09:02:16 2016 -0500 @@ -1,374 +1,382 @@ -<div class="row"> - <div class="col-xs-10"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title" id="documentation">Documentation</h1> - </div> - <div class="panel-body"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h2 class="panel-title">User Guide</h2> - </div> - <div class="panel-body"> - <h4> - This is the latest user guide for Thermostat 1.99.x. For older guides see the <a href="http://icedtea.classpath.org/wiki/Thermostat/UserGuide"> Archives</a> - </h4> - </div> +<div class="container space40"> + <div class="row"> + <div class="col-xs-10"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title" id="documentation">Documentation</h1> </div> - <section id="component-overview"> + <div class="panel-body"> <div class="panel panel-default"> <div class="panel-heading"> - <h2 class="panel-title">Component Overview</h2> - </div> - <div class="panel-body"> - <h3> - Storage - </h3> - <h4> - The Storage is where data gets stored. Currently, Thermostat supports Mongodb backends. - </h4> - <h3> - Web Endpoint - </h3> - <h4> - The Web Endpoint is an HTTP layer that runs in front of the Storage. By using the web endpoint, the Storage can be hidden - from direct connection while Agents and Clients connect with credentials through HTTP. - </h4> - <h3> - Agent - </h3> - <h4> - The Agent monitors JVMs that run on the machine with the same userid as the Agent, storing the data through the Web Endpoint - or directly into the Storage. The Agent also listens on a Command Channel for Client requests - such as heap dumping or full garbage collection on JVMs being monitored. Agents require a - valid Storage connection to start. - </h4> - <h3> - GUI and CLI Client - </h3> - <h4> - The Clients allow for displaying of data from the Storage (through the Web Endpoint or directly from Storage) as well as - performing actions on JVMs such as a heap dump or full garbage collection through the Command - Channel with the Agent. Clients require a valid Storage connection for most functions as - well as a valid Agent connection for Command Channel actions. - </h4> - </div> - </div> - </section> - <section id="local-setup"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h2 class="panel-title">Local Setup Tutorial</h2> + <h2 class="panel-title">User Guide</h2> </div> <div class="panel-body"> <h4> - This tutorial will guide you through setting Thermostat up on a single machine. The machine will hold the Storage, accessed - through HTTP via the Web Endpoint, the Agent which will monitor all JVMs on the machine and - view the data through GUI or CLI Client. - </h4> - <h4> - The quickest way is to run the local command. - </h4> - <p><code>$ thermostat local</code></p> - <h4> - This starts the Agent (monitors jvms), the Web-Storage (stores data) and the GUI (displays data) all on your local machine. - </h4> - <h4> - Each component can be started individually or chained in certain configurations. For example, the local command chains the - Storage, Web Endpoint (collectively referred to as Web-Storage), Agent and GUI in a single - command. - </h4> - <h4> - The Storage, Web Endpoint and Agent can be started via: + This is the latest user guide for Thermostat 1.99.x. For older guides see the <a href="http://icedtea.classpath.org/wiki/Thermostat/UserGuide"> Archives</a> </h4> - <p><code>$ thermostat web-storage-service</code></p> - <h4> - The Storage and Web Endpoint can be started via: - </h4> - <p><code>$ thermostat web-storage</code></p> - <h4> - The Storage can be started and stopped via: - </h4> - <p><code>$ thermostat storage --start</code></p> - <p><code>$ thermostat storage --stop</code></p> - <h4> - The Agent can be started via: - </h4> - <p><code>$ thermostat agent</code></p> - <h4> - The GUI Client can be started via: - </h4> - <p><code>$ thermostat gui</code></p> </div> </div> - </section> - <section id="distributed-setup"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h2 class="panel-title">Distributed Setup Tutorial</h2> + <section id="component-overview"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h2 class="panel-title">Component Overview</h2> + </div> + <div class="panel-body"> + <h3> + Storage + </h3> + <h4> + The Storage is where data gets stored. Currently, Thermostat supports Mongodb backends. + </h4> + <h3> + Web Endpoint + </h3> + <h4> + The Web Endpoint is an HTTP layer that runs in front of the Storage. By using the web endpoint, the Storage can be hidden + from direct connection while Agents and Clients connect with credentials through HTTP. + </h4> + <h3> + Agent + </h3> + <h4> + The Agent monitors JVMs that run on the machine with the same userid as the Agent, storing the data through the Web Endpoint + or directly into the Storage. The Agent also listens on a Command Channel for Client + requests such as heap dumping or full garbage collection on JVMs being monitored. Agents + require a valid Storage connection to start. + </h4> + <h3> + GUI and CLI Client + </h3> + <h4> + The Clients allow for displaying of data from the Storage (through the Web Endpoint or directly from Storage) as well as + performing actions on JVMs such as a heap dump or full garbage collection through the + Command Channel with the Agent. Clients require a valid Storage connection for most functions + as well as a valid Agent connection for Command Channel actions. + </h4> + </div> </div> - <div class="panel-body"> - <h4> - This tutorial will guide you through setting Thermostat up on multiple machines. One machine will hold the Storage, accessed - through HTTP via the Web Endpoint. One or more machines will hold the Agent, monitoring any - JVMs on the machine and sending data to the Storage. One machine will view the data via GUI - or CLI Client. - </h4> - <h4> - Any machine that is part of the distributed setup needs Thermostat installed. All machines should have the same version of - Thermostat. - </h4> - <div id="rs-step-1"> - <h3> - Storage And Web Endpoint Setup - </h3> - + </section> + <section id="local-setup"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h2 class="panel-title">Local Setup Tutorial</h2> + </div> + <div class="panel-body"> <h4> - To setup the Storage on a machine for remote access through HTTP it must be configured to bind to a proper IP address and - port of the machine and have authentication for users. + This tutorial will guide you through setting Thermostat up on a single machine. The machine will hold the Storage, accessed + through HTTP via the Web Endpoint, the Agent which will monitor all JVMs on the machine + and view the data through GUI or CLI Client. </h4> <h4> - First we setup the Mongodb backend and user authentication with: + The quickest way is to run the local command. </h4> - <p><code>$ thermostat setup -c</code></p> + <p><code>$ thermostat local</code></p> <h4> - This runs the CLI setup, asking you to input the username/passwords for the Mongodb backend, default client user and default - agent user. The Mongodb credentials are used by the Web Endpoint to connect to the local - Mongodb backend. The default client user credentials are used by Clients to connect to - the Web Endpoint. Likewise, the default agent user credentials are used by Agents to - connect to the Web Endpoint. These credentials should be remembered for later use. + This starts the Agent (monitors jvms), the Web-Storage (stores data) and the GUI (displays data) all on your local machine. </h4> <h4> - Next, the Web Endpoint needs to be configured to bind to the host machine's IP Address. This is done with the configuration - file <a class="ac" href="#term-thermostat-home">THERMOSTAT_HOME</a>/etc/db.properties - or <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/etc/db.properties. - The settings in <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a> override those in - <a class="ac" href="#term-thermostat-home">THERMOSTAT_HOME</a>. + Each component can be started individually or chained in certain configurations. For example, the local command chains the + Storage, Web Endpoint (collectively referred to as Web-Storage), Agent and GUI in a single + command. </h4> <h4> - The BIND and PORT fields should be set to the machine's IP address and a free port. For a machine with ip 192.168.0.1 and - free port 27518, the db.properties file would look like: + The Storage, Web Endpoint and Agent can be started via: </h4> - <pre><code>BIND=192.168.0.1
PORT=27518</code></pre> + <p><code>$ thermostat web-storage-service</code></p> <h4> - Finally, the Storage and Web Endpoint can be started via: + The Storage and Web Endpoint can be started via: </h4> <p><code>$ thermostat web-storage</code></p> <h4> - The Web Endpoint can be accessed at http://192.168.0.1:27518/thermostat/storage (replace IP and Port with appropriate values - for your setup). Accessing the URL through a web browser should bring up an authentication - prompt if the Storage and Web Endpoint are setup successfully. + The Storage can be started and stopped via: </h4> + <p><code>$ thermostat storage --start</code></p> + <p><code>$ thermostat storage --stop</code></p> + <h4> + The Agent can be started via: + </h4> + <p><code>$ thermostat agent</code></p> + <h4> + The GUI Client can be started via: + </h4> + <p><code>$ thermostat gui</code></p> </div> - - <div id="rs-step-2"> - <h3> - Agent Setup - </h3> - + </div> + </section> + <section id="distributed-setup"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h2 class="panel-title">Distributed Setup Tutorial</h2> + </div> + <div class="panel-body"> <h4> - To setup the Agent on a machine it must be configured to connect to the Web Endpoint via URL. - </h4> - <h4> - First, prevent setup from occurring by creating the file: <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/data/setup-complete.stamp + This tutorial will guide you through setting Thermostat up on multiple machines. One machine will hold the Storage, accessed + through HTTP via the Web Endpoint. One or more machines will hold the Agent, monitoring + any JVMs on the machine and sending data to the Storage. One machine will view the data + via GUI or CLI Client. </h4> <h4> - Next, configure the agent to bind it's Command Channel to a remotely accessible IP address and to connect to the Web Endpoint - via URL. This is done with the file: <a class="ac" - href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/etc/agent.properties The CONFIG_LISTEN_ADDRESS - property should be set to a remotely accessible IP address and free port and the DB_URL - property should be set to the URL that the Web Endpoint is accessible on. For a machine - with ip 192.168.0.2 and free port 12000, connecting to a Web Endpoint at 192.168.0.1:27518, - the agent.properties file would look like: + Any machine that is part of the distributed setup needs Thermostat installed. All machines should have the same version of + Thermostat. </h4> - <pre><code>CONFIG_LISTEN_ADDRESS=192.168.0.2:12000
DB_URL=http://192.168.0.1:27518/thermostat/storage</code></pre> - <h4> - After this, set the credentials to be used in the file: <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/etc/agent.auth - These are used when connecting to the Web Endpoint and should be the same as the default - agent user credentials in the setup for Storage and Web Endpoint. An example agent.auth - file looks like: - </h4> - <pre><code>username=agentuser
password=agentpassword</code></pre> - <h4> - Finally, the Agent can be started via: - </h4> - <p><code>$ thermostat agent</code></p> + <div id="rs-step-1"> + <h3> + Storage And Web Endpoint Setup + </h3> + + <h4> + To setup the Storage on a machine for remote access through HTTP it must be configured to bind to a proper IP address and + port of the machine and have authentication for users. + </h4> + <h4> + First we setup the Mongodb backend and user authentication with: + </h4> + <p><code>$ thermostat setup -c</code></p> + <h4> + This runs the CLI setup, asking you to input the username/passwords for the Mongodb backend, default client user and default + agent user. The Mongodb credentials are used by the Web Endpoint to connect to the + local Mongodb backend. The default client user credentials are used by Clients to + connect to the Web Endpoint. Likewise, the default agent user credentials are used + by Agents to connect to the Web Endpoint. These credentials should be remembered + for later use. + </h4> + <h4> + Next, the Web Endpoint needs to be configured to bind to the host machine's IP Address. This is done with the configuration + file <a class="ac" href="#term-thermostat-home">THERMOSTAT_HOME</a>/etc/db.properties + or <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/etc/db.properties. + The settings in <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a> override those in + <a class="ac" href="#term-thermostat-home">THERMOSTAT_HOME</a>. + </h4> + <h4> + The BIND and PORT fields should be set to the machine's IP address and a free port. For a machine with ip 192.168.0.1 and + free port 27518, the db.properties file would look like: + </h4> + <pre><code>BIND=192.168.0.1
PORT=27518</code></pre> + <h4> + Finally, the Storage and Web Endpoint can be started via: + </h4> + <p><code>$ thermostat web-storage</code></p> + <h4> + The Web Endpoint can be accessed at http://192.168.0.1:27518/thermostat/storage (replace IP and Port with appropriate values + for your setup). Accessing the URL through a web browser should bring up an authentication + prompt if the Storage and Web Endpoint are setup successfully. + </h4> + </div> + + <div id="rs-step-2"> + <h3> + Agent Setup + </h3> + + <h4> + To setup the Agent on a machine it must be configured to connect to the Web Endpoint via URL. + </h4> + <h4> + First, prevent setup from occurring by creating the file: <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/data/setup-complete.stamp + </h4> + <h4> + Next, configure the agent to bind it's Command Channel to a remotely accessible IP address and to connect to the Web Endpoint + via URL. This is done with the file: <a class="ac" + href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/etc/agent.properties The + CONFIG_LISTEN_ADDRESS property should be set to a remotely accessible IP address + and free port and the DB_URL property should be set to the URL that the Web Endpoint + is accessible on. For a machine with ip 192.168.0.2 and free port 12000, connecting + to a Web Endpoint at 192.168.0.1:27518, the agent.properties file would look like: + </h4> + <pre><code>CONFIG_LISTEN_ADDRESS=192.168.0.2:12000
DB_URL=http://192.168.0.1:27518/thermostat/storage</code></pre> + <h4> + After this, set the credentials to be used in the file: <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/etc/agent.auth + These are used when connecting to the Web Endpoint and should be the same as the + default agent user credentials in the setup for Storage and Web Endpoint. An example + agent.auth file looks like: + </h4> + <pre><code>username=agentuser
password=agentpassword</code></pre> + <h4> + Finally, the Agent can be started via: + </h4> + <p><code>$ thermostat agent</code></p> + </div> + <div id="rs-step-3"> + <h3> + Client Setup + </h3> + + <h4> + To setup the Client on the machine it must be configured to connect to the Web Endpoint via URL. + </h4> + <h4> + First, prevent setup from occurring by creating the file: <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/data/setup-complete.stamp + </h4> + <h4> + For the GUI Client, start via: + </h4> + <p><code>$ thermostat gui</code></p> + <h4> + A connection failed prompt will appear. Click "Configure..." and a dialog will appear where you can fill in the URL to connect + to and the credentials to use. The URL is the URL of the Web Endpoint, e.g. http://192.168.0.1:27518/thermostat/storage. + The credentials are for the default client user that was setup on the Storage and + Web Endpoint machine. + </h4> + <h4> + For the CLI Client, start via: + </h4> + <p><code>$ thermostat shell</code></p> + <h4> + This enters the CLI terminal where you can connect to the Web Endpoint via: + </h4> + <p><code>connect -d http://192.168.0.1:27518/thermostat/storage</code></p> + <h4> + Replace the argument for -d with the correct URL for your Web Endpoint. The terminal will then prompt you for credentials + to use. Once successfully connected, other CLI commands that use the Web Endpoint + will use the one specified in the connect command. + </h4> + </div> </div> - <div id="rs-step-3"> - <h3> - Client Setup - </h3> - - <h4> - To setup the Client on the machine it must be configured to connect to the Web Endpoint via URL. - </h4> - <h4> - First, prevent setup from occurring by creating the file: <a class="ac" href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a>/data/setup-complete.stamp - </h4> + </div> + </section> + <section id="cli-features"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h2 class="panel-title">CLI Features</h2> + </div> + <div class="panel-body"> <h4> - For the GUI Client, start via: + The easiest way to see what features the CLI has is to run the help command. </h4> - <p><code>$ thermostat gui</code></p> + <p><code>$ thermostat help</code></p> <h4> - A connection failed prompt will appear. Click "Configure..." and a dialog will appear where you can fill in the URL to connect - to and the credentials to use. The URL is the URL of the Web Endpoint, e.g. http://192.168.0.1:27518/thermostat/storage. - The credentials are for the default client user that was setup on the Storage and Web - Endpoint machine. + Thermostat offers CLI through invocations of thermostat, for example: </h4> + <p><code>$ thermostat list-vms</code></p> <h4> - For the CLI Client, start via: + Thermostat also offers a Shell that can be started via: </h4> <p><code>$ thermostat shell</code></p> <h4> - This enters the CLI terminal where you can connect to the Web Endpoint via: + This brings up the Shell, printing the version and the prompt and then waiting for command input. Run 'help' to list all + the commands available in the Shell. </h4> - <p><code>connect -d http://192.168.0.1:27518/thermostat/storage</code></p> + <pre><code>Thermostat version 1.99.12
Please see the User Guide at http://icedtea.classpath.org/wiki/Thermostat/UserGuide
Thermostat - > </pre></code> + </div> + </div> + </section> + <section id="gui-features"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h2 class="panel-title">GUI Features</h2> + </div> + <div class="panel-body"> + <h3> + Host Machine Information + </h3> <h4> - Replace the argument for -d with the correct URL for your Web Endpoint. The terminal will then prompt you for credentials - to use. Once successfully connected, other CLI commands that use the Web Endpoint will - use the one specified in the connect command. + <ul> + <li>Hardware/Network Information</li> + <li>CPU/Memory Usage</li> + <li>NUMA Allocation Data</li> + </ul> + </h4> + <h3> + JVM Information + </h3> + <h4> + <ul> + <li>JVM Process Information</li> + <li>CPU/Memory Usage</li> + <li>GC, Heap, Threads, Stack Trace, IO, Compiler, Class Information</li> + <li>NUMA Allocation Data for NUMA Aware systems</li> + </ul> + </h4> + <h3> + JVM Actions + </h3> + <h4> + <ul> + <li>Kill a JVM</li> + <li>Perform a full GC</li> + <li>Create a Heap Dump and analyze it in GUI</li> + <li>Profile JVM</li> + <li>Inject Byteman rules and view results</li> + <li>Detect deadlocks</li> + </ul> </h4> </div> </div> - </div> - </section> - <section id="cli-features"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h2 class="panel-title">CLI Features</h2> - </div> - <div class="panel-body"> - <h4> - The easiest way to see what features the CLI has is to run the help command. - </h4> - <p><code>$ thermostat help</code></p> - <h4> - Thermostat offers CLI through invocations of thermostat, for example: - </h4> - <p><code>$ thermostat list-vms</code></p> - <h4> - Thermostat also offers a Shell that can be started via: - </h4> - <p><code>$ thermostat shell</code></p> - <h4> - This brings up the Shell, printing the version and the prompt and then waiting for command input. Run 'help' to list all - the commands available in the Shell. - </h4> - <pre><code>Thermostat version 1.99.12
Please see the User Guide at http://icedtea.classpath.org/wiki/Thermostat/UserGuide
Thermostat - > </pre></code> - </div> - </div> - </section> - <section id="gui-features"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h2 class="panel-title">GUI Features</h2> - </div> - <div class="panel-body"> - <h3> - Host Machine Information - </h3> - <h4><ul> - <li>Hardware/Network Information</li> - <li>CPU/Memory Usage</li> - <li>NUMA Allocation Data</li> - </ul></h4> - <h3> - JVM Information - </h3> - <h4><ul> - <li>JVM Process Information</li> - <li>CPU/Memory Usage</li> - <li>GC, Heap, Threads, Stack Trace, IO, Compiler, Class Information</li> - <li>NUMA Allocation Data for NUMA Aware systems</li> - </ul></h4> - <h3> - JVM Actions - </h3> - <h4><ul> - <li>Kill a JVM</li> - <li>Perform a full GC</li> - <li>Create a Heap Dump and analyze it in GUI</li> - <li>Profile JVM</li> - <li>Inject Byteman rules and view results</li> - <li>Detect deadlocks</li> - </ul></h4> - </div> - </div> - </section> - <section id="terminology"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h2 class="panel-title">Terminology</h2> - </div> - <div class="panel-body"> - <h4> - This section contains description for terminology used in the User Guide. - </h4> - - <div id="term-thermostat-home"> - <h4 class="h4c"> - THERMOSTAT_HOME + </section> + <section id="terminology"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h2 class="panel-title">Terminology</h2> + </div> + <div class="panel-body"> + <h4> + This section contains description for terminology used in the User Guide. </h4> - <h4> - THERMOSTAT_HOME refers to the install location of Thermostat. This location is usually owned by root. For an RPM based installation - this is: - </h4> - <p><code>/usr/share/thermostat</code></p> - <h4> - For compilations from source (tarballs, cloned repository) this is: - </h4> - <p><code>{source-location}/distribution/target/image</code></p> - </div> - <div id="term-user-thermostat-home"> - <h4 class="h4c"> - USER_THERMOSTAT_HOME - </h4> + <div id="term-thermostat-home"> + <h4 class="h4c"> + THERMOSTAT_HOME + </h4> - <h4> - USER_THERMOSTAT_HOME refers to the configuration and data location of Thermostat in the user's home directory. For user "someuser" - this is: - </h4> - <p><code>/home/someuser/.thermostat</code></p> + <h4> + THERMOSTAT_HOME refers to the install location of Thermostat. This location is usually owned by root. For an RPM based installation + this is: + </h4> + <p><code>/usr/share/thermostat</code></p> + <h4> + For compilations from source (tarballs, cloned repository) this is: + </h4> + <p><code>{source-location}/distribution/target/image</code></p> + </div> + <div id="term-user-thermostat-home"> + <h4 class="h4c"> + USER_THERMOSTAT_HOME + </h4> + + <h4> + USER_THERMOSTAT_HOME refers to the configuration and data location of Thermostat in the user's home directory. For user "someuser" + this is: + </h4> + <p><code>/home/someuser/.thermostat</code></p> + </div> </div> </div> - </div> - </section> + </section> + </div> + <div class="text-center"> + <h4> + There are also a lot of resources in the Thermostat wiki targeting developers. + </h4> + <a href="http://icedtea.classpath.org/wiki/Thermostat" class="btn btn-default btn-c1" role="button"> Wiki</a> + </div> </div> - <div class="text-center"> - <h4> - There are also a lot of resources in the Thermostat wiki targeting developers. - </h4> - <a href="http://icedtea.classpath.org/wiki/Thermostat" class="btn btn-default btn-c1" role="button"> Wiki</a> - </div> + </div> + <div class="col-xs-2"> + <nav class="bs-docs-sidebar fixed" id="nav-sidebar"> + <ul class="nav bs-docs-sidenav"> + <li><a href="#component-overview">Component Overview</a></li> + <li><a href="#local-setup">Local Setup Tutorial</a></li> + <li><a href="#distributed-setup">Distributed Setup Tutorial</a> + <ul class="nav nav-stacked"> + <li><a href="#rs-step-1">Storage Setup</a></li> + <li><a href="#rs-step-2">Agent Setup</a></li> + <li><a href="#rs-step-3">Client Setup</a></li> + </ul> + </li> + <li><a href="#cli-features">CLI Features</a></li> + <li><a href="#gui-features">GUI Features</a></li> + <li><a href="#terminology">Terminology</a> + <ul class="nav nav-stacked"> + <li><a href="#term-thermostat-home">THERMOSTAT_HOME</a></li> + <li><a href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a></li> + </ul> + </li> + </ul> + <a href="#logo-box" class="back-to-top">Back to Top</a> + </nav> </div> </div> - <div class="col-xs-2"> - <nav class="bs-docs-sidebar fixed" id="nav-sidebar"> - <ul class="nav bs-docs-sidenav"> - <li><a href="#component-overview">Component Overview</a></li> - <li><a href="#local-setup">Local Setup Tutorial</a></li> - <li><a href="#distributed-setup">Distributed Setup Tutorial</a> - <ul class="nav nav-stacked"> - <li><a href="#rs-step-1">Storage Setup</a></li> - <li><a href="#rs-step-2">Agent Setup</a></li> - <li><a href="#rs-step-3">Client Setup</a></li> - </ul> - </li> - <li><a href="#cli-features">CLI Features</a></li> - <li><a href="#gui-features">GUI Features</a></li> - <li><a href="#terminology">Terminology</a> - <ul class="nav nav-stacked"> - <li><a href="#term-thermostat-home">THERMOSTAT_HOME</a></li> - <li><a href="#term-user-thermostat-home">USER_THERMOSTAT_HOME</a></li> - </ul> - </li> - </ul> - <a href="#logo-box" class="back-to-top">Back to Top</a> - </nav> - </div> </div> - <script> $('body').scrollspy({ target: '#nav-sidebar',
--- a/content/downloads/content.html Thu Nov 17 14:49:50 2016 -0500 +++ b/content/downloads/content.html Fri Nov 18 09:02:16 2016 -0500 @@ -1,39 +1,41 @@ -<div class="row"> - <div class="panel panel-default"> - <div class="panel-heading" id="download"> - <h1 class="panel-title">Downloads</h1> - </div> - <div class="panel-body"> - <div class="col-md-4"> - <h3>Latest Stable Release</h3> - <a href="http://icedtea.classpath.org/download/thermostat/thermostat-1.6.4.tar.gz" class="btn btn-default btn-c1" role="button"><span class="glyphicon glyphicon-download-alt" aria-hidden="true"> Thermostat-1.6.4</a> +<div class="container space40"> + <div class="row"> + <div class="panel panel-default"> + <div class="panel-heading" id="download"> + <h1 class="panel-title">Downloads</h1> </div> - <div class="col-md-4"> - <h3>Unstable Development Release</h3> - <a href="http://icedtea.classpath.org/download/thermostat/thermostat-1.99.11-SNAPSHOT.tar.gz" class="btn btn-default btn-c1" - role="button"><span class="glyphicon glyphicon-download-alt" aria-hidden="true"> Thermostat-1.99.11</a> - </div> - <div class="col-md-4"> - <h3>Previous Releases</h3> - <a href="http://icedtea.classpath.org/download/thermostat/" class="btn btn-default btn-c1" role="button"><span class="glyphicon glyphicon-link" aria-hidden="true"> Archives</a> + <div class="panel-body"> + <div class="col-md-4"> + <h3>Latest Stable Release</h3> + <a href="http://icedtea.classpath.org/download/thermostat/thermostat-1.6.4.tar.gz" class="btn btn-default btn-c1" role="button"><span class="glyphicon glyphicon-download-alt" aria-hidden="true"> Thermostat-1.6.4</a> + </div> + <div class="col-md-4"> + <h3>Unstable Development Release</h3> + <a href="http://icedtea.classpath.org/download/thermostat/thermostat-1.99.11-SNAPSHOT.tar.gz" class="btn btn-default btn-c1" + role="button"><span class="glyphicon glyphicon-download-alt" aria-hidden="true"> Thermostat-1.99.11</a> + </div> + <div class="col-md-4"> + <h3>Previous Releases</h3> + <a href="http://icedtea.classpath.org/download/thermostat/" class="btn btn-default btn-c1" role="button"><span class="glyphicon glyphicon-link" aria-hidden="true"> Archives</a> + </div> </div> </div> </div> -</div> -<div class="row"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title">Requirements</h1> - </div> - <div class="panel-body"> - <h4> - <ul> - <li>Linux (Fedora, RHEL, CentOS, etc.)</li> - <li>OpenJDK >= 1.7</li> - <li>Mongodb >= 2.2 (or 2.0 if no SSL required)</li> - <li>Servlet container (optional)</li> - </ul> - </h4> + <div class="row"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title">Requirements</h1> + </div> + <div class="panel-body"> + <h4> + <ul> + <li>Linux (Fedora, RHEL, CentOS, etc.)</li> + <li>OpenJDK >= 1.7</li> + <li>Mongodb >= 2.2 (or 2.0 if no SSL required)</li> + <li>Servlet container (optional)</li> + </ul> + </h4> + </div> </div> </div> </div> \ No newline at end of file
--- a/content/getting-started/content.html Thu Nov 17 14:49:50 2016 -0500 +++ b/content/getting-started/content.html Fri Nov 18 09:02:16 2016 -0500 @@ -1,87 +1,89 @@ -<div class="panel panel-default"> - <div class="panel-heading"> - <h1 class="panel-title" id="getting-started">Getting Started</h1> - </div> - <div class="panel-body"> - <div class="panel panel-default"> - <div class="panel-heading"> - <h2 class="panel-title">Requirements</h2> +<div class="container space40"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h1 class="panel-title" id="getting-started">Getting Started</h1> + </div> + <div class="panel-body"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h2 class="panel-title">Requirements</h2> + </div> + <div class="panel-body"> + <h4> + <ul> + <li>Linux (Fedora, RHEL, CentOS, etc.)</li> + <li>OpenJDK >= 1.7</li> + <li>Mongodb >= 2.2 (or 2.0 if no SSL required)</li> + <li>Servlet container (optional)</li> + </ul> + </h4> + </div> </div> - <div class="panel-body"> - <h4> - <ul> - <li>Linux (Fedora, RHEL, CentOS, etc.)</li> - <li>OpenJDK >= 1.7</li> - <li>Mongodb >= 2.2 (or 2.0 if no SSL required)</li> - <li>Servlet container (optional)</li> - </ul> - </h4> - </div> - </div> - <div class="panel panel-default"> - <div class="panel-heading"> - <h2 class="panel-title">Installation</h2> - </div> - <div class="panel-body"> - <h4> There are a few options for getting Thermostat on your machine.</h4> - <div class="col-md-4"> - <h4> Install it on Fedora: </h4> - <p><code> + <div class="panel panel-default"> + <div class="panel-heading"> + <h2 class="panel-title">Installation</h2> + </div> + <div class="panel-body"> + <h4> There are a few options for getting Thermostat on your machine.</h4> + <div class="col-md-4"> + <h4> Install it on Fedora: </h4> + <p><code> $ sudo dnf install thermostat </code></p> - </div> - <div class="col-md-4"> - <h4> Get the latest <a href="../downloads">Download</a>.</h4> - <p><code> + </div> + <div class="col-md-4"> + <h4> Get the latest <a href="../downloads">Download</a>.</h4> + <p><code> $ tar xvf thermostat-1.6.4.tar.gz </code></p> - <p><code> + <p><code> $ cd thermostat-1.6.4 && mvn clean integration-test </code></p> - <p><code> + <p><code> $ export PATH=$PATH:path/to/thermostat-1.6.4/distribution/target/image/bin </code></p> - </div> - <div class="col-md-4"> - <h4> Compile from Mercurial source: </h4> - <p><code> + </div> + <div class="col-md-4"> + <h4> Compile from Mercurial source: </h4> + <p><code> $ sudo dnf install mercurial maven mongodb mongodb-server java-1.8.0-openjdk libsecret-devel make gcc gtk2-devel autoconf automake libtool </code></p> - <p><code> + <p><code> $ hg clone http://icedtea.classpath.org/hg/thermostat </code></p> - <p><code> + <p><code> $ cd thermostat && mvn clean integration-test </code></p> - <p><code> + <p><code> $ export PATH=$PATH:path/to/thermostat/distribution/target/image/bin </code></p> + </div> </div> </div> - </div> - <div class="panel panel-default"> - <div class="panel-heading"> - <h2 class="panel-title">Running Thermostat</h2> + <div class="panel panel-default"> + <div class="panel-heading"> + <h2 class="panel-title">Running Thermostat</h2> + </div> + <div class="panel-body"> + <h4>To make sure the installation is correct, first run:</h4> + <code>$ thermostat --version</code> + <h4>It should output, depending on the version, something like:</h4> + <code>Thermostat version 1.99.12</code> + <h4> + If there are errors, it is likely that the PATH has not been correctly set to include the Thermostat bin folder. See the + installation instructions for setting the path to Thermostat. + </h4> + <h4>Next we run locally by:</h4> + <code>$ thermostat local</code> + <h4> + This starts the Agent (monitors jvms), the Web-Storage (stores data) and the GUI (displays data) all on your local machine. + </h4> + <h4 style="margin-top: 3em;">For a distributed setup over multiple machines and more information, see the <a href="../documentation">Documentation</a>.</h4> + </div> </div> - <div class="panel-body"> - <h4>To make sure the installation is correct, first run:</h4> - <code>$ thermostat --version</code> - <h4>It should output, depending on the version, something like:</h4> - <code>Thermostat version 1.99.12</code> - <h4> - If there are errors, it is likely that the PATH has not been correctly set to include the Thermostat bin folder. See the - installation instructions for setting the path to Thermostat. - </h4> - <h4>Next we run locally by:</h4> - <code>$ thermostat local</code> - <h4> - This starts the Agent (monitors jvms), the Web-Storage (stores data) and the GUI (displays data) all on your local machine. - </h4> - <h4 style="margin-top: 3em;">For a distributed setup over multiple machines and more information, see the <a href="../documentation">Documentation</a>.</h4> - </div> + </div> - </div> </div> \ No newline at end of file
--- a/content/home/content.html Thu Nov 17 14:49:50 2016 -0500 +++ b/content/home/content.html Fri Nov 18 09:02:16 2016 -0500 @@ -8,6 +8,7 @@ <h3> The powerful instrumentation tool for the Hotspot JVM. </h3> + <a href="downloads" class="btn btn-default navbar-btn btn-xlarge btn-c1 btn-transparent" role="button"><span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span> Download</a> </div> </div> </div>
--- a/contribute/index.html Thu Nov 17 14:49:50 2016 -0500 +++ b/contribute/index.html Fri Nov 18 09:02:16 2016 -0500 @@ -20,7 +20,7 @@ <div id="content-header"> </div> - <div class="container" id="content-body"> + <div id="content-body"> </div> <div class="container" id="content-footer">
--- a/css/style.less Thu Nov 17 14:49:50 2016 -0500 +++ b/css/style.less Fri Nov 18 09:02:16 2016 -0500 @@ -6,18 +6,22 @@ @light-grey: rgb(220,220,220); @black: rgb(0,0,0); +@dark-blue-alpha: rgba(39,66,110,0.5); +@white-50: rgba(255,255,255,0.5); +@white-75: rgba(255,255,255,0.75); + /* sizes */ @screen-md-min: 992px; /* content-divs */ #content-header { background-color: @dark-blue; - height: 10%; - max-height: 50px; + // height: 6%; + // max-height: 50px; } #content-body { - height: 90%; + // height: 94%; background-color: @white; } @@ -25,6 +29,14 @@ background-color: @white; } +.space10 { + margin-top: 10px; +} + +.space40 { + margin-top: 40px; +} + html { height: 100%; } @@ -83,7 +95,7 @@ } .navbar-default { - background: none; + background: @dark-blue; font-size: 1.2em; border: none; margin-bottom: 0px; @@ -91,10 +103,12 @@ .navbar-default .navbar-nav > li > a { color: @white; + background-color: @dark-blue; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: @light-grey; + background-color: @dark-blue; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, @@ -115,6 +129,15 @@ border-color: @dark-blue } +.navbar-default .navbar-nav .open .dropdown-menu > li > a { + background-color: @dark-blue; + color: @white; +} + +.navbar-nav > li > .dropdown-menu { + background-color: @dark-blue; +} + .navbar-c1 { margin-right: 0.1em; } @@ -206,8 +229,9 @@ color: @dark-blue; } .btn-c1:hover, .btn-c1:focus, .btn-c1:active, .btn-c1.active, .open>.dropdown-toggle.btn-c1 { - color: @grey; - background: @white; + background: @white-75; + color: @dark-blue; + // font-size: 1.1em; } .btn-xlarge { @@ -215,6 +239,12 @@ font-size: 1.4em; } +.btn-transparent { + background: @white-50; + color: @dark-blue; + border-color: @black; +} + /* panel */ /**/ .panel-default {
--- a/documentation/index.html Thu Nov 17 14:49:50 2016 -0500 +++ b/documentation/index.html Fri Nov 18 09:02:16 2016 -0500 @@ -20,7 +20,7 @@ <div id="content-header"> </div> - <div class="container" id="content-body"> + <div id="content-body"> </div> <div class="container" id="content-footer">