mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
Add code to append map and process events
This commit is contained in:
39
tracker.c
39
tracker.c
@ -86,14 +86,49 @@ tracker_free (tracker_t *tracker)
|
||||
|
||||
}
|
||||
|
||||
#define COPY_STRING(dest, src) \
|
||||
do \
|
||||
{ \
|
||||
strncpy (dest, src, sizeof (dest) - 1); \
|
||||
dest[sizeof (dest) - 1] = 0; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
|
||||
void
|
||||
tracker_add_process (tracker_t *tracker)
|
||||
tracker_add_process (tracker_t * tracker,
|
||||
pid_t pid,
|
||||
const char *command_line)
|
||||
{
|
||||
new_process_t event;
|
||||
|
||||
event.type = NEW_PROCESS;
|
||||
event.pid = pid;
|
||||
COPY_STRING (event.command_line, command_line);
|
||||
|
||||
tracker_append (tracker, &event, sizeof (event));
|
||||
}
|
||||
|
||||
void
|
||||
tracker_add_map (tracker_t *tracker)
|
||||
tracker_add_map (tracker_t * tracker,
|
||||
pid_t pid,
|
||||
uint64_t start,
|
||||
uint64_t end,
|
||||
uint64_t offset,
|
||||
uint64_t inode,
|
||||
const char *filename)
|
||||
{
|
||||
new_map_t event;
|
||||
|
||||
event.type = NEW_MAP;
|
||||
event.pid = pid;
|
||||
COPY_STRING (event.file_name, filename);
|
||||
event.start = start;
|
||||
event.end = end;
|
||||
event.offset = offset;
|
||||
event.inode = inode;
|
||||
|
||||
tracker_append (tracker, &event, sizeof (event));
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
13
tracker.h
13
tracker.h
@ -6,8 +6,17 @@ typedef struct tracker_t tracker_t;
|
||||
tracker_t *tracker_new (void);
|
||||
void tracker_free (tracker_t *);
|
||||
|
||||
void tracker_add_process (tracker_t *tracker);
|
||||
void tracker_add_map (tracker_t *tracker);
|
||||
void tracker_add_process (tracker_t *tracker,
|
||||
pid_t pid,
|
||||
const char *command_line);
|
||||
void
|
||||
tracker_add_map (tracker_t * tracker,
|
||||
pid_t pid,
|
||||
uint64_t start,
|
||||
uint64_t end,
|
||||
uint64_t offset,
|
||||
uint64_t inode,
|
||||
const char *filename);
|
||||
void tracker_add_sample (tracker_t *tracker,
|
||||
pid_t pid,
|
||||
uint64_t *ips,
|
||||
|
||||
Reference in New Issue
Block a user