Files
oceanbase/deps/oblib/unittest/lib/trace/test_trace.cpp
oceanbase-admin cea7de1475 init push
2021-05-31 22:56:52 +08:00

106 lines
3.7 KiB
C++

/**
* Copyright (c) 2021 OceanBase
* OceanBase CE is licensed under Mulan PubL v2.
* You can use this software according to the terms and conditions of the Mulan PubL v2.
* You may obtain a copy of Mulan PubL v2 at:
* http://license.coscl.org.cn/MulanPubL-2.0
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PubL v2 for more details.
*/
#include <gtest/gtest.h>
#include "lib/ob_define.h"
#include "lib/trace/ob_trace.h"
#include "lib/profile/ob_trace_id.h"
#include "share/ob_truncated_string.h"
using namespace oceanbase;
using namespace common;
#define OK(value) ASSERT_EQ(OB_SUCCESS, (value))
TEST(TestTrace, basic_test)
{
INIT_TRACE();
SET_TRACE_LEVEL(ObTraceLevel(2));
SET_TRACE_STAT(true);
OB_TRACE.set_file_name("sqltrace.log");
ObString stmt = ObString::make_string("select * from t1");
int64_t sql_id = 100;
int64_t t1 = ::oceanbase::common::ObTimeUtility::current_time();
// FILL_TRACE_STD(T_PARSE_START, T_KV(K_STMT, S(ObTruncatedString(stmt))));
FILL_TRACE_STD(T_PARSE_END);
FILL_TRACE_STD(T_CACHE_GET_PLAN_START);
FILL_TRACE_STD(T_CACHE_GET_PLAN_END);
// FILL_TRACE_STD(T_PLAN_CACHE_HIT, T_KV(K_SQL_ID, sql_id));
FILL_TRACE_STD(T_CACHE_ADD_PLAN_START);
FILL_TRACE_STD(T_CACHE_ADD_PLAN_END);
FILL_TRACE_STD(T_RESOLVER_START);
FILL_TRACE_STD(T_RESOLVER_END);
FILL_TRACE_STD(T_TRANSFORM_START);
FILL_TRACE_STD(T_TRANSFORM_END);
FILL_TRACE_STD(T_OPTIMIZER_START);
FILL_TRACE_STD(T_OPTIMIZER_END);
FILL_TRACE_STD(T_CG_START);
FILL_TRACE_STD(T_CG_END);
// FILL_TRACE_STD(T_PARSE_START, T_KV(K_STMT, S(ObTruncatedString(stmt))));
FILL_TRACE_STD(T_PARSE_END);
FILL_TRACE_STD(T_CACHE_GET_PLAN_START);
FILL_TRACE_STD(T_CACHE_GET_PLAN_END);
// FILL_TRACE_STD(T_PLAN_CACHE_HIT, T_KV(K_SQL_ID, sql_id));
FILL_TRACE_STD(T_CACHE_ADD_PLAN_START);
FILL_TRACE_STD(T_CACHE_ADD_PLAN_END);
FILL_TRACE_STD(T_RESOLVER_START);
FILL_TRACE_STD(T_RESOLVER_END);
FILL_TRACE_STD(T_TRANSFORM_START);
FILL_TRACE_STD(T_TRANSFORM_END);
FILL_TRACE_STD(T_OPTIMIZER_START);
FILL_TRACE_STD(T_OPTIMIZER_END);
FILL_TRACE_STD(T_CG_START);
FILL_TRACE_STD(T_CG_END);
// FILL_TRACE_STD(T_PARSE_START, T_KV(K_STMT, S(ObTruncatedString(stmt))));
FILL_TRACE_STD(T_PARSE_END);
FILL_TRACE_STD(T_CACHE_GET_PLAN_START);
FILL_TRACE_STD(T_CACHE_GET_PLAN_END);
// FILL_TRACE_STD(T_PLAN_CACHE_HIT, T_KV(K_SQL_ID, sql_id));
FILL_TRACE_STD(T_CACHE_ADD_PLAN_START);
FILL_TRACE_STD(T_CACHE_ADD_PLAN_END);
FILL_TRACE_STD(T_RESOLVER_START);
FILL_TRACE_STD(T_RESOLVER_END);
FILL_TRACE_STD(T_TRANSFORM_START);
FILL_TRACE_STD(T_TRANSFORM_END);
FILL_TRACE_STD(T_OPTIMIZER_START);
FILL_TRACE_STD(T_OPTIMIZER_END);
FILL_TRACE_STD(T_CG_START);
FILL_TRACE_STD(T_CG_END);
// FILL_TRACE_STD(T_PARSE_START, T_KV(K_STMT, S(ObTruncatedString(stmt))));
FILL_TRACE_STD(T_PARSE_END);
FILL_TRACE_STD(T_CACHE_GET_PLAN_START);
FILL_TRACE_STD(T_CACHE_GET_PLAN_END);
// FILL_TRACE_STD(T_PLAN_CACHE_HIT, T_KV(K_SQL_ID, sql_id));
FILL_TRACE_STD(T_CACHE_ADD_PLAN_START);
FILL_TRACE_STD(T_CACHE_ADD_PLAN_END);
FILL_TRACE_STD(T_RESOLVER_START);
FILL_TRACE_STD(T_RESOLVER_END);
FILL_TRACE_STD(T_TRANSFORM_START);
FILL_TRACE_STD(T_TRANSFORM_END);
FILL_TRACE_STD(T_OPTIMIZER_START);
FILL_TRACE_STD(T_OPTIMIZER_END);
FILL_TRACE_STD(T_CG_START);
FILL_TRACE_STD(T_CG_END);
int64_t t2 = ::oceanbase::common::ObTimeUtility::current_time();
LIB_LOG(INFO, "===========");
LIB_LOG(INFO, "time", "time", t2 - t1);
LIB_LOG(INFO, "===========");
FLUSH_TRACE();
}
int main(int argc, char** argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}