uftrace: update to 0.8.2.
This commit is contained in:
parent
10eeb65c08
commit
05cd98915c
2 changed files with 3 additions and 177 deletions
|
@ -1,174 +0,0 @@
|
||||||
From 95941ed8e45adabd178a1866c910de39626010ba Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrew Slough <ajss@forbidden.co.uk>
|
|
||||||
Date: Sun, 29 Oct 2017 15:29:08 +0000
|
|
||||||
Subject: [PATCH] build: move get_event_name to fstack
|
|
||||||
|
|
||||||
Signed-off-by: Andrew Slough <andrew.slough@gmail.com>
|
|
||||||
|
|
||||||
diff --git utils/fstack.c utils/fstack.c
|
|
||||||
index b6c13a1..3308216 100644
|
|
||||||
--- utils/fstack.c
|
|
||||||
+++ utils/fstack.c
|
|
||||||
@@ -1054,6 +1054,78 @@ static void save_task_event(struct ftrace_task_handle *task,
|
|
||||||
fseek(task->fp, 8 - rem, SEEK_CUR);
|
|
||||||
}
|
|
||||||
|
|
||||||
+/**
|
|
||||||
+ * get_event_name - find event name from event id
|
|
||||||
+ * @handle - handle to uftrace data
|
|
||||||
+ * @evt_id - event id
|
|
||||||
+ *
|
|
||||||
+ * This function returns a string of event name matching to @evt_id.
|
|
||||||
+ * Callers must free the returned string. This is moved from utils.c
|
|
||||||
+ * since it needs to call libtraceevent function for kernel events
|
|
||||||
+ * which is not linked into libmcount.
|
|
||||||
+ */
|
|
||||||
+char *get_event_name(struct ftrace_file_handle *handle, unsigned evt_id)
|
|
||||||
+{
|
|
||||||
+ char *evt_name = NULL;
|
|
||||||
+ struct event_format *event;
|
|
||||||
+
|
|
||||||
+ if (evt_id >= EVENT_ID_USER) {
|
|
||||||
+ struct uftrace_event *ev;
|
|
||||||
+
|
|
||||||
+ list_for_each_entry(ev, &handle->events, list) {
|
|
||||||
+ if (ev->id == evt_id) {
|
|
||||||
+ xasprintf(&evt_name, "%s:%s", ev->provider, ev->event);
|
|
||||||
+ goto out;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ xasprintf(&evt_name, "user_event:%u", evt_id);
|
|
||||||
+ goto out;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (evt_id >= EVENT_ID_PERF) {
|
|
||||||
+ const char *event_name;
|
|
||||||
+
|
|
||||||
+ switch (evt_id) {
|
|
||||||
+ case EVENT_ID_PERF_SCHED_IN:
|
|
||||||
+ event_name = "sched-in";
|
|
||||||
+ break;
|
|
||||||
+ case EVENT_ID_PERF_SCHED_OUT:
|
|
||||||
+ event_name = "sched-out";
|
|
||||||
+ break;
|
|
||||||
+ case EVENT_ID_PERF_SCHED_BOTH:
|
|
||||||
+ event_name = "schedule";
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ event_name = "unknown";
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ xasprintf(&evt_name, "linux:%s", event_name);
|
|
||||||
+ goto out;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (evt_id >= EVENT_ID_BUILTIN) {
|
|
||||||
+ switch (evt_id) {
|
|
||||||
+ case EVENT_ID_PROC_STATM:
|
|
||||||
+ xasprintf(&evt_name, "read:proc/statm");
|
|
||||||
+ break;
|
|
||||||
+ case EVENT_ID_PAGE_FAULT:
|
|
||||||
+ xasprintf(&evt_name, "read:page-fault");
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ xasprintf(&evt_name, "builtin_event:%u", evt_id);
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ goto out;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* kernel events */
|
|
||||||
+ event = pevent_find_event(handle->kernel->pevent, evt_id);
|
|
||||||
+ xasprintf(&evt_name, "%s:%s", event->system, event->name);
|
|
||||||
+
|
|
||||||
+out:
|
|
||||||
+ return evt_name;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
int read_task_event(struct ftrace_task_handle *task,
|
|
||||||
struct uftrace_record *rec)
|
|
||||||
{
|
|
||||||
diff --git utils/utils.c utils/utils.c
|
|
||||||
index de7dd1b..eb959ed 100644
|
|
||||||
--- utils/utils.c
|
|
||||||
+++ utils/utils.c
|
|
||||||
@@ -522,76 +522,6 @@ void free_parsed_cmdline(char **argv)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-/**
|
|
||||||
- * get_event_name - find event name from event id
|
|
||||||
- * @handle - handle to uftrace data
|
|
||||||
- * @evt_id - event id
|
|
||||||
- *
|
|
||||||
- * This function returns a string of event name matching to @evt_id.
|
|
||||||
- * Callers must free the returned string.
|
|
||||||
- */
|
|
||||||
-char *get_event_name(struct ftrace_file_handle *handle, unsigned evt_id)
|
|
||||||
-{
|
|
||||||
- char *evt_name = NULL;
|
|
||||||
- struct event_format *event;
|
|
||||||
-
|
|
||||||
- if (evt_id >= EVENT_ID_USER) {
|
|
||||||
- struct uftrace_event *ev;
|
|
||||||
-
|
|
||||||
- list_for_each_entry(ev, &handle->events, list) {
|
|
||||||
- if (ev->id == evt_id) {
|
|
||||||
- xasprintf(&evt_name, "%s:%s", ev->provider, ev->event);
|
|
||||||
- goto out;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- xasprintf(&evt_name, "user_event:%u", evt_id);
|
|
||||||
- goto out;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (evt_id >= EVENT_ID_PERF) {
|
|
||||||
- const char *event_name;
|
|
||||||
-
|
|
||||||
- switch (evt_id) {
|
|
||||||
- case EVENT_ID_PERF_SCHED_IN:
|
|
||||||
- event_name = "sched-in";
|
|
||||||
- break;
|
|
||||||
- case EVENT_ID_PERF_SCHED_OUT:
|
|
||||||
- event_name = "sched-out";
|
|
||||||
- break;
|
|
||||||
- case EVENT_ID_PERF_SCHED_BOTH:
|
|
||||||
- event_name = "schedule";
|
|
||||||
- break;
|
|
||||||
- default:
|
|
||||||
- event_name = "unknown";
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- xasprintf(&evt_name, "linux:%s", event_name);
|
|
||||||
- goto out;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (evt_id >= EVENT_ID_BUILTIN) {
|
|
||||||
- switch (evt_id) {
|
|
||||||
- case EVENT_ID_PROC_STATM:
|
|
||||||
- xasprintf(&evt_name, "read:proc/statm");
|
|
||||||
- break;
|
|
||||||
- case EVENT_ID_PAGE_FAULT:
|
|
||||||
- xasprintf(&evt_name, "read:page-fault");
|
|
||||||
- break;
|
|
||||||
- default:
|
|
||||||
- xasprintf(&evt_name, "builtin_event:%u", evt_id);
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- goto out;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- /* kernel events */
|
|
||||||
- event = pevent_find_event(handle->kernel->pevent, evt_id);
|
|
||||||
- xasprintf(&evt_name, "%s:%s", event->system, event->name);
|
|
||||||
-
|
|
||||||
-out:
|
|
||||||
- return evt_name;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
/**
|
|
||||||
* absolute_dirname - return the canonicalized absolute dirname
|
|
||||||
*
|
|
||||||
--
|
|
||||||
2.15.0
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'uftrace'
|
# Template file for 'uftrace'
|
||||||
pkgname=uftrace
|
pkgname=uftrace
|
||||||
version=0.8.1
|
version=0.8.2
|
||||||
revision=2
|
revision=1
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
hostmakedepends="pandoc"
|
hostmakedepends="pandoc"
|
||||||
makedepends="elfutils-devel"
|
makedepends="elfutils-devel"
|
||||||
|
@ -19,4 +19,4 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
|
||||||
license="GPL-2"
|
license="GPL-2"
|
||||||
homepage="https://github.com/namhyung/uftrace"
|
homepage="https://github.com/namhyung/uftrace"
|
||||||
distfiles="https://github.com/namhyung/uftrace/archive/v${version}.tar.gz"
|
distfiles="https://github.com/namhyung/uftrace/archive/v${version}.tar.gz"
|
||||||
checksum=5f9489554d0b9e475eaf6f181550e4c99274ad2038841cf8a2d615d9f65d6d44
|
checksum=15d6f3372f84d8db68b23f56242e15c272062ef249480f48dc856fed66c60571
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue