common: event trace lttng enhancement#14353
Conversation
publish function latencies as perf counters for large scale testing latency analysis Signed-off-by: Anjaneya Chagam <anjaneya.chagam@intel.com>
| m_func_enter_ts = m_last_event_ts = ceph_clock_now(); | ||
| if (unlikely(!init(m_cct))) return; | ||
| lsubdout(m_cct, eventtrace, LOG_LEVEL) << "ENTRY (" << m_func << ") " << m_file << ":" << m_line << dendl; | ||
| tracepoint(eventtrace, func_enter, m_file.c_str(), m_func.c_str(), m_line); |
There was a problem hiding this comment.
How well does this work? I would worry that the ceph_clock_now in ctor and dtor overhead might be significant, and that the m_counters map lookup would be slow. Also, do we want to fill in the timestamps when the perf_counters option isn't enabled?
| if (unlikely(!tpinit)) { | ||
| TracepointProvider::initialize<event_tracepoint_traits>(_ctx); | ||
| tpinit = true; | ||
| // we will only check once and if passed context doesn't have _conf |
There was a problem hiding this comment.
@rchagam It would be good if we can use does not instead of doesn't
| void EventTrace::log_perf_counter(const char *event, double usecs) | ||
| { | ||
| assert (m_logger != NULL); | ||
| // this function gets called once m_counters is initialized completely |
There was a problem hiding this comment.
@rchagam Also I believe it would be good to keep multiline comments in /* */
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
|
Since this PR no longer merges and we have plans for lttng and logging, I am closing this PR. |
Added event_elapsed event to track function latency and optionally publish function
latency as perf counter for scale testing latency analysis
Signed-off-by: Anjaneya Chagam anjaneya.chagam@intel.com