Package edu.brown.profilers

Examples of edu.brown.profilers.HStoreSiteProfiler


        this.initTxnProcessors();
        this.initStatSources();
       
        // Profiling
        if (hstore_conf.site.profiling) {
            this.profiler = new HStoreSiteProfiler();
            if (hstore_conf.site.status_exec_info) {
                this.profiler.network_idle.resetOnEventObservable(this.startWorkload_observable);
            }
        } else {
            this.profiler = null;
View Full Code Here


    // ----------------------------------------------------------------------------
   
    @Override
    public void updateConf(HStoreConf hstore_conf, String[] changed) {
        if (hstore_conf.site.profiling && this.profiler == null) {
            this.profiler = new HStoreSiteProfiler();
        }
       
        // Push the updates to all of our PartitionExecutors
        for (PartitionExecutor executor : this.executors) {
            if (executor == null) continue;
View Full Code Here

    @Override
    protected void populateColumnSchema(ArrayList<ColumnInfo> columns) {
        super.populateColumnSchema(columns);
       
        // Make a dummy profiler just so that we can get the fields from it
        HStoreSiteProfiler profiler = new HStoreSiteProfiler();
        assert(profiler != null);
       
        for (ProfileMeasurement pm : profiler.getProfileMeasurements()) {
            String name = pm.getName().toUpperCase();
            // We need two columns per ProfileMeasurement
            //  (1) The total think time in nanoseconds
            //  (2) The number of invocations
            columns.add(new VoltTable.ColumnInfo(name, VoltType.BIGINT));
View Full Code Here

        } // FOR
    }

    @Override
    protected synchronized void updateStatsRow(Object rowKey, Object[] rowValues) {
        HStoreSiteProfiler profiler = this.hstore_site.getProfiler();
        int offset = this.columnNameToIndex.get("HOSTNAME")+1;
        for (ProfileMeasurement pm : profiler.getProfileMeasurements()) {
            rowValues[offset++] = pm.getTotalThinkTime();
            rowValues[offset++] = pm.getInvocations();
        } // FOR
        super.updateStatsRow(rowKey, rowValues);
    }
View Full Code Here

        }
       
        if (hstore_conf.site.profiling && hstore_site.getProfiler() != null) {
            // Compute the approximate arrival rate of transaction
            // requests per second from clients
            HStoreSiteProfiler profiler = hstore_site.getProfiler();
           
            pm = profiler.network_processing;
            double totalTime = System.currentTimeMillis() - startTime;
            double arrivalRate = (totalTime > 0 ? (pm.getInvocations() / totalTime) : 0d);
           
            value = String.format("%.02f txn/sec [total=%d]", arrivalRate, pm.getInvocations());
            siteInfo.put("Arrival Rate", value);
           
            pm = profiler.network_backup_off;
            siteInfo.put("Back Pressure Off", ProfileMeasurementUtil.formatComparison(pm, null, true));
           
            pm = profiler.network_backup_on;
            siteInfo.put("Back Pressure On", ProfileMeasurementUtil.formatComparison(pm, null, true));
        }

       
        // TransactionQueueManager
        TransactionQueueManager queueManager = hstore_site.getTransactionQueueManager();
        TransactionQueueManager.Debug queueManagerDebug = queueManager.getDebugContext();
       
        int inflight_cur = siteDebug.getInflightTxnCount();
        if (inflight_cur < this.inflight_min && inflight_cur > 0) this.inflight_min = inflight_cur;
        if (inflight_cur > this.inflight_max) this.inflight_max = inflight_cur;
       
        // CommandLogWriter
        int inflight_cmdlog = 0;
        CommandLogWriter cmdLogger = hstore_site.getCommandLogWriter();
        if (cmdLogger != null) {
            inflight_cmdlog = cmdLogger.getTotalTxnCount();
        }
       
        siteInfo.put("InFlight Txns",
                      String.format("%d total / %d init / %d queued / %d restart / %d cmdlog / %d deletable " +
                                "[totalMin=%d, totalMax=%d]",
                                    inflight_cur,       // total
                                    queueManagerDebug.getInitQueueSize(), // init
                                    queueManagerDebug.getLockQueueSize(), // queued
                                    queueManagerDebug.getRestartQueueSize(), // restart
                                    inflight_cmdlog,    // cmdlog
                                    this.siteDebug.getDeletableTxnCount(), // deletable
                                    this.inflight_min,  // totalMin
                                    this.inflight_max   // totalMax
        ));
       
       
        if (hstore_conf.site.status_check_for_zombies) {
            this.zombieInfo(siteInfo);
        }
       
        if (hstore_conf.site.profiling) {
            HStoreSiteProfiler profiler = this.hstore_site.getProfiler();
            pm = profiler.network_idle;
            value = ProfileMeasurementUtil.formatComparison(pm, this.lastNetworkIdle, true);
            siteInfo.put("Network Idle", value);
            this.lastNetworkIdle = new ProfileMeasurement(pm);
           
View Full Code Here

TOP

Related Classes of edu.brown.profilers.HStoreSiteProfiler

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.