suricata
|
#include "suricata-common.h"
#include "util-profiling.h"
#include "tm-threads.h"
#include "conf.h"
#include "util-unittest.h"
#include "util-byte.h"
#include "util-profiling-locks.h"
#include "util-conf.h"
#include "util-path.h"
Go to the source code of this file.
Data Structures | |
struct | SCProfilePacketData_ |
struct | ProfileProtoRecords |
Macros | |
#define | CASE_CODE(E) case E: return #E |
#define | TEST_RUNS 1024 |
Typedefs | |
typedef struct SCProfilePacketData_ | SCProfilePacketData |
Functions | |
void | SCProfilingDumpPacketStats (void) |
const char * | PacketProfileDetectIdToString (PacketProfileDetectId id) |
Maps the PacketProfileDetectId, to its string equivalent. More... | |
const char * | PacketProfileLoggerIdToString (LoggerId id) |
Maps the LoggerId's to its string equivalent for profiling output. More... | |
void | SCProfilingInit (void) |
Initialize profiling. More... | |
void | SCProfilingDestroy (void) |
Free resources used by profiling. More... | |
void | SCProfilingDump (void) |
void | SCProfilingPrintPacketProfile (Packet *p) |
void | SCProfilingAddPacket (Packet *p) |
PktProfiling * | SCProfilePacketStart (void) |
int | SCProfileRuleStart (Packet *p) |
void | SCProfilingRegisterTests (void) |
void | SCProfileRuleStartCollection (void) |
void | SCProfileRuleStopCollection (void) |
An API for profiling operations.
Really just a wrapper around the existing perf counters.
Definition in file util-profiling.c.
#define CASE_CODE | ( | E | ) | case E: return #E |
Definition at line 1213 of file util-profiling.c.
#define TEST_RUNS 1024 |
typedef struct SCProfilePacketData_ SCProfilePacketData |
const char * PacketProfileDetectIdToString | ( | PacketProfileDetectId | id | ) |
Maps the PacketProfileDetectId, to its string equivalent.
id | PacketProfileDetectId id |
string | equivalent for the PacketProfileDetectId id |
Definition at line 1221 of file util-profiling.c.
References CASE_CODE, PROF_DETECT_ALERT, PROF_DETECT_CLEANUP, PROF_DETECT_GETSGH, PROF_DETECT_IPONLY, PROF_DETECT_NONMPMLIST, PROF_DETECT_PF_PAYLOAD, PROF_DETECT_PF_PKT, PROF_DETECT_PF_RECORD, PROF_DETECT_PF_SORT1, PROF_DETECT_PF_SORT2, PROF_DETECT_PF_TX, PROF_DETECT_RULES, PROF_DETECT_SETUP, PROF_DETECT_TX, and PROF_DETECT_TX_UPDATE.
const char * PacketProfileLoggerIdToString | ( | LoggerId | id | ) |
Maps the LoggerId's to its string equivalent for profiling output.
id | LoggerId id |
string | equivalent for the LoggerId id |
Definition at line 1251 of file util-profiling.c.
References CASE_CODE, LOGGER_ALERT_DEBUG, LOGGER_ALERT_FAST, LOGGER_ALERT_SYSLOG, LOGGER_FILE, LOGGER_FILE_STORE, LOGGER_FILEDATA, LOGGER_HTTP, LOGGER_JSON_ALERT, LOGGER_JSON_ANOMALY, LOGGER_JSON_ARP, LOGGER_JSON_DROP, LOGGER_JSON_FILE, LOGGER_JSON_FLOW, LOGGER_JSON_FRAME, LOGGER_JSON_METADATA, LOGGER_JSON_NETFLOW, LOGGER_JSON_STATS, LOGGER_JSON_STREAM, LOGGER_JSON_TX, LOGGER_PCAP, LOGGER_SIZE, LOGGER_STATS, LOGGER_TCP_DATA, LOGGER_TLS, LOGGER_TLS_STORE, LOGGER_TLS_STORE_CLIENT, LOGGER_UNDEFINED, and LOGGER_USER.
PktProfiling* SCProfilePacketStart | ( | void | ) |
Definition at line 1183 of file util-profiling.c.
References SC_ATOMIC_ADD.
int SCProfileRuleStart | ( | Packet * | p | ) |
Definition at line 1192 of file util-profiling.c.
References Packet_::flags, PKT_PROFILE, Packet_::profile, and SC_ATOMIC_ADD.
void SCProfileRuleStartCollection | ( | void | ) |
Definition at line 1400 of file util-profiling.c.
void SCProfileRuleStopCollection | ( | void | ) |
Definition at line 1404 of file util-profiling.c.
void SCProfilingAddPacket | ( | Packet * | p | ) |
Definition at line 1093 of file util-profiling.c.
References Packet_::profile, PktProfiling_::ticks_end, and PktProfiling_::ticks_start.
void SCProfilingDestroy | ( | void | ) |
Free resources used by profiling.
Definition at line 270 of file util-profiling.c.
References profiling_packets_enabled.
void SCProfilingDump | ( | void | ) |
Definition at line 296 of file util-profiling.c.
References SCLogPerf, and SCProfilingDumpPacketStats().
void SCProfilingDumpPacketStats | ( | void | ) |
Definition at line 351 of file util-profiling.c.
References profiling_packets_enabled.
Referenced by SCProfilingDump().
void SCProfilingInit | ( | void | ) |
Initialize profiling.
Definition at line 133 of file util-profiling.c.
References ConfGetInt(), and SC_ATOMIC_INIT.
Referenced by PreRunInit().
void SCProfilingPrintPacketProfile | ( | Packet * | p | ) |
Definition at line 765 of file util-profiling.c.
void SCProfilingRegisterTests | ( | void | ) |
Definition at line 1393 of file util-profiling.c.
References UtRegisterTest().
SCProfilePacketData packet_profile_app_data4[ALPROTO_MAX][257] |
Definition at line 75 of file util-profiling.c.
SCProfilePacketData packet_profile_app_data6[ALPROTO_MAX][257] |
Definition at line 76 of file util-profiling.c.
SCProfilePacketData packet_profile_app_pd_data4[257] |
Definition at line 78 of file util-profiling.c.
SCProfilePacketData packet_profile_app_pd_data6[257] |
Definition at line 79 of file util-profiling.c.
SCProfilePacketData packet_profile_data4[257] |
all proto's + tunnel
Definition at line 68 of file util-profiling.c.
SCProfilePacketData packet_profile_data6[257] |
all proto's + tunnel
Definition at line 69 of file util-profiling.c.
SCProfilePacketData packet_profile_detect_data4[PROF_DETECT_SIZE][257] |
Definition at line 81 of file util-profiling.c.
SCProfilePacketData packet_profile_detect_data6[PROF_DETECT_SIZE][257] |
Definition at line 82 of file util-profiling.c.
struct ProfileProtoRecords packet_profile_flowworker_data[PROFILE_FLOWWORKER_SIZE] |
Definition at line 85 of file util-profiling.c.
SCProfilePacketData packet_profile_log_data4[LOGGER_SIZE][256] |
Definition at line 84 of file util-profiling.c.
SCProfilePacketData packet_profile_log_data6[LOGGER_SIZE][256] |
Definition at line 85 of file util-profiling.c.
SCProfilePacketData packet_profile_tmm_data4[TMM_SIZE][257] |
Definition at line 72 of file util-profiling.c.
SCProfilePacketData packet_profile_tmm_data6[TMM_SIZE][257] |
Definition at line 73 of file util-profiling.c.
int profiling_locks_enabled |
const char* profiling_locks_file_mode |
char* profiling_locks_file_name |
int profiling_locks_output_to_file |
int profiling_output_to_file = 0 |
Definition at line 95 of file util-profiling.c.
int profiling_packets_enabled = 0 |
Definition at line 94 of file util-profiling.c.
Referenced by SCProfilingDestroy(), and SCProfilingDumpPacketStats().
thread_local int profiling_rules_entered = 0 |
Used as a check so we don't double enter a profiling run.
Definition at line 110 of file util-profiling.c.