adjust show trace framework

This commit is contained in:
obdev 2023-03-06 09:43:43 +00:00 committed by ob-robot
parent 0a68dd023b
commit d7da0bcfb3
3 changed files with 14 additions and 8 deletions

View File

@ -118,7 +118,8 @@ public:
union {
uint8_t policy_;
struct {
uint8_t level_ : 7;
uint8_t level_ : 6;
bool enable_show_trace_ : 1;
bool auto_flush_ : 1;
};
};
@ -270,9 +271,11 @@ struct ObTrace
OB_INLINE UUID get_root_span_id() { return root_span_id_; }
OB_INLINE uint8_t get_policy() { return policy_; }
OB_INLINE uint8_t get_level() { return level_; }
OB_INLINE void set_level(uint8_t level) { level_ = 0x7f & level; }
OB_INLINE void set_level(uint8_t level) { level_ = 0x3f & level; }
OB_INLINE void set_auto_flush(bool auto_flush) { auto_flush_ = auto_flush; }
OB_INLINE bool is_auto_flush() { return auto_flush_; }
OB_INLINE void set_enable_show_trace(bool enable_show_trace) { enable_show_trace_ = enable_show_trace; }
OB_INLINE bool is_enable_show_trace() { return enable_show_trace_; }
void check_leak_span();
void reset();
void dump_span();
@ -341,7 +344,8 @@ private:
union {
uint8_t policy_;
struct {
uint8_t level_ : 7;
uint8_t level_ : 6;
bool enable_show_trace_ : 1;
bool auto_flush_ : 1;
};
};

View File

@ -133,7 +133,7 @@ namespace sql
session.set_auto_flush_trace(false);
session.set_trace_enable(false);
}
OZ(ObFLTUtils::init_flt_show_trace_env(session));
OBTRACE->set_enable_show_trace(session.is_use_trace_log());
return ret;
}
@ -412,7 +412,7 @@ namespace sql
sid.deserialize(span_id.ptr(), span_id.length(), pos);
OBTRACE->init(tid, sid);
FLT_SET_TRACE_LEVEL(sess.get_control_info().level_);
FLT_SET_AUTO_FLUSH(sess.is_auto_flush_trace());
FLT_SET_AUTO_FLUSH(sess.is_auto_flush_trace() || sess.is_use_trace_log());
}
// update trace_id by server self
} else {
@ -429,7 +429,7 @@ namespace sql
}
}
FLT_SET_TRACE_LEVEL(sess.get_control_info().level_);
FLT_SET_AUTO_FLUSH(sess.is_auto_flush_trace());
FLT_SET_AUTO_FLUSH(sess.is_auto_flush_trace() || sess.is_use_trace_log());
}
LOG_TRACE("flt init log", K(sess.is_trace_enable()),
@ -501,6 +501,8 @@ namespace sql
if (OB_ISNULL(flt_span_manager)) {
// failed to get flt span manager, maybe tenant has been dropped, NOT NEED TO record;
} else if (!OBTRACE->is_enable_show_trace()) {
// do nothing
} else {
ObFLTSpanData data;
ObArenaAllocator allocator;

View File

@ -2740,8 +2740,8 @@ DEFINE_SHOW_CLAUSE_SET(SHOW_INDEXES,
DEFINE_SHOW_CLAUSE_SET(SHOW_TRACE,
NULL,
"SELECT span_name as `Operation`, start_ts as `StartTime`, concat(elapse, ' µs') as `ElapseTime` from %s.%s",
R"(SELECT span_name as "OPERATION", to_char(start_ts,'yyyy/mm/dd hh24:mi:ss') as "START_TIME", concat(elapse, ' µs') as "ELAPSE_TIME" FROM %s.%s)",
"SELECT span_name as `Operation`, start_ts as `StartTime`, concat(cast(elapse/1000 as number(20, 3)), ' ms') as `ElapseTime` from %s.%s",
R"(SELECT span_name as "OPERATION", to_char(start_ts,'yyyy/mm/dd hh24:mi:ss') as "START_TIME", concat(cast(elapse/1000 as number(20, 3)), ' ms') as "ELAPSE_TIME" FROM %s.%s)",
NULL);
DEFINE_SHOW_CLAUSE_SET(SHOW_TRACE_JSON,