Exemplo n.º 1
0
StatsManager::~StatsManager() {
    s_bStatsManagerEnabled = false;
    m_quit = 1;
    m_statsPipeCondition.wakeAll();
    wait();
    qDebug() << "StatsManager shutdown report:";
    qDebug() << "=====================================";
    for (QMap<QString, Stat>::const_iterator it = m_stats.begin();
         it != m_stats.end(); ++it) {
        qDebug() << it.value();
    }
    qDebug() << "=====================================";

    if (CmdlineArgs::Instance().getTimelineEnabled()) {
        writeTimeline(CmdlineArgs::Instance().getTimelinePath());
    }
}
Exemplo n.º 2
0
StatsManager::~StatsManager() {
    s_bStatsManagerEnabled = false;
    m_quit = 1;
    m_statsPipeCondition.wakeAll();
    wait();
    qDebug() << "StatsManager shutdown report:";
    qDebug() << "=====================================";
    qDebug() << "ALL STATS";
    qDebug() << "=====================================";
    for (QMap<QString, Stat>::const_iterator it = m_stats.begin();
         it != m_stats.end(); ++it) {
        qDebug() << it.value();
    }

    if (!m_baseStats.isEmpty()) {
        qDebug() << "=====================================";
        qDebug() << "BASE STATS";
        qDebug() << "=====================================";
        for (QMap<QString, Stat>::const_iterator it = m_baseStats.begin();
             it != m_baseStats.end(); ++it) {
            qDebug() << it.value();
        }
    }

    if (!m_experimentStats.isEmpty()) {
        qDebug() << "=====================================";
        qDebug() << "EXPERIMENT STATS";
        qDebug() << "=====================================";
        for (QMap<QString, Stat>::const_iterator it = m_experimentStats.begin();
             it != m_experimentStats.end(); ++it) {
            qDebug() << it.value();
        }
    }
    qDebug() << "=====================================";

    if (CmdlineArgs::Instance().getTimelineEnabled()) {
        writeTimeline(CmdlineArgs::Instance().getTimelinePath());
    }
}
void distributionFunctionObject::write() {
    clearDistributions();

    getDistribution();

    if(writeTimeline() && startup_) {
        timelineFunctionObject::start();
    }
    startup_=false;

    bool zeroDistribution=false;

    if(
        distScalar_.valid()
        &&
        distScalar_->maxNrBins()<=0
    ) {
        zeroDistribution=true;
    }
    if(
        distVector_.valid()
        &&
        distVector_->maxNrBins()<=0
    ) {
        zeroDistribution=true;
    }
    if(
        distTensor_.valid()
        &&
        distTensor_->maxNrBins()<=0
    ) {
        zeroDistribution=true;
    }
    if(
        distSymmTensor_.valid()
        &&
        distSymmTensor_->maxNrBins()<=0
    ) {
        zeroDistribution=true;
    }
    if(
        distSphericalTensor_.valid()
        &&
        distSphericalTensor_->maxNrBins()<=0
    ) {
        zeroDistribution=true;
    }

    if(zeroDistribution) {
        WarningIn("distributionFunctionObject::write")
            << "Distribution for " << name() << " has size 0. "
                << "Doing nothing"
                << endl;
        return;
    }
    if(Pstream::master()) {
        if(writeTimeline()) {
            writeATimeline(distScalar_);
            writeATimeline(distVector_);
            writeATimeline(distTensor_);
            writeATimeline(distSymmTensor_);
            writeATimeline(distSphericalTensor_);
        }

        if(writeDistribution()) {
            writeADistribution(distScalar_);
            writeADistribution(distVector_);
            writeADistribution(distTensor_);
            writeADistribution(distSymmTensor_);
            writeADistribution(distSphericalTensor_);
        }

        if(verbose()) {
            reportADistribution(distScalar_);
            reportADistribution(distVector_);
            reportADistribution(distTensor_);
            reportADistribution(distSymmTensor_);
            reportADistribution(distSphericalTensor_);
        }
    }
}
void distributionFunctionObject::flush() {

    if(writeTimeline()) {
        timelineFunctionObject::flush();
    }
}