Blame src/shell-perf-log.h

Packit d345d1
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
Packit d345d1
#ifndef __SHELL_PERF_LOG_H__
Packit d345d1
#define __SHELL_PERF_LOG_H__
Packit d345d1
Packit d345d1
#include <glib-object.h>
Packit d345d1
#include <gio/gio.h>
Packit d345d1
Packit d345d1
G_BEGIN_DECLS
Packit d345d1
Packit d345d1
#define SHELL_TYPE_PERF_LOG (shell_perf_log_get_type ())
Packit d345d1
G_DECLARE_FINAL_TYPE (ShellPerfLog, shell_perf_log, SHELL, PERF_LOG, GObject)
Packit d345d1
Packit d345d1
ShellPerfLog *shell_perf_log_get_default (void);
Packit d345d1
Packit d345d1
void shell_perf_log_set_enabled (ShellPerfLog *perf_log,
Packit d345d1
				 gboolean      enabled);
Packit d345d1
Packit d345d1
void shell_perf_log_define_event (ShellPerfLog *perf_log,
Packit d345d1
				  const char   *name,
Packit d345d1
				  const char   *description,
Packit d345d1
				  const char   *signature);
Packit d345d1
void shell_perf_log_event        (ShellPerfLog *perf_log,
Packit d345d1
				  const char   *name);
Packit d345d1
void shell_perf_log_event_i      (ShellPerfLog *perf_log,
Packit d345d1
				  const char   *name,
Packit d345d1
				  gint32        arg);
Packit d345d1
void shell_perf_log_event_x      (ShellPerfLog *perf_log,
Packit d345d1
				  const char   *name,
Packit d345d1
				  gint64        arg);
Packit d345d1
void shell_perf_log_event_s      (ShellPerfLog *perf_log,
Packit d345d1
				  const char   *name,
Packit d345d1
				  const char   *arg);
Packit d345d1
Packit d345d1
void shell_perf_log_define_statistic (ShellPerfLog *perf_log,
Packit d345d1
                                      const char   *name,
Packit d345d1
                                      const char   *description,
Packit d345d1
                                      const char   *signature);
Packit d345d1
Packit d345d1
void shell_perf_log_update_statistic_i (ShellPerfLog *perf_log,
Packit d345d1
                                        const char   *name,
Packit d345d1
                                        int           value);
Packit d345d1
void shell_perf_log_update_statistic_x (ShellPerfLog *perf_log,
Packit d345d1
                                        const char   *name,
Packit d345d1
                                        gint64        value);
Packit d345d1
Packit d345d1
typedef void (*ShellPerfStatisticsCallback) (ShellPerfLog *perf_log,
Packit d345d1
                                             gpointer      data);
Packit d345d1
Packit d345d1
void shell_perf_log_add_statistics_callback (ShellPerfLog               *perf_log,
Packit d345d1
                                             ShellPerfStatisticsCallback callback,
Packit d345d1
                                             gpointer                    user_data,
Packit d345d1
                                             GDestroyNotify              notify);
Packit d345d1
Packit d345d1
void shell_perf_log_collect_statistics (ShellPerfLog *perf_log);
Packit d345d1
Packit d345d1
typedef void (*ShellPerfReplayFunction) (gint64      time,
Packit d345d1
					 const char *name,
Packit d345d1
					 const char *signature,
Packit d345d1
					 GValue     *arg,
Packit d345d1
                                         gpointer    user_data);
Packit d345d1
Packit d345d1
void shell_perf_log_replay (ShellPerfLog            *perf_log,
Packit d345d1
			    ShellPerfReplayFunction  replay_function,
Packit d345d1
                            gpointer                 user_data);
Packit d345d1
Packit d345d1
gboolean shell_perf_log_dump_events (ShellPerfLog   *perf_log,
Packit d345d1
                                     GOutputStream  *out,
Packit d345d1
                                     GError        **error);
Packit d345d1
gboolean shell_perf_log_dump_log    (ShellPerfLog   *perf_log,
Packit d345d1
                                     GOutputStream  *out,
Packit d345d1
                                     GError        **error);
Packit d345d1
Packit d345d1
G_END_DECLS
Packit d345d1
Packit d345d1
#endif /* __SHELL_PERF_LOG_H__ */