Exemplo n.º 1
0
vector<sinsp_sample_row>* sinsp_table::get_sample(uint64_t time_delta)
{
	//
	// No sample generation happens when the table is paused
	//
	if(!m_paused)
	{
		//
		// If we have a freetext filter, we start by filtering the sample
		//
		if(m_freetext_filter != "")
		{
			filter_sample();
			m_sample_data = &m_filtered_sample_data;
		}
		else
		{
			m_sample_data = &m_full_sample_data;
		}

		//
		// Sort the sample
		//
		sort_sample();
	}

	//
	// If required, emit the sample to stdout
	//
#ifndef _WIN32
	if(m_print_to_stdout)
	{
#endif
		stdout_print(m_sample_data, time_delta);
#ifndef _WIN32
	}
#endif

	//
	// Restore the lists used for event processing
	//
	m_types = &m_premerge_types;
	m_table = &m_premerge_table;
	m_n_fields = m_n_premerge_fields;
	m_vals_array_sz = m_premerge_vals_array_sz;
	m_fld_pointers = m_premerge_fld_pointers;
	m_extractors = &m_premerge_extractors;

	return m_sample_data;
}
Exemplo n.º 2
0
int tsproc_update_delay(struct tsproc *tsp, tmv_t *delay)
{
	tmv_t raw_delay;

	if (tmv_is_zero(tsp->t2) || tmv_is_zero(tsp->t3))
		return -1;

	raw_delay = get_raw_delay(tsp);
	tsp->filtered_delay = filter_sample(tsp->delay_filter, raw_delay);

	pr_debug("delay   filtered %10" PRId64 "   raw %10" PRId64,
		 tsp->filtered_delay, raw_delay);

	if (delay)
		*delay = tsp->raw_mode ? raw_delay : tsp->filtered_delay;

	return 0;
}