projects
/
deliverable
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Backport: trackers: update lttng-sessiond
[deliverable/lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
ust-app.c
diff --git
a/src/bin/lttng-sessiond/ust-app.c
b/src/bin/lttng-sessiond/ust-app.c
index 0a8ce6b02572fc01326fe2223438c481fd095116..ed9c9fe3509598aef3a63def02c4e99923b82632 100644
(file)
--- a/
src/bin/lttng-sessiond/ust-app.c
+++ b/
src/bin/lttng-sessiond/ust-app.c
@@
-4084,7
+4084,9
@@
int ust_app_create_channel_glb(struct ltt_ust_session *usess,
*/
continue;
}
*/
continue;
}
- if (!trace_ust_pid_tracker_lookup(usess, app->pid)) {
+ if (!(trace_ust_id_tracker_lookup(LTTNG_TRACKER_VPID, usess, app->pid)
+ && trace_ust_id_tracker_lookup(LTTNG_TRACKER_VUID, usess, app->uid)
+ && trace_ust_id_tracker_lookup(LTTNG_TRACKER_VGID, usess, app->gid))) {
/* Skip. */
continue;
}
/* Skip. */
continue;
}
@@
-5059,7
+5061,9
@@
void ust_app_global_update(struct ltt_ust_session *usess, struct ust_app *app)
return;
}
return;
}
- if (trace_ust_pid_tracker_lookup(usess, app->pid)) {
+ if (trace_ust_id_tracker_lookup(LTTNG_TRACKER_VPID, usess, app->pid)
+ && trace_ust_id_tracker_lookup(LTTNG_TRACKER_VUID, usess, app->uid)
+ && trace_ust_id_tracker_lookup(LTTNG_TRACKER_VGID, usess, app->gid)) {
ust_app_global_create(usess, app);
} else {
ust_app_global_destroy(usess, app);
ust_app_global_create(usess, app);
} else {
ust_app_global_destroy(usess, app);
@@
-6045,21
+6049,24
@@
int ust_app_uid_get_channel_runtime_stats(uint64_t ust_session_id,
int ret;
uint64_t consumer_chan_key;
int ret;
uint64_t consumer_chan_key;
+ *discarded = 0;
+ *lost = 0;
+
ret = buffer_reg_uid_consumer_channel_key(
buffer_reg_uid_list, ust_session_id,
uchan_id, &consumer_chan_key);
if (ret < 0) {
ret = buffer_reg_uid_consumer_channel_key(
buffer_reg_uid_list, ust_session_id,
uchan_id, &consumer_chan_key);
if (ret < 0) {
+ /* Not found */
+ ret = 0;
goto end;
}
if (overwrite) {
ret = consumer_get_lost_packets(ust_session_id,
consumer_chan_key, consumer, lost);
goto end;
}
if (overwrite) {
ret = consumer_get_lost_packets(ust_session_id,
consumer_chan_key, consumer, lost);
- *discarded = 0;
} else {
ret = consumer_get_discarded_events(ust_session_id,
consumer_chan_key, consumer, discarded);
} else {
ret = consumer_get_discarded_events(ust_session_id,
consumer_chan_key, consumer, discarded);
- *lost = 0;
}
end:
}
end:
@@
-6078,10
+6085,13
@@
int ust_app_pid_get_channel_runtime_stats(struct ltt_ust_session *usess,
struct ust_app_session *ua_sess;
struct ust_app_channel *ua_chan;
struct ust_app_session *ua_sess;
struct ust_app_channel *ua_chan;
+ *discarded = 0;
+ *lost = 0;
+
rcu_read_lock();
/*
rcu_read_lock();
/*
- * Iterate over every registered applications
, return when we
- *
found one in the right
session and channel.
+ * Iterate over every registered applications
. Sum counters for
+ *
all applications containing requested
session and channel.
*/
cds_lfht_for_each_entry(ust_app_ht->ht, &iter.iter, app, pid_n.node) {
struct lttng_ht_iter uiter;
*/
cds_lfht_for_each_entry(ust_app_ht->ht, &iter.iter, app, pid_n.node) {
struct lttng_ht_iter uiter;
@@
-6100,19
+6110,26
@@
int ust_app_pid_get_channel_runtime_stats(struct ltt_ust_session *usess,
ua_chan = caa_container_of(ua_chan_node, struct ust_app_channel, node);
if (overwrite) {
ua_chan = caa_container_of(ua_chan_node, struct ust_app_channel, node);
if (overwrite) {
+ uint64_t _lost;
+
ret = consumer_get_lost_packets(usess->id, ua_chan->key,
ret = consumer_get_lost_packets(usess->id, ua_chan->key,
- consumer, lost);
- *discarded = 0;
- goto end;
+ consumer, &_lost);
+ if (ret < 0) {
+ break;
+ }
+ (*lost) += _lost;
} else {
} else {
+ uint64_t _discarded;
+
ret = consumer_get_discarded_events(usess->id,
ret = consumer_get_discarded_events(usess->id,
- ua_chan->key, consumer, discarded);
- *lost = 0;
- goto end;
+ ua_chan->key, consumer, &_discarded);
+ if (ret < 0) {
+ break;
+ }
+ (*discarded) += _discarded;
}
}
}
}
-end:
rcu_read_unlock();
return ret;
}
rcu_read_unlock();
return ret;
}
This page took
0.026843 seconds
and
5
git commands to generate.