#include <lttng/ust-config.h>
#include <lttng/ust-ctl.h>
#include <lttng/ust-abi.h>
-#include <lttng/ust-events.h>
#include <lttng/ust-endian.h>
+
#include <usterr-signal-safe.h>
#include <ust-comm.h>
-#include <helper.h>
+#include <ust-helper.h>
+#include "ust-compat.h"
#include "../libringbuffer/backend.h"
#include "../libringbuffer/frontend.h"
+#include "../liblttng-ust/ust-events-internal.h"
#include "../liblttng-ust/wait.h"
#include "../liblttng-ust/lttng-rb-clients.h"
#include "../liblttng-ust/clock.h"
uint32_t nr_dimensions;
int64_t global_sum_step;
struct ustctl_counter_dimension dimensions[USTCTL_COUNTER_ATTR_DIMENSION_MAX];
+ bool coalesce_hits;
};
/*
return client_cb->instance_id(buf, handle, id);
}
-#ifdef LTTNG_UST_HAVE_PERF_EVENT
+#ifdef HAVE_PERF_EVENT
int ustctl_has_perf_counters(void)
{
const int *counter_cpu_fds,
enum ustctl_counter_bitness bitness,
enum ustctl_counter_arithmetic arithmetic,
- uint32_t alloc_flags)
+ uint32_t alloc_flags,
+ bool coalesce_hits)
{
const char *transport_name;
struct ustctl_daemon_counter *counter;
counter->attr->arithmetic = arithmetic;
counter->attr->nr_dimensions = nr_dimensions;
counter->attr->global_sum_step = global_sum_step;
+ counter->attr->coalesce_hits = coalesce_hits;
for (i = 0; i < nr_dimensions; i++)
counter->attr->dimensions[i] = dimensions[i];
}
counter_conf.number_dimensions = counter->attr->nr_dimensions;
counter_conf.global_sum_step = counter->attr->global_sum_step;
+ counter_conf.coalesce_hits = counter->attr->coalesce_hits;
for (i = 0; i < counter->attr->nr_dimensions; i++) {
counter_conf.dimensions[i].size = counter->attr->dimensions[i].size;
counter_conf.dimensions[i].underflow_index = counter->attr->dimensions[i].underflow_index;
static __attribute__((constructor))
void ustctl_init(void)
{
- init_usterr();
- lttng_ust_getenv_init(); /* Needs init_usterr() to be completed. */
+ ust_err_init();
+ lttng_ust_getenv_init(); /* Needs ust_err_init() to be completed. */
lttng_ust_clock_init();
lttng_ring_buffer_metadata_client_init();
lttng_ring_buffer_client_overwrite_init();