Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
#include <boost/function.hpp>
#include <boost/scoped_ptr.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/unordered_map.hpp>
#include <iostream>
#include <sys/time.h>
#include <sys/resource.h>
#include "common/atomic.h"
#include "common/logging.h"
#include "common/object-pool.h"
#include "util/thread.h"
#include "util/stopwatch.h"
#include "util/streaming-sampler.h"
#include "gen-cpp/RuntimeProfile_types.h"
Go to the source code of this file.
Classes | |
class | impala::RuntimeProfile |
class | impala::RuntimeProfile::Counter |
class | impala::RuntimeProfile::HighWaterMarkCounter |
class | impala::RuntimeProfile::DerivedCounter |
class | impala::RuntimeProfile::AveragedCounter |
class | impala::RuntimeProfile::ThreadCounters |
A set of counters that measure thread info, such as total time, user time, sys time. More... | |
class | impala::RuntimeProfile::EventSequence |
class | impala::RuntimeProfile::TimeSeriesCounter |
class | impala::ScopedEvent |
Utility class to mark an event when the object is destroyed. More... | |
class | impala::ScopedCounter |
class | impala::ScopedTimer< T > |
class | impala::ThreadCounterMeasurement |
Namespaces | |
impala | |
This file contains type definitions that are used throughout the code base. | |
Macros | |
#define | ENABLE_COUNTERS 1 |
#define | CONCAT_IMPL(x, y) x##y |
Some macro magic to generate unique ids using COUNTER More... | |
#define | MACRO_CONCAT(x, y) CONCAT_IMPL(x, y) |
#define | ADD_COUNTER(profile, name, unit) (profile)->AddCounter(name, unit) |
#define | ADD_TIME_SERIES_COUNTER(profile, name, src_counter) (profile)->AddTimeSeriesCounter(name, src_counter) |
#define | ADD_TIMER(profile, name) (profile)->AddCounter(name, TUnit::TIME_NS) |
#define | ADD_CHILD_TIMER(profile, name, parent) (profile)->AddCounter(name, TUnit::TIME_NS, parent) |
#define | SCOPED_TIMER(c) ScopedTimer<MonotonicStopWatch> MACRO_CONCAT(SCOPED_TIMER, __COUNTER__)(c) |
#define | COUNTER_ADD(c, v) (c)->Add(v) |
#define | COUNTER_SET(c, v) (c)->Set(v) |
#define | ADD_THREAD_COUNTERS(profile, prefix) (profile)->AddThreadCounters(prefix) |
#define | SCOPED_THREAD_COUNTER_MEASUREMENT(c) |
#define ADD_CHILD_TIMER | ( | profile, | |
name, | |||
parent | |||
) | (profile)->AddCounter(name, TUnit::TIME_NS, parent) |
Definition at line 51 of file runtime-profile.h.
Referenced by impala::HdfsTextScanner::Prepare(), and impala::ScanNode::Prepare().
#define ADD_COUNTER | ( | profile, | |
name, | |||
unit | |||
) | (profile)->AddCounter(name, unit) |
Definition at line 47 of file runtime-profile.h.
Referenced by DataPartitioner::DataPartitioner(), DataProvider::DataProvider(), impala::DataStreamRecvr::DataStreamRecvr(), impala::Sorter::Init(), impala::BufferedBlockMgr::Init(), impala::LlvmCodeGen::LlvmCodeGen(), impala::HdfsScanNode::Open(), impala::BaseSequenceScanner::Prepare(), impala::HdfsParquetScanner::Prepare(), impala::BlockingJoinNode::Prepare(), impala::HashJoinNode::Prepare(), impala::AggregationNode::Prepare(), impala::PartitionedHashJoinNode::Prepare(), impala::DataStreamSender::Prepare(), impala::ExecNode::Prepare(), impala::ScanNode::Prepare(), impala::PlanFragmentExecutor::Prepare(), impala::PartitionedAggregationNode::Prepare(), and impala::HdfsTableSink::Prepare().
#define ADD_THREAD_COUNTERS | ( | profile, | |
prefix | |||
) | (profile)->AddThreadCounters(prefix) |
Definition at line 57 of file runtime-profile.h.
Referenced by impala::ScanNode::Prepare().
#define ADD_TIME_SERIES_COUNTER | ( | profile, | |
name, | |||
src_counter | |||
) | (profile)->AddTimeSeriesCounter(name, src_counter) |
Definition at line 48 of file runtime-profile.h.
Referenced by impala::DataStreamRecvr::DataStreamRecvr(), and impala::ScanNode::Prepare().
#define ADD_TIMER | ( | profile, | |
name | |||
) | (profile)->AddCounter(name, TUnit::TIME_NS) |
Definition at line 50 of file runtime-profile.h.
Referenced by impala::HdfsTableSink::CreateNewTmpFile(), impala::DataStreamRecvr::DataStreamRecvr(), impala::CatalogOpExecutor::Exec(), impala::CatalogOpExecutor::ExecComputeStats(), impala::HdfsTableSink::FinalizePartitionFile(), impala::HBaseTableWriter::Init(), impala::Sorter::Init(), impala::BufferedTupleStream::Init(), impala::RuntimeState::Init(), impala::BufferedBlockMgr::Init(), impala::LlvmCodeGen::LlvmCodeGen(), impala::HdfsScanNode::Open(), impala::HBaseScanNode::Prepare(), impala::ExchangeNode::Prepare(), impala::BlockingJoinNode::Prepare(), impala::AggregationNode::Prepare(), impala::PartitionedHashJoinNode::Prepare(), impala::AnalyticEvalNode::Prepare(), impala::DataStreamSender::Prepare(), impala::PlanFragmentExecutor::Prepare(), impala::PartitionedAggregationNode::Prepare(), impala::HdfsScanner::Prepare(), impala::HdfsTableSink::Prepare(), impala::ImpalaServer::QueryExecState::QueryExecState(), impala::SortedRunMerger::SortedRunMerger(), and impala::ImpalaServer::QueryExecState::UpdateCatalog().
#define CONCAT_IMPL | ( | x, | |
y | |||
) | x##y |
Some macro magic to generate unique ids using COUNTER
Definition at line 43 of file runtime-profile.h.
#define COUNTER_ADD | ( | c, | |
v | |||
) | (c)->Add(v) |
Definition at line 55 of file runtime-profile.h.
Referenced by impala::DataStreamRecvr::SenderQueue::AddBatch(), DataPartitioner::AddData(), DataPartitioner::Allocate(), impala::HdfsSequenceTableWriter::AppendRowBatch(), impala::HdfsTextTableWriter::AppendRowBatch(), impala::HdfsAvroTableWriter::AppendRowBatch(), impala::HdfsParquetScanner::AssembleRows(), impala::PartitionedHashJoinNode::Partition::BuildHashTableInternal(), impala::BaseSequenceScanner::CloseFileRanges(), impala::PartitionedAggregationNode::CreateHashPartitions(), impala::HdfsTableSink::CreateNewTmpFile(), impala::HdfsParquetTableWriter::Finalize(), impala::HdfsTextScanner::FinishScanRange(), impala::HBaseTableScanner::GetFamily(), impala::HBaseScanNode::GetNext(), impala::CrossJoinNode::GetNext(), impala::HashJoinNode::GetNext(), impala::PlanFragmentExecutor::GetNextInternal(), impala::HBaseTableScanner::GetQualifier(), impala::HBaseTableScanner::GetRowKey(), impala::HBaseTableScanner::GetValue(), impala::HdfsTableSink::InitOutputPartition(), impala::HashJoinNode::LeftJoinGetNext(), impala::LlvmCodeGen::LoadModule(), DataProvider::NextBatch(), impala::PartitionedAggregationNode::NextPartition(), impala::PartitionedHashJoinNode::NextProbeRowBatch(), impala::BlockingJoinNode::Open(), impala::PartitionedHashJoinNode::PrepareNextPartition(), impala::PartitionedHashJoinNode::ProcessBuildInput(), impala::HdfsSequenceScanner::ProcessDecompressedBlock(), impala::HdfsParquetScanner::ProcessFooter(), impala::HdfsTextScanner::ProcessRange(), impala::HdfsAvroScanner::ProcessRange(), impala::HdfsSequenceScanner::ProcessRange(), impala::HdfsRCFileScanner::ProcessRange(), impala::BaseSequenceScanner::ProcessSplit(), impala::DiskIoMgr::ScanRange::ReadFromCache(), impala::DiskIoMgr::ReadRange(), impala::HdfsScanNode::ScannerThread(), impala::DataStreamSender::SerializeBatch(), impala::PartitionedAggregationNode::Partition::Spill(), impala::PartitionedHashJoinNode::Partition::Spill(), DataPartitioner::Split(), impala::HdfsScanNode::ThreadTokenAvailableCb(), and impala::HdfsTableWriter::Write().
#define COUNTER_SET | ( | c, | |
v | |||
) | (c)->Set(v) |
Definition at line 56 of file runtime-profile.h.
Referenced by impala::ExecNode::Close(), impala::CrossJoinNode::ConstructBuildSide(), impala::HashJoinNode::ConstructBuildSide(), impala::SelectNode::CopyRows(), impala::PartitionedAggregationNode::CreateHashPartitions(), impala::UnionNode::EvalAndMaterializeExprs(), impala::SortNode::GetNext(), impala::HBaseScanNode::GetNext(), impala::TopNNode::GetNext(), impala::ExchangeNode::GetNext(), impala::CrossJoinNode::GetNext(), impala::DataSourceScanNode::GetNext(), impala::HashJoinNode::GetNext(), impala::AggregationNode::GetNext(), impala::PartitionedHashJoinNode::GetNext(), impala::AnalyticEvalNode::GetNext(), impala::PartitionedAggregationNode::GetNext(), impala::HdfsScanNode::GetNextInternal(), impala::ExchangeNode::GetNextMerging(), impala::HashJoinNode::LeftJoinGetNext(), impala::PartitionedAggregationNode::MoveHashPartitions(), impala::AggregationNode::Open(), impala::PartitionedHashJoinNode::OutputUnmatchedBuild(), impala::PartitionedHashJoinNode::ProcessBuildInput(), impala::HdfsParquetScanner::ProcessSplit(), and DataProvider::Reset().
#define ENABLE_COUNTERS 1 |
Define macros for updating counters. The macros make it very easy to disable all counters at compile time. Set this to 0 to remove counters. This is useful to do to make sure the counters aren't affecting the system.
Definition at line 40 of file runtime-profile.h.
#define MACRO_CONCAT | ( | x, | |
y | |||
) | CONCAT_IMPL(x, y) |
Definition at line 44 of file runtime-profile.h.
#define SCOPED_THREAD_COUNTER_MEASUREMENT | ( | c | ) |
Definition at line 58 of file runtime-profile.h.
Referenced by impala::HBaseScanNode::GetNext(), and impala::HdfsScanNode::ScannerThread().
#define SCOPED_TIMER | ( | c | ) | ScopedTimer<MonotonicStopWatch> MACRO_CONCAT(SCOPED_TIMER, __COUNTER__)(c) |
Definition at line 53 of file runtime-profile.h.
Referenced by impala::DataStreamRecvr::SenderQueue::AddBatch(), DataPartitioner::AddData(), impala::HBaseTableWriter::AppendRowBatch(), impala::HdfsSequenceTableWriter::AppendRowBatch(), impala::HdfsTextTableWriter::AppendRowBatch(), impala::HdfsParquetTableWriter::AppendRowBatch(), impala::HdfsAvroTableWriter::AppendRowBatch(), impala::PartitionedHashJoinNode::Partition::BuildHashTableInternal(), impala::BlockingJoinNode::BuildSideThread(), impala::HBaseTableSink::Close(), impala::HBaseScanNode::Close(), impala::DataSourceScanNode::Close(), impala::HdfsTableSink::Close(), impala::HdfsAvroScanner::CodegenDecodeAvroData(), impala::PartitionedAggregationNode::CodegenProcessBatch(), impala::AggregationNode::CodegenProcessRowBatch(), impala::AggregationNode::CodegenUpdateTuple(), impala::PartitionedAggregationNode::CodegenUpdateTuple(), impala::HdfsScanner::CodegenWriteAlignedTuples(), impala::HdfsScanner::CodegenWriteCompleteTuple(), impala::TextConverter::CodegenWriteSlot(), impala::CrossJoinNode::ConstructBuildSide(), impala::HashJoinNode::ConstructBuildSide(), impala::HdfsSequenceTableWriter::ConsumeRow(), impala::HdfsTableSink::CreateNewTmpFile(), impala::BufferedBlockMgr::Decrypt(), impala::BufferedBlockMgr::Encrypt(), impala::PartitionedHashJoinNode::EvaluateNullProbe(), impala::CatalogOpExecutor::Exec(), impala::CatalogOpExecutor::ExecComputeStats(), impala::ImpalaServer::QueryExecState::FetchRowsInternal(), impala::HdfsTextScanner::FillByteBufferCompressedFile(), impala::HdfsTextScanner::FillByteBufferGzip(), impala::ExchangeNode::FillInputRowBatch(), impala::HdfsParquetTableWriter::Finalize(), DataPartitioner::Finalize(), impala::HdfsParquetTableWriter::BaseColumnWriter::FinalizeCurrentPage(), impala::LlvmCodeGen::FinalizeModule(), impala::HdfsTableSink::FinalizePartitionFile(), impala::BufferedBlockMgr::FindBuffer(), impala::HdfsTextScanner::FindFirstTuple(), impala::HdfsTextTableWriter::Flush(), impala::HdfsSequenceTableWriter::Flush(), impala::HdfsAvroTableWriter::Flush(), impala::HdfsParquetTableWriter::BaseColumnWriter::Flush(), impala::DataStreamRecvr::SenderQueue::GetBatch(), impala::SelectNode::GetNext(), impala::SortNode::GetNext(), impala::UnionNode::GetNext(), impala::HBaseScanNode::GetNext(), impala::TopNNode::GetNext(), impala::ExchangeNode::GetNext(), impala::CrossJoinNode::GetNext(), impala::DataSourceScanNode::GetNext(), impala::HashJoinNode::GetNext(), impala::AggregationNode::GetNext(), impala::AnalyticEvalNode::GetNext(), impala::PartitionedHashJoinNode::GetNext(), impala::PartitionedAggregationNode::GetNext(), impala::HdfsScanNode::GetNext(), impala::ScannerContext::Stream::GetNextBuffer(), impala::PlanFragmentExecutor::GetNextInternal(), impala::AnalyticEvalNode::GetNextOutputBatch(), impala::HdfsSequenceScanner::GetRecord(), impala::RuntimeState::Init(), impala::LlvmCodeGen::LinkModule(), impala::LlvmCodeGen::LoadFromFile(), impala::LlvmCodeGen::LoadImpalaIR(), impala::LlvmCodeGen::LoadModule(), impala::BufferedTupleStream::NewBlockForWrite(), impala::HBaseTableScanner::Next(), impala::BufferedTupleStream::NextBlockForRead(), impala::SelectNode::Open(), impala::HBaseScanNode::Open(), impala::SortNode::Open(), impala::UnionNode::Open(), impala::TopNNode::Open(), impala::ExchangeNode::Open(), impala::DataSourceScanNode::Open(), impala::BlockingJoinNode::Open(), impala::AggregationNode::Open(), impala::AnalyticEvalNode::Open(), impala::PartitionedAggregationNode::Open(), impala::PlanFragmentExecutor::OpenInternal(), impala::LlvmCodeGen::OptimizeModule(), impala::PartitionedHashJoinNode::OutputUnmatchedBuild(), impala::BufferedBlockMgr::PinBlock(), impala::BufferedTupleStream::PinStream(), impala::SelectNode::Prepare(), impala::HBaseTableSink::Prepare(), impala::SortNode::Prepare(), impala::UnionNode::Prepare(), impala::TopNNode::Prepare(), impala::BlockingJoinNode::Prepare(), impala::HashJoinNode::Prepare(), impala::AggregationNode::Prepare(), impala::PartitionedHashJoinNode::Prepare(), impala::AnalyticEvalNode::Prepare(), impala::DataStreamSender::Prepare(), impala::ScanNode::Prepare(), impala::PlanFragmentExecutor::Prepare(), impala::PartitionedAggregationNode::Prepare(), impala::HdfsScanNode::Prepare(), impala::HdfsTableSink::Prepare(), impala::BufferedTupleStream::PrepareForRead(), impala::PartitionedAggregationNode::ProcessBatch(), impala::PartitionedHashJoinNode::ProcessBuildInput(), impala::AnalyticEvalNode::ProcessChildBatch(), impala::HdfsSequenceScanner::ProcessDecompressedBlock(), impala::HdfsTextScanner::ProcessRange(), impala::HdfsAvroScanner::ProcessRange(), impala::HdfsSequenceScanner::ProcessRange(), impala::HdfsRCFileScanner::ProcessRange(), impala::HdfsRCFileScanner::ReadColumnBuffers(), impala::HdfsSequenceScanner::ReadCompressedBlock(), impala::HdfsParquetScanner::BaseColumnReader::ReadDataPage(), impala::HdfsRCFileScanner::ReadKeyBuffers(), impala::DiskIoMgr::ReadRange(), impala::HdfsScanNode::ScannerThread(), impala::HBaseTableScanner::ScanSetup(), impala::HBaseTableSink::Send(), impala::DataStreamSender::Send(), impala::HdfsTableSink::Send(), impala::DataStreamSender::SerializeBatch(), impala::BufferedBlockMgr::SetHash(), impala::Sorter::SortRun(), impala::DataStreamSender::Channel::TransmitDataHelper(), impala::BufferedTupleStream::UnpinBlock(), impala::BufferedTupleStream::UnpinStream(), impala::ImpalaServer::QueryExecState::UpdateCatalog(), impala::BufferedBlockMgr::VerifyHash(), impala::DataStreamSender::Channel::WaitForRpc(), impala::HdfsSequenceTableWriter::WriteCompressedBlock(), and impala::HdfsTextScanner::WriteFields().