Files
impala/be/generated-sources/gen-cpp/CMakeLists.txt
Nong Li 5d903efca3 ExecSummary
The runtime profile as we present it is not very useful and I think the structure of
it makes it hard to consume. This patch adds a new client facing schemed set of
counters that are collected from the runtime profiles. For example, with this structure
it would be easy to have the shell get the stats of a running query and print a useful
progress report or to check the most relevant metrics for diagnosing issues.

Here's an example of the output for one of the tpch queries:
Operator              #Hosts   Avg Time   Max Time    #Rows  Est. #Rows  Peak Mem  Est. Peak Mem  Detail
------------------------------------------------------------------------------------------------------------------------
09:MERGING-EXCHANGE        1   79.738us   79.738us        5           5         0        -1.00 B  UNPARTITIONED
05:TOP-N                   3   84.693us   88.810us        5           5  12.00 KB       120.00 B
04:AGGREGATE               3    5.263ms    6.432ms        5           5  44.00 KB       10.00 MB  MERGE FINALIZE
08:AGGREGATE               3   16.659ms   27.444ms   52.52K     600.12K   3.20 MB       15.11 MB  MERGE
07:EXCHANGE                3    2.644ms      5.1ms   52.52K     600.12K         0              0  HASH(o_orderpriority)
03:AGGREGATE               3  342.913ms  966.291ms   52.52K     600.12K  10.80 MB       15.11 MB
02:HASH JOIN               3    2s165ms    2s171ms  144.87K     600.12K  13.63 MB      941.01 KB  INNER JOIN, BROADCAST
|--06:EXCHANGE             3    8.296ms    8.692ms   57.22K      15.00K         0              0  BROADCAST
|  01:SCAN HDFS            2    1s412ms    1s978ms   57.22K      15.00K  24.21 MB      176.00 MB  tpch.orders o
00:SCAN HDFS               3    8s032ms    8s558ms    3.79M     600.12K  32.29 MB      264.00 MB  tpch.lineitem l

Change-Id: Iaad4b9dd577c375006313f19442bee6d3e27246a
Reviewed-on: http://gerrit.ent.cloudera.com:8080/2964
Reviewed-by: Nong Li <nong@cloudera.com>
Tested-by: jenkins
2014-06-11 03:10:11 -07:00

103 lines
2.8 KiB
CMake

# Copyright 2012 Cloudera Inc.
#
# Licensed 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.
# where to put generated libraries
set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/thrift")
# where to put generated binaries
set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/thrift")
set(SRC_FILES
CatalogObjects_constants.cpp
CatalogObjects_types.cpp
CatalogService.cpp
CatalogService_constants.cpp
CatalogService_types.cpp
CatalogInternalService_constants.cpp
CatalogInternalService_types.cpp
ImpalaInternalService.cpp
ImpalaInternalService_constants.cpp
ImpalaInternalService_types.cpp
ImpalaService.cpp
ImpalaService_constants.cpp
ImpalaService_types.cpp
ImpalaHiveServer2Service.cpp
Llama_constants.cpp
Llama_types.cpp
LlamaAMService.cpp
LlamaNotificationService.cpp
beeswax_constants.cpp
beeswax_types.cpp
BeeswaxService.cpp
TCLIService.cpp
cli_service_constants.cpp
cli_service_types.cpp
Data_constants.cpp
Data_types.cpp
DataSinks_constants.cpp
DataSinks_types.cpp
Descriptors_constants.cpp
Descriptors_types.cpp
ExecStats_constants.cpp
ExecStats_types.cpp
Exprs_constants.cpp
Exprs_types.cpp
ExternalDataSource_constants.cpp
ExternalDataSource_types.cpp
Frontend_types.cpp
Frontend_constants.cpp
hive_metastore_constants.cpp
hive_metastore_types.cpp
JniCatalog_constants.cpp
JniCatalog_types.cpp
Logging_types.cpp
NetworkTest_constants.cpp
NetworkTest_types.cpp
NetworkTestService.cpp
PlanNodes_constants.cpp
PlanNodes_types.cpp
ResourceBrokerNotificationService.cpp
ResourceBrokerService_constants.cpp
ResourceBrokerService_types.cpp
ResourceBrokerService.cpp
Partitions_constants.cpp
Partitions_types.cpp
Planner_constants.cpp
Planner_types.cpp
parquet_constants.cpp
parquet_types.cpp
RuntimeProfile_constants.cpp
RuntimeProfile_types.cpp
StatestoreService.cpp
StatestoreService_constants.cpp
StatestoreService_types.cpp
StatestoreSubscriber.cpp
Status_constants.cpp
Status_types.cpp
Types_constants.cpp
Types_types.cpp
)
# keep everything in one library, the object files reference
# each other
add_library(ImpalaThrift STATIC ${SRC_FILES})
# Setting these files as code-generated lets make clean and incremental builds work
# correctly
set_source_files_properties(${SRC_FILES} PROPERTIES GENERATED TRUE)
add_dependencies(ImpalaThrift thrift-cpp)