SoW-2020-0002: Trace Hit Counters
[lttng-tools.git] / src / bin / lttng-sessiond / map.h
1 /*
2 * Copyright (C) 2020 Francis Deslauriers <francis.deslauriers@efficios.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 */
7 #ifndef _LTT_MAP_H
8 #define _LTT_MAP_H
9
10 #include <lttng/map/map.h>
11 #include <common/kernel-ctl/kernel-ctl.h>
12 #include "trace-kernel.h"
13 #include "trace-ust.h"
14
15 struct map_kv_ht_entry {
16 struct lttng_ht_node_str node;
17 char *key;
18 int64_t value;
19 bool has_overflowed;
20 bool has_underflowed;
21 };
22
23 enum lttng_error_code map_kernel_add(struct ltt_kernel_session *ksession,
24 struct lttng_map *map);
25 enum lttng_error_code map_kernel_enable(struct ltt_kernel_session *ksession,
26 struct ltt_kernel_map *kmap);
27 enum lttng_error_code map_kernel_disable(struct ltt_kernel_session *ksession,
28 struct ltt_kernel_map *kmap);
29
30 int map_ust_add(struct ltt_ust_session *usession,
31 struct lttng_map *map);
32 int map_ust_enable(struct ltt_ust_session *usess,
33 struct ltt_ust_map *umap);
34 int map_ust_disable(struct ltt_ust_session *usess,
35 struct ltt_ust_map *umap);
36
37 void map_add_or_increment_map_values(struct lttng_ht *map_values, const char *key,
38 int64_t value, bool has_underflowed, bool has_overflowed);
39
40 int map_new_content_section(struct lttng_map_content *map_content,
41 enum lttng_map_key_value_pair_list_type list_type,
42 bool summed_all_cpus, unsigned int identifier,
43 int cpu, struct lttng_ht *values);
44
45 #endif /* _LTT_MAP_H */
This page took 0.031239 seconds and 5 git commands to generate.