mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Gaetan Boismal
15.27.2016 d1f856b7e21b543aaccd701942bc8bc4efc96912
opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthRate.java
@@ -406,7 +406,6 @@
            setDefaultPerfToolProperties();
            PerformanceRunnerOptions options = new PerformanceRunnerOptions(argParser, this);
            options.setSupportsRebind(false);
            options.setSupportsAsynchronousRequests(false);
            options.setSupportsMultipleThreadsPerConnection(false);
            connectionFactoryProvider = new ConnectionFactoryProvider(argParser, this);
opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java
@@ -157,25 +157,24 @@
                long startTimeNs = System.nanoTime();
                promise = performOperation(connection, dataSources.get(), startTimeNs);
                statsThread.incrementOperationCount();
                if (!isAsync) {
                    try {
                        promise.getOrThrow();
                    } catch (final InterruptedException e) {
                        // Ignore and check stop requested
                        continue;
                    } catch (final LdapException e) {
                        if (!stopRequested && e.getCause() instanceof IOException) {
                            e.getCause().printStackTrace(app.getErrorStream());
                            stopTool(true);
                            break;
                        }
                        // Ignore. Handled by result handler
                    } finally {
                        if (this.connection == null) {
                            connection.close();
                        }
                try {
                    promise.getOrThrow();
                } catch (final InterruptedException e) {
                    // Ignore and check stop requested
                    continue;
                } catch (final LdapException e) {
                    if (!stopRequested && e.getCause() instanceof IOException) {
                        e.getCause().printStackTrace(app.getErrorStream());
                        stopTool(true);
                        break;
                    }
                    // Ignore. Handled by result handler
                } finally {
                    if (this.connection == null) {
                        connection.close();
                    }
                }
                if (targetThroughput > 0) {
                    try {
                        if (sleepTimeMs > 1) {
@@ -241,7 +240,6 @@
    private long warmUpDurationMs;
    /** Max duration time in ms, 0 for unlimited. **/
    private long maxDurationTimeMs;
    private boolean isAsync;
    private boolean noRebind;
    private BindRequest bindRequest;
    private int statsIntervalMs;
@@ -253,7 +251,6 @@
    private final IntegerArgument percentilesArgument;
    private final BooleanArgument keepConnectionsOpen;
    private final BooleanArgument noRebindArgument;
    private final BooleanArgument asyncArgument;
    private final StringArgument arguments;
    protected final IntegerArgument maxIterationsArgument;
    protected final IntegerArgument warmUpArgument;
@@ -339,15 +336,6 @@
            argParser.addArgument(noRebindArgument);
        }
        asyncArgument =
                new BooleanArgument("asynchronous", 'A', "asynchronous", LocalizableMessage
                        .raw("Use asynchronous mode and do not "
                                + "wait for results before sending the next request"));
        asyncArgument.setPropertyName("asynchronous");
        if (options.supportsAsynchronousRequests()) {
            argParser.addArgument(asyncArgument);
        }
        arguments =
                new StringArgument(
                        "argument",
@@ -402,7 +390,6 @@
        statsIntervalMs = statsIntervalArgument.getIntValue() * 1000;
        targetThroughput = targetThroughputArgument.getIntValue();
        isAsync = asyncArgument.isPresent();
        noRebind = noRebindArgument.isPresent();
        if (!noRebindArgument.isPresent() && this.numThreads > 1) {
@@ -410,11 +397,6 @@
                "--" + noRebindArgument.getLongIdentifier(), "--" + numThreadsArgument.getLongIdentifier(), "> 1"));
        }
        if (!noRebindArgument.isPresent() && asyncArgument.isPresent()) {
            throw new ArgumentException(ERR_TOOL_ARG_NEEDED_WHEN_USING_ARG.get(
                "--" + noRebindArgument.getLongIdentifier(), asyncArgument.getLongIdentifier()));
        }
        if (maxIterationsArgument.isPresent() && maxIterations <= 0) {
            throw new ArgumentException(ERR_TOOL_NOT_ENOUGH_ITERATIONS.get(
                "--" + maxIterationsArgument.getLongIdentifier(), numConnections * numThreads,
@@ -505,10 +487,6 @@
        }
    }
    boolean isAsync() {
        return isAsync;
    }
    double[] getPercentiles() {
        if (percentilesArgument.isPresent()) {
            double[] percentiles = new double[percentilesArgument.getValues().size()];
opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunnerOptions.java
@@ -21,7 +21,7 @@
 * CDDL HEADER END
 *
 *
 *      Portions Copyright 2014-2015 ForgeRock AS
 *      Portions Copyright 2014-2016 ForgeRock AS
 */
package com.forgerock.opendj.ldap.tools;
@@ -37,7 +37,6 @@
    private ConsoleApplication app;
    private boolean supportsRebind = true;
    private boolean supportAsynchronousRequests = true;
    private boolean supportsMultipleThreadsPerConnection = true;
    private boolean supportsGeneratorArgument = true;
@@ -54,14 +53,6 @@
        this.supportsRebind = supportsRebind;
    }
    boolean supportsAsynchronousRequests() {
        return supportAsynchronousRequests;
    }
    void setSupportsAsynchronousRequests(boolean supportAsynchronousRequests) {
        this.supportAsynchronousRequests = supportAsynchronousRequests;
    }
    boolean supportsMultipleThreadsPerConnection() {
        return supportsMultipleThreadsPerConnection;
    }
opendj-sdk/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/StatsThread.java
@@ -69,7 +69,6 @@
    private static final String AVERAGE_RESPONSE_TIME_MS = STAT_ID_PREFIX + "average_response_time";
    private static final String PERCENTILES = STAT_ID_PREFIX + "percentiles";
    private static final String ERROR_PER_SECOND = STAT_ID_PREFIX + "error_per_second";
    private static final String REQUEST_PER_RESPONSE = STAT_ID_PREFIX + "request_per_response";
    public static final double MS_IN_S = TimeUnit.SECONDS.toMillis(1);
    public static final double NS_IN_MS = TimeUnit.MILLISECONDS.toNanos(1);
@@ -116,7 +115,7 @@
        void printTitle() {
            final int throughputRawSpan = 2;
            final int responseTimeRawSpan = 2 + percentiles.length;
            final int additionalStatsRawSpan = 1 + (performanceRunner.isAsync() ? 1 : 0) + additionalColumns.size();
            final int additionalStatsRawSpan = 1 + additionalColumns.size();
            printer.printDashedLine();
            printer.printTitleSection("Throughput", throughputRawSpan);
@@ -146,10 +145,6 @@
            // Additional stats
            columns.add(separatorColumn());
            columns.add(column(ERROR_PER_SECOND, "err/sec", STANDARD_WIDTH, 1));
            if (performanceRunner.isAsync()) {
                columns.add(separatorColumn());
                columns.add(column(REQUEST_PER_RESPONSE, "req/res", 4, 1));
            }
            additionalColumns = registerAdditionalColumns();
            if (!additionalColumns.isEmpty()) {
                columns.addAll(additionalColumns);
@@ -183,9 +178,6 @@
                        PERCENTILES + percentile, percentile + "% response time", 2));
            }
            columns.add(column(ERROR_PER_SECOND, "errors/second", 1));
            if (performanceRunner.isAsync()) {
                columns.add(column(REQUEST_PER_RESPONSE, "Requests/response", 1));
            }
            columns.addAll(registerAdditionalColumns());
@@ -352,16 +344,6 @@
                return Ratio.of(errorCount.getLastIntervalCount(), durationMsCount.getLastIntervalCount() / MS_IN_S);
            }
        });
        if (performanceRunner.isAsync()) {
            registry.register(REQUEST_PER_RESPONSE, new RatioGauge() {
                @Override
                protected Ratio getRatio() {
                    return Ratio.of(operationCount.getLastIntervalCount(),
                            successCount.getLastIntervalCount() + errorCount.getLastIntervalCount());
                }
            });
        }
        registry.register(PERCENTILES, responseTimes);
    }
opendj-sdk/opendj-ldap-toolkit/src/main/resources/com/forgerock/opendj/ldap/tools/tools.properties
@@ -503,7 +503,6 @@
 directory %s does not exist
ERR_TOOL_NOT_ENOUGH_ITERATIONS=%s argument must be greater than or equal to %s \
 (%s per %s)
ERR_TOOL_ARG_NEEDED_WHEN_USING_ARG=%s must be used when using %s
ERR_TOOL_ARG_MUST_BE_USED_WHEN_ARG_CONDITION=%s must be used if %s is %s
INFO_TOOL_WARMING_UP=Warming up for %d seconds...
ERR_AUTHRATE_NO_BIND_DN_PROVIDED=Authentication information must be provided \