ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sboi...@apache.org
Subject [5/6] incubator-ignite git commit: # ignite-164, ignite-195 : load/html/index.html was deleted tohgether with gg-loadtest-server.js
Date Fri, 06 Feb 2015 15:09:05 GMT
# ignite-164, ignite-195 : load/html/index.html was deleted tohgether with gg-loadtest-server.js


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/fe005ea3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/fe005ea3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/fe005ea3

Branch: refs/heads/ignite-164v2
Commit: fe005ea30dd96e747aed0c500b845980b95932e5
Parents: fe0d10b
Author: Artem Shutak <ashutak@gridgain.com>
Authored: Fri Feb 6 18:00:58 2015 +0300
Committer: Artem Shutak <ashutak@gridgain.com>
Committed: Fri Feb 6 18:00:58 2015 +0300

----------------------------------------------------------------------
 .../src/test/resources/load/html/index.html     | 957 -------------------
 1 file changed, 957 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/fe005ea3/modules/core/src/test/resources/load/html/index.html
----------------------------------------------------------------------
diff --git a/modules/core/src/test/resources/load/html/index.html b/modules/core/src/test/resources/load/html/index.html
deleted file mode 100644
index 538d52a..0000000
--- a/modules/core/src/test/resources/load/html/index.html
+++ /dev/null
@@ -1,957 +0,0 @@
-<!--
-  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.
-  -->
-<html>
-<head>
-    <meta charset="UTF-8"/>
-    <meta http-equiv="cache-control" content="no-cache"/>
-
-    <title>Ignite Load Tests</title>
-
-    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
-    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
-    <script type="text/javascript" src="/gg-loadtest/bootstrap/js/bootstrap.min.js"></script>
-    <script type="text/javascript" src="/gg-loadtest/js/mustache.js"></script>
-
-    <link rel="stylesheet" type="text/css" href="/gg-loadtest/bootstrap/css/bootstrap.min.css">
-
-    <style type="text/css">
-        .raw-link {
-            font-size: 16px;
-            font-family: courier;
-        }
-
-        .block05 {
-            width: 49%;
-            display: inline-block;
-        }
-
-        .brand img {
-            width: 16px;
-            height: 16px;
-        }
-
-        .gg-chart-block {
-            margin-bottom: 40px;
-        }
-
-        a:link {
-            color : #0077ff;
-        }
-
-        a:visited {
-            color : #0077ff;
-        }
-    </style>
-</head>
-
-<body>
-    <div class="navbar">
-        <div class="navbar-inner">
-            <div class="container">
-                <a class="brand" href="#">
-                    <img src="http://atlassian.gridgain.com/wiki/download/attachments/10682370/book">
-                    Ignite Load Tests
-                </a>
-
-                <ul class="nav" role="navigation">
-                    <li class="dropdown">
-                        <a class="dropdown-toggle" role="button" data-toggle="dropdown"
href="#">
-                            Display charts
-                            <b class="caret"></b>
-                        </a>
-                        <ul class="dropdown-menu" role="menu">
-                            <li>
-                                <a id="GridJobExecutionSingleNodeLoadTest" class="gg-chart-checkbox"
href="#">
-                                    <input type="checkbox" checked="true"> GridJobExecutionSingleNodeLoadTest
-                                </a>
-                            </li>
-                            <li>
-                                <a id="GridJobExecutionLoadTest" class="gg-chart-checkbox"
href="#">
-                                    <input type="checkbox" checked="true"> GridJobExecutionLoadTest
-                                </a>
-                            </li>
-                            <li>
-                                <a id="GridJobExecutionSingleNodeSemaphoreLoadTest" class="gg-chart-checkbox"
href="#">
-                                    <input type="checkbox" checked="true"> GridJobExecutionSingleNodeSemaphoreLoadTest
-                                </a>
-                            </li>
-                            <li>
-                                <a id="GridJobExecutionSemaphoreLoadTest" class="gg-chart-checkbox"
href="#">
-                                    <input type="checkbox" checked="true"> GridJobExecutionSemaphoreLoadTest
-                                </a>
-                            </li>
-                            <li>
-                                <a id="GridDsiLoadTest" class="gg-chart-checkbox" href="#">
-                                    <input type="checkbox" checked="true"> GridDsiLoadTest
-                                </a>
-                            </li>
-                            <li>
-                                <a id="GridMergeSortLoadTest" class="gg-chart-checkbox"
href="#">
-                                    <input type="checkbox" checked="true"> GridMergeSortLoadTest
-                                </a>
-                            </li>
-                            <li>
-                                <a id="GridClientCacheBenchmark" class="gg-chart-checkbox"
href="#">
-                                    <input type="checkbox" checked="true"> GridClientCacheBenchmark
-                                </a>
-                            </li>
-                            <li>
-                                <a id="GridCacheBenchmark" class="gg-chart-checkbox" href="#">
-                                    <input type="checkbox" checked="true"> GridCacheBenchmark
-                                </a>
-                            </li>
-                            <li>
-                                <a id="GridSwapEvictAllBenchmark" class="gg-chart-checkbox"
href="#">
-                                    <input type="checkbox" checked="true"> GridSwapEvictAllBenchmark
-                                </a>
-                            </li>
-                            <li class="divider"></li>
-                            <li>
-                                <a id="gg-display-all" href="#">Display all</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <a href="#">Show last:</a>
-                    </li>
-                    <li>
-                        <select id="gg-show-last" class="span1" style="margin-top: 5px;">
-                            <option>10</option>
-                            <option selected="selected">30</option>
-                            <option>60</option>
-                            <option>90</option>
-                            <option>All</option>
-                        </select>
-                    </li>
-                    <li>
-                        <a href="#">Branch:</a>
-                    </li>
-                    <li>
-                        <select id="gg-branch" class="span2" style="margin-top: 5px;">
-                        </select>
-                    </li>
-                    <li>
-                        <button id="gg-refresh" class="btn btn-info" style="margin-left:
10px;">Refresh</button>
-                    </li>
-                </ul>
-            </div>
-        </div>
-    </div>
-
-    <ul class="nav nav-tabs">
-        <li class="active">
-            <a href="#general" data-toggle="tab">General</a>
-        </li>
-        <li>
-            <a href="#hadoop" data-toggle="tab">Hadoop</a>
-        </li>
-        <li>
-            <a href="#mongo-multinode" data-toggle="tab">Mongo Multinode</a>
-        </li>
-        <li>
-            <a href="#hazelcast" data-toggle="tab">Hazelcast</a>
-        </li>
-    </ul>
-
-    <div class="tab-content">
-        <div id="general" class="tab-pane fade in active">
-            <div class="gg-chart block05">
-                <div id="GridJobExecutionSingleNodeLoadTest_chart" class="gg-chart-canvas"></div>
-                <a href="#" class="raw-link">View raw results</a>
-            </div>
-
-            <div class="gg-chart block05">
-                <div id="GridJobExecutionLoadTest_chart" class="gg-chart-canvas"></div>
-                <a href="#" class="raw-link">View raw results</a>
-            </div>
-
-            <div class="gg-chart block05">
-                <div id="GridJobExecutionSingleNodeSemaphoreLoadTest_chart" class="gg-chart-canvas"></div>
-                <a href="#" class="raw-link">View raw results</a>
-            </div>
-
-            <div class="gg-chart block05">
-                <div id="GridJobExecutionSemaphoreLoadTest_chart" class="gg-chart-canvas"></div>
-                <a href="#" class="raw-link">View raw results</a>
-            </div>
-
-            <div class="gg-chart" id="GridDsiLoadTest_chart">
-                <div class="gg-chart block05">
-                    <div id="dsi-client-0" class="gg-chart-canvas"></div>
-                    <a href="#" class="raw-link">View raw results</a>
-                </div>
-                <div class="gg-chart block05">
-                    <div id="dsi-client-1" class="gg-chart-canvas"></div>
-                    <a href="#" class="raw-link">View raw results</a>
-                </div>
-
-                <div class="gg-chart block05">
-                    <div id="dsi-server-0" class="gg-chart-canvas"></div>
-                    <a href="#" class="raw-link">View raw results</a>
-                </div>
-                <div class="gg-chart block05">
-                    <div id="dsi-server-1" class="gg-chart-canvas"></div>
-                    <a href="#" class="raw-link">View raw results</a>
-                </div>
-            </div>
-
-            <div class="gg-chart block05">
-                <div id="GridMergeSortLoadTest_chart" class="gg-chart-canvas"></div>
-                <a href="#" class="raw-link">View raw results</a>
-            </div>
-
-            <div class="gg-chart block05">
-                <div id="GridClientCacheBenchmark_chart" class="gg-chart-canvas"></div>
-                <a href="#" class="raw-link">View raw results</a>
-            </div>
-
-            <div class="gg-chart block05">
-                <div id="GridCacheBenchmark_chart" class="gg-chart-canvas"></div>
-                <a href="#" class="raw-link">View raw results</a>
-            </div>
-
-            <div class="gg-chart block05">
-                <div id="GridSwapEvictAllBenchmark_chart" class="gg-chart-canvas"></div>
-                <a href="#" class="raw-link">View raw results</a>
-            </div>
-        </div>
-
-        <div id="hadoop" class="tab-pane fade">
-        </div>
-
-        <div id="mongo-multinode" class="tab-pane fade">
-            <h3>WriteConcern: ACKNOWLEDGED</h3>
-
-            <div id="ins-MongoMultinodeAcknowledged" class="gg-chart-block"></div>
-
-            <h3>WriteConcern: REPLICA_ACKNOWLEDGED</h3>
-
-            <div id="ins-MongoMultinodeReplicaAcknowledged" class="gg-chart-block"></div>
-
-            <h3>WriteConcern: UNACKNOWLEDGED</h3>
-
-            <div id="ins-MongoMultinodeUnacknowledged" class="gg-chart-block"></div>
-        </div>
-
-        <div id="hazelcast" class="tab-pane fade">
-        </div>
-    </div>
-
-    <script id="single-div-chart" type="text/mustache">
-        <div class="gg-chart block05">
-            <div id="{{id}}" class="gg-chart-canvas"></div>
-            <a href="#" class="raw-link">View raw results</a>
-        </div>
-    </script>
-
-    <script type="text/javascript">
-        var showLastN = 30; // Number of records to show from the end.
-        var branch; // Branch, for which to display results.
-        var commonOptions = {
-            curveType : 'function',
-            pointSize : 5,
-            interpolateNulls : true,
-            titleTextStyle : {
-                fontSize : 20
-            },
-            chartArea : {
-                left : 60
-            },
-            hAxis : {
-                format : 'MMM d, HH:mm'
-            }
-        };
-        var chartCache;
-        var chartTemplate = Mustache.compile($('#single-div-chart').html());
-
-        if (typeof(Storage)!=="undefined") // Local storage is available.
-            branch = localStorage.gridLastUsedBranch;
-
-        $(document).ready(function() {
-            // Window resize handler.
-            $(window).resize(function() {
-                displayCharts();
-            });
-
-            // Chart menu entry click handler.
-            $('.gg-chart-checkbox').click(function(e) {
-                var $cb = $(this).children('input:checkbox');
-
-                $cb.prop("checked", !$cb.prop("checked"));
-
-                $('#' + $(this).attr('id') + '_chart').closest('.gg-chart').toggle();
-
-                displayCharts();
-            });
-
-            // Chart menu entry checkbox click handler.
-            $('.gg-chart-checkbox input:checkbox').click(function(e) {
-                e.stopPropagation();
-
-                $('#' + $(this).closest('.gg-chart-checkbox').attr('id') + '_chart').closest('.gg-chart').toggle();
-
-                displayCharts();
-            });
-
-            // Click handler for Display all menu entry.
-            $('#gg-display-all').click(function() {
-                // Invoke click for all unchecked chart checkboxes.
-                $('.gg-chart-checkbox input:checkbox:not(:checked)').click();
-            });
-
-            // Change handler for Show last combo.
-            $('#gg-show-last').change(function() {
-                showLastN = $(this).val();
-
-                if (showLastN == 'All')
-                    showLastN = undefined;
-
-                displayCharts(true);
-            });
-
-            // Change handler for Branch combo.
-            $('#gg-branch').change(function() {
-                branch = $(this).val();
-
-                if (typeof(Storage)!=="undefined") // Local storage is available.
-                    localStorage.gridLastUsedBranch = branch;
-
-                $('.gg-chart-canvas').empty();
-
-                displayCharts(true);
-            });
-
-            // Click handler for Refresh button.
-            $('#gg-refresh').click(function() {
-                displayCharts(true);
-            });
-
-            // Tab switch handler.
-            $('a[data-toggle="tab"]').on('shown', function (e) {
-                displayCharts();
-            });
-        });
-
-        google.setOnLoadCallback(function() {
-            // Get list of available branches.
-            $.get('/gg-loadtest/branches', function(result) {
-                var $branchList = $('#gg-branch');
-                var currentBranchSeen = false;
-                var lastEntry;
-
-                parseApacheFsListing(result, function(entry) {
-                    if (!entry)
-                        return;
-
-                    if (!branch) {
-                        branch = entry;
-                        currentBranchSeen = true;
-                    }
-                    else
-                        currentBranchSeen |= branch == entry;
-
-                    lastEntry = entry;
-
-                    $branchList.append('<option>' + entry + '</option>');   

-                });
-
-                if (!currentBranchSeen)
-                    branch = lastEntry;
-
-                $("#gg-branch").val(branch);
-                
-                displayCharts();
-            }, 'text');
-        });
-
-        google.load('visualization', '1.0', {'packages':['corechart']});
-
-        /** Parses Apache filesystem listing HTML. */
-        function parseApacheFsListing(html, branchCb) {
-            // For each link in a table, fire callback with href value.
-            $(html).find('td a').each(function(idx, a) {
-                var href = $(a).attr('href');
-
-                if (href != '/')
-                    // Fire callback, throwing away trailing /.
-                    branchCb(href.match(/.*\//) ? href.substring(0, href.length - 1) : href);
-            });
-        }
-
-        /** 
-          * Displays Ignite load test charts.
-          * 
-          * @param invCache Invalidate cache flag.
-          */
-        function displayCharts(invCache) {
-            // Invalidate cache if needed.
-            if (invCache)
-                chartCache = undefined;
-
-            // General.
-            displayGeneralCharts();
-
-            // Hadoop.
-            displayHadoopCharts();
-
-            // Mongo Multinode.
-            displayMongoCharts();
-
-            // Hazelcast.
-            displayHazelcastCharts();
-        }
-
-        /**
-         * Displays charts for general benchmarks.
-         */
-        function displayGeneralCharts() {
-            singleLineChart('GridJobExecutionSingleNodeLoadTest', 'Avg. tasks/sec.');
-            singleLineChart('GridJobExecutionLoadTest', 'Avg. tasks/sec.', 'darkblue');
-            singleLineChart('GridJobExecutionSingleNodeSemaphoreLoadTest', 'Avg. tasks/sec.');
-            singleLineChart('GridJobExecutionSemaphoreLoadTest', 'Avg. tasks/sec.', 'darkblue');
-
-            var dsiClientColumns = function(data) {
-                data.addColumn('datetime', 'Date/Time');
-                data.addColumn('number', 'Tx./sec.');
-                data.addColumn('number', 'Avg. latency (ms.)');
-                data.addColumn('number', 'Max. submit time (ms.)');
-            };
-
-            multiLineChart({
-                name : 'GridDsiLoadTestClient0',
-                csvFile : 'GridDsiLoadTest.csv-0',
-                elementId : 'dsi-client-0',
-                title : 'GridDsiLoadTest (client 0)',
-                height : 200,
-                columns : dsiClientColumns
-            });
-            multiLineChart({
-                name : 'GridDsiLoadTestClient1',
-                csvFile : 'GridDsiLoadTest.csv-1',
-                elementId : 'dsi-client-1',
-                title : 'GridDsiLoadTest (client 1)',
-                height : 200,
-                columns : dsiClientColumns
-            });
-
-            var dsiServerColumns = function(data) {
-                data.addColumn('datetime', 'Date/Time');
-                data.addColumn('number', 'Tx./sec.');
-                data.addColumn('number', 'Near size');
-                data.addColumn('number', 'Dht size');
-            };
-
-            multiLineChart({
-                name : 'GridDsiLoadTestServer0',
-                csvFile : 'GridDsiLoadTest.csv-0-server',
-                elementId : 'dsi-server-0',
-                title : 'GridDsiLoadTest (server 0)',
-                height : 200,
-                columns : dsiServerColumns
-            });
-            multiLineChart({
-                name : 'GridDsiLoadTestServer1',
-                csvFile : 'GridDsiLoadTest.csv-1-server',
-                elementId : 'dsi-server-1',
-                title : 'GridDsiLoadTest (server 1)',
-                height : 200,
-                columns : dsiServerColumns
-            });
-
-            singleLineChart('GridMergeSortLoadTest', 'Sort time (sec.)', 'green');
-            singleLineChart('GridClientCacheBenchmark', 'Iterations/sec.', 'red');
-
-            multiLineChart({
-                name : 'GridCacheBenchmark',
-                columns : function(data) {
-                    data.addColumn('datetime', 'Date/Time');
-                    data.addColumn('number', 'Putx duration');
-                    data.addColumn('number', 'Get duration');
-                }
-            });
-
-            multiLineChart({
-                name : 'GridSwapEvictAllBenchmark',
-                colors : [ 'purple', 'orange' ],
-                columns : function(data) {
-                    data.addColumn('datetime', 'Date/Time');
-                    data.addColumn('number', 'Avg. evict speed');
-                    data.addColumn('number', 'Avg. unswap speed');
-                }
-            });
-        }
-
-        /**
-         * Displays charts for GGFS (Ignite) vs. HDFS (Hadoop) benchmark.
-         */
-        function displayHadoopCharts() {
-            var hadoopTests = [
-                'GridFileSystemDirectoryCreateBenchmark',
-                'GridFileSystemDirectoryDeleteBenchmark',
-                'GridFileSystemDirectoryListBenchmark',
-                'GridFileSystemDirectoryRandomOperationsBenchmark',
-                'GridFileSystemFileCreateBenchmark',
-                'GridFileSystemFileDeleteBenchmark',
-                'GridFileSystemFileRandomAccessBenchmark',
-                'GridFileSystemFileRandomOperationsBenchmark',
-                'GridFileSystemFileScanBenchmark'
-            ];
-
-            $.each(hadoopTests, function(idx, test) {
-                multiLineChart({
-                    name : test,
-                    colors : [ 'orange', 'rgb(0, 204, 255)' ],
-                    insertInto : 'hadoop',
-                    columns : function(data) {
-                        data.addColumn('datetime', 'Date/Time');
-                        data.addColumn('number', 'Duration (GGFS)');
-                        data.addColumn('number', 'Duration (HDFS)');
-                    }
-                });
-            });
-        }
-
-        /**
-         * Displays charts for Ignite vs. Mongo benchmark.
-         */
-        function displayMongoCharts() {
-            $.each(
-                ['Acknowledged', 'ReplicaAcknowledged', 'Unacknowledged'], 
-                function(idx, suiteName) {
-                    multiLineChart({
-                        name : 'GridMongoInsertBenchmarkMultinode' + suiteName,
-                        title : 'Insert',
-                        colors : [ 'green', 'orange' ],
-                        insertInto : 'ins-MongoMultinode' + suiteName,
-                        columns : function(data) {
-                            data.addColumn('datetime', 'Date/Time');
-                            data.addColumn('number', 'Inserts/sec. (Mongo)');
-                            data.addColumn('number', 'Inserts/sec. (Ignite)');
-
-                            return [0, 1, 5];
-                        }
-                    });
-                    multiLineChart({
-                        name : 'GridMongoUpdateBenchmarkMultinode' + suiteName,
-                        title : 'Update',
-                        colors : [ 'green', 'orange' ],
-                        insertInto : 'ins-MongoMultinode' + suiteName,
-                        columns : function(data) {
-                            data.addColumn('datetime', 'Date/Time');
-                            data.addColumn('number', 'Updates/sec. (Mongo)');
-                            data.addColumn('number', 'Updates/sec. (Ignite)');
-
-                            return [0, 2, 6];
-                        }
-                    });
-                    multiLineChart({
-                        name : 'GridMongoDeleteBenchmarkMultinode' + suiteName,
-                        title : 'Delete',
-                        colors : [ 'green', 'orange' ],
-                        insertInto : 'ins-MongoMultinode' + suiteName,
-                        columns : function(data) {
-                            data.addColumn('datetime', 'Date/Time');
-                            data.addColumn('number', 'Deletes/sec. (Mongo)');
-                            data.addColumn('number', 'Deletes/sec. (Ignite)');
-
-                            return [0, 3, 7];
-                        }
-                    });
-                    multiLineChart({
-                        name : 'GridMongoQueryBenchmarkMultinode' + suiteName,
-                        title : 'Query',
-                        colors : [ 'green', 'orange' ],
-                        insertInto : 'ins-MongoMultinode' + suiteName,
-                        columns : function(data) {
-                            data.addColumn('datetime', 'Date/Time');
-                            data.addColumn('number', 'Queries/sec. (Mongo)');
-                            data.addColumn('number', 'Queries/sec. (Ignite)');
-
-                            return [0, 4, 8];
-                        }
-                    });
-                    multiLineChart({
-                        name : 'GridMongoSortQueryBenchmarkMultinode' + suiteName,
-                        title : 'SortQuery',
-                        colors : [ 'green', 'orange' ],
-                        insertInto : 'ins-MongoMultinode' + suiteName,
-                        columns : function(data) {
-                            data.addColumn('datetime', 'Date/Time');
-                            data.addColumn('number', 'Queries/sec. (Mongo)');
-                            data.addColumn('number', 'Queries/sec. (Ignite)');
-
-                            return [0, 4, 8];
-                        }
-                    });
-                    
-                    multiLineChart({
-                        name : 'GridMongoMixedOperationsBenchmarkGridGainMultinode' + suiteName,
-                        csvFile : 'GridMongoMixedOperationsBenchmarkMultinode' + suiteName
+ '.csv',
-                        title : 'MixedOperations (Ignite)',
-                        insertInto : 'ins-MongoMultinode' + suiteName,
-                        columns : function(data) {
-                            data.addColumn('datetime', 'Date/Time');
-                            data.addColumn('number', 'Inserts/sec.');
-                            data.addColumn('number', 'Updates/sec.');
-                            data.addColumn('number', 'Deletes/sec.');
-                            data.addColumn('number', 'Queries/sec.');
-
-                            return [0, 5, 6, 7, 8];
-                        }
-                    });
-
-                    multiLineChart({
-                        name : 'GridMongoMixedOperationsBenchmarkMongoMultinode' + suiteName,
-                        csvFile : 'GridMongoMixedOperationsBenchmarkMultinode' + suiteName
+ '.csv',
-                        title : 'MixedOperations (Mongo)',
-                        insertInto : 'ins-MongoMultinode' + suiteName,
-                        columns : function(data) {
-                            data.addColumn('datetime', 'Date/Time');
-                            data.addColumn('number', 'Inserts/sec.');
-                            data.addColumn('number', 'Updates/sec.');
-                            data.addColumn('number', 'Deletes/sec.');
-                            data.addColumn('number', 'Queries/sec.');
-
-                            return [0, 1, 2, 3, 4];
-                        }
-                    });
-                }
-            );
-        }
-
-        /**
-         * Displays charts for Ignite vs. Hazelcast benchmark.
-         */
-        function displayHazelcastCharts() {
-            // Base name for all CSV files.
-            const baseName = 'GridCacheHazelcastComparisonTest';
-
-            // Tested configuration components.
-            // Each benchmark uses a distinct combination of those.
-            // Files are named accordingly.
-            var comps = [
-                {
-                    name : 'PartitionedDistributionMode',
-                    values : [
-                        { name : 'CLIENT_ONLY', abbr : 'cl' },
-                        { name : 'PARTITIONED_ONLY', abbr : 'pa' }
-                    ]
-                },
-                {
-                    name : 'WriteSynchronizationMode',
-                    values : [
-                        { name : 'FULL_SYNC', abbr : 'sync' },
-                        { name : 'FULL_ASYNC', abbr : 'async' }
-                    ]
-                },
-                {
-                    name : 'GridCacheAtomicityMode',
-                    values : [
-                        { name : 'ATOMIC', abbr : 'atom' },
-                        { name : 'TRANSACTIONAL', abbr : 'tran' }
-                    ]
-                },
-                {
-                    name : 'Threads',
-                    values : [
-                        { name : 'Single', abbr : 'singleTh' },
-                        { name : 'Multiple', abbr : 'multipleTh' }
-                    ]
-                },
-                {
-                    name : 'Operations',
-                    values : [
-                        { name : 'Put & Get', abbr : 'pg' },
-                        { name : 'Put', abbr : 'p' }
-                    ]
-                },
-                {
-                    name : 'Offheap',
-                    values : [
-                        { name : 'Enabled', abbr : 'off' },
-                        { name : 'Disabled', abbr : 'mem' }
-                    ]
-                }
-            ];
-
-            const ncombs = Math.pow(2, comps.length); // Number of combinations.
-
-            // Pass through all compinations, form file names, display charts.
-            for (var i = 0; i < ncombs; i++) {
-                var fileBase = baseName;
-                var desc = 'Benchmark ('; // Benchmark description.
-                var offheap; // OffHeap enabled or not?
-
-                // Each component in the combination has only 2 values.
-                // This fact is used here to retrieve each value from
-                // a combination of bits, taken from a current combination
-                // number.
-                for (var j = 0; j < comps.length; j++) {
-                    var comp = comps[j]; // Current component.
-                    var compVal = comp.values[(i >> j) & 1]; // Component value
(check the corresponding bit).
-
-                    fileBase += '_' + compVal.abbr;
-
-                    desc += comp.name + ': ' + compVal.name;
-                    if (j < comps.length - 1)
-                        desc += ', ';
-
-                    if (comp.name == 'Offheap')
-                        offheap = (compVal.name == 'Enabled');
-                }
-
-                desc += ')';
-
-                //console.log('fileBase', fileBase);
-                //console.log('desc', desc);
-                //console.log('offheap', offheap);
-
-                // Depending on the OffHeap mode, we draw either a 2-line or
-                // 3-line chart.
-                if (offheap) {
-                    // Draw a 3-line chart.
-                    multiLineChart({
-                        name : fileBase,
-                        title : desc,
-                        colors : [ 'orange', 'chocolate', 'blueviolet' ],
-                        insertInto : 'hazelcast',
-                        columns : function(data) {
-                            data.addColumn('datetime', 'Date/Time');
-                            data.addColumn('number', 'Ops/sec. (GG keys in mem)');
-                            data.addColumn('number', 'Ops/sec. (GG keys offheap)');
-                            data.addColumn('number', 'Ops/sec. (Hazelcast)');
-                        }
-                    });
-                }
-                else {
-                    // Draw a 2-line chart.
-                    multiLineChart({
-                        name : fileBase,
-                        title : desc,
-                        colors : [ 'orange', 'blueviolet' ],
-                        insertInto : 'hazelcast',
-                        columns : function(data) {
-                            data.addColumn('datetime', 'Date/Time');
-                            data.addColumn('number', 'Ops/sec. (Ignite)');
-                            data.addColumn('number', 'Ops/sec. (Hazelcast)');
-                        }
-                    });
-                }
-            }
-        }
-
-        /**
-         * Draws a chart with one line.
-         *
-         * @param name Base name for chart, used to define CSV file name,
-         *             element ID, and title.
-         * @param lineCaption Line caption in legend.
-         * @param color Color for the line.
-         * @param column Column index for data column in case there are more than 1.
-         */
-        function singleLineChart(name, lineCaption, color, column) {
-            // Try cache first.
-            if (chartCache && chartCache[name]) {
-                var c = chartCache[name];
-
-                var chart = new google.visualization.LineChart(document.getElementById(name
+ '_chart'));
-                chart.draw(c.data, c.options);
-
-                return;
-            }
-
-            var csvLink = '/gg-loadtest/' + branch + '/' + name + '.csv';
-            var $chart = $('#' + name + '_chart');
-
-            $.get(csvLink, function(result) {
-                var data = new google.visualization.DataTable();
-
-                data.addColumn('datetime', 'Date/Time')
-                data.addColumn('number', lineCaption);
-
-                var res = parseCsv(result, true, column ? [ 0, column ] : undefined);
-
-                data.addRows(res.data);
-
-                var delta = deltaPercent(res.min[1], res.max[1]);
-
-                var options = $.extend({
-                    title : name + ' (Δ = ' + delta + '%)',
-                    colors : color ? [ color ] : undefined,
-                    vAxis : {
-                        maxValue : res.max[1] * (2 - (delta / 100)),
-                        minValue : res.min[1] / (2 - (delta / 100))
-                    }
-                }, commonOptions);
-
-                var chart = new google.visualization.LineChart(document.getElementById(name
+ '_chart'));
-                chart.draw(data, options);
-
-                if (!chartCache)
-                    chartCache = new Array();
-
-                chartCache[name] = { data : data, options : options };
-
-                $chart.siblings('.raw-link').attr('href', csvLink);
-            }, 'text');
-        }
-
-        /**
-         * Draws a chart with multiple lines.
-         *
-         * @param opts Various options for chart. The required ones are:
-         *             csvFile - name of CSV file;
-         *             elementId - element ID to insert chart to;
-         *             columns - function, which defines a column set.
-         */
-        function multiLineChart(opts) {
-            var opts0 = $.extend({
-                name : opts.name,
-                title : opts.name,
-                csvFile : opts.name + '.csv',
-                elementId : opts.name + '_chart',
-                height : 200
-            }, opts);
-
-            // Try cache first.
-            if (chartCache && chartCache[opts0.name]) {
-                var c = chartCache[opts0.name];
-
-                var chart = new google.visualization.LineChart(document.getElementById(opts0.elementId));
-                chart.draw(c.data, c.options);
-
-                return;
-            }
-
-            // Generate HTML if needed.
-            if ($('#' + opts0.elementId).length == 0 && opts0.insertInto)
-                $('#' + opts0.insertInto).append($(chartTemplate({ id : opts0.elementId })));
-
-            var csvLink = '/gg-loadtest/' + branch + '/' + opts0.csvFile;
-
-            $.get(csvLink, function(result) {
-                var data = new google.visualization.DataTable();
-
-                var colIdxs = opts0.columns(data);
-
-                data.addRows(parseCsv(result, false, colIdxs));
-
-                var chartOpts = $.extend({
-                    title : opts0.title,
-                    height : opts0.height,
-                    colors : opts0.colors
-                }, commonOptions);
-
-
-                var chart = new google.visualization.LineChart(document.getElementById(opts0.elementId));
-                chart.draw(data, chartOpts);
-
-                if (!chartCache)
-                    chartCache = new Array();
-
-                chartCache[opts0.name] = { data : data, options : chartOpts };
-
-                $('#' + opts0.elementId).siblings('.raw-link').attr('href', csvLink);
-            }, 'text');
-        }
-
-        /**
-         * Counts the difference between min and max as a
-         * percentile of max.
-         * 
-         * @param min Min.
-         * @param max Max.
-         */
-        function deltaPercent(min, max) {
-            return Math.round((max - min) * 100 / max);
-        }
-
-        /**
-         * Parses the CSV data.
-         *
-         * @param csv A SCV string to parse.
-         * @param includeMeta Include min-max metadata to parsed output?
-         * @param columns Column indexes to use. If omitted, will use all columns.
-         * @return If includeMeta == false - a 2-dim array of parsed elements;
-         *         if includeMeta == true - an object with 2-dim array and min-max metadata.
-         */
-        function parseCsv(csv, includeMeta, columns) {
-            var dataArr = new Array();
-            var maxArr = new Array();
-            var minArr = new Array();
-            var csvArr = csv.split('\n');
-
-            // Iterate over lines.
-            $.each(csvArr, function(lineIdx, line) {
-                if (!line)
-                    return;
-
-                var lineArr = new Array();
-
-                // Iterate over line entries.
-                $.each(line.split(','), function(idx, val) {
-                    // Skip column if needed.
-                    if (columns && columns.indexOf(idx) == -1)
-                        return;
-
-                    // We nullify lineArr in case of error.
-                    if (!lineArr)
-                        return;
-
-                    if (val.match(/\d\d\/\d\d\/\d\d\d\d.*/)) // Date or datetime value.
-                        lineArr.push(new Date(val));
-                    else if(val.match(/\d+/)) { // Integer value.
-                        var intVal = parseInt(val);
-
-                        if (intVal >= 0) {
-                            lineArr.push(intVal);
-
-                            if (includeMeta && (csvArr.length - lineIdx <= (showLastN
|| Number.MAX_VALUE))) {
-                                if (intVal > (maxArr[idx] || 0))
-                                    maxArr[idx] = intVal;
-
-                                if (intVal < (minArr[idx] || Number.MAX_VALUE))
-                                    minArr[idx] = intVal;
-                            }
-                        }
-                        else // Negative means error, in which case we assume null.
-                            lineArr.push(null);
-                    }
-                    else // Assume string value.
-                        lineArr.push(val);
-                });
-
-                if (lineArr)
-                    dataArr.push(lineArr);
-            });
-
-            if (showLastN && dataArr.length > showLastN)
-                dataArr = dataArr.slice(dataArr.length - showLastN, dataArr.length);
-
-            if (includeMeta) {
-                return {
-                    data : dataArr,
-                    max : maxArr,
-                    min : minArr
-                };
-            }
-
-            return dataArr;
-        }
-    </script>
-</body>
-</html>


Mime
View raw message