suricata
util-profiling.h File Reference
#include "util-profiling-locks.h"
#include "util-cpu.h"
Include dependency graph for util-profiling.h:

Go to the source code of this file.

Macros

#define RULE_PROFILING_START(p)
 
#define RULE_PROFILING_END(ctx, r, m, p)
 
#define KEYWORD_PROFILING_SET_LIST(ctx, list)
 
#define KEYWORD_PROFILING_START
 
#define KEYWORD_PROFILING_END(ctx, type, m)
 
#define PACKET_PROFILING_START(p)
 
#define PACKET_PROFILING_RESTART(p)
 
#define PACKET_PROFILING_END(p)
 
#define PACKET_PROFILING_RESET_LOCKS
 
#define PACKET_PROFILING_COPY_LOCKS(p, id)
 
#define PACKET_PROFILING_TMM_START(p, id)
 
#define PACKET_PROFILING_TMM_END(p, id)
 
#define FLOWWORKER_PROFILING_START(p, id)
 
#define FLOWWORKER_PROFILING_END(p, id)
 
#define PACKET_PROFILING_RESET(p)
 
#define PACKET_PROFILING_APP_START(dp, id)
 
#define PACKET_PROFILING_APP_END(dp, id)
 
#define PACKET_PROFILING_APP_PD_START(dp)
 
#define PACKET_PROFILING_APP_PD_END(dp)
 
#define PACKET_PROFILING_APP_RESET(dp)
 
#define PACKET_PROFILING_APP_STORE(dp, p)
 
#define PACKET_PROFILING_DETECT_START(p, id)
 
#define PACKET_PROFILING_DETECT_END(p, id)
 
#define PACKET_PROFILING_LOGGER_START(p, id)
 
#define PACKET_PROFILING_LOGGER_END(p, id)
 
#define SGH_PROFILING_RECORD(det_ctx, sgh)
 
#define PREFILTER_PROFILING_START
 
#define PREFILTER_PROFILING_END(ctx, profile_id)
 

Functions

void SCProfilingPrintPacketProfile (Packet *)
 
void SCProfilingAddPacket (Packet *)
 
int SCProfileRuleStart (Packet *p)
 
PktProfilingSCProfilePacketStart (void)
 
void SCProfilingRulesGlobalInit (void)
 
void SCProfilingRuleDestroyCtx (struct SCProfileDetectCtx_ *)
 
void SCProfilingRuleInitCounters (DetectEngineCtx *)
 Register the rule profiling counters. More...
 
void SCProfilingRuleUpdateCounter (DetectEngineThreadCtx *, uint16_t, uint64_t, int)
 Update a rule counter. More...
 
void SCProfilingRuleThreadSetup (struct SCProfileDetectCtx_ *, DetectEngineThreadCtx *)
 
void SCProfilingRuleThreadCleanup (DetectEngineThreadCtx *)
 
void SCProfilingKeywordsGlobalInit (void)
 
void SCProfilingKeywordDestroyCtx (DetectEngineCtx *)
 
void SCProfilingKeywordInitCounters (DetectEngineCtx *)
 Register the keyword profiling counters. More...
 
void SCProfilingKeywordUpdateCounter (DetectEngineThreadCtx *det_ctx, int id, uint64_t ticks, int match)
 Update a rule counter. More...
 
void SCProfilingKeywordThreadSetup (struct SCProfileKeywordDetectCtx_ *, DetectEngineThreadCtx *)
 
void SCProfilingKeywordThreadCleanup (DetectEngineThreadCtx *)
 
void SCProfilingPrefilterGlobalInit (void)
 
void SCProfilingPrefilterDestroyCtx (DetectEngineCtx *)
 
void SCProfilingPrefilterInitCounters (DetectEngineCtx *)
 Register the prefilter profiling counters. More...
 
void SCProfilingPrefilterUpdateCounter (DetectEngineThreadCtx *det_ctx, int id, uint64_t ticks)
 Update a rule counter. More...
 
void SCProfilingPrefilterThreadSetup (struct SCProfilePrefilterDetectCtx_ *, DetectEngineThreadCtx *)
 
void SCProfilingPrefilterThreadCleanup (DetectEngineThreadCtx *)
 
void SCProfilingSghsGlobalInit (void)
 
void SCProfilingSghDestroyCtx (DetectEngineCtx *)
 
void SCProfilingSghInitCounters (DetectEngineCtx *)
 Register the keyword profiling counters. More...
 
void SCProfilingSghUpdateCounter (DetectEngineThreadCtx *det_ctx, const SigGroupHead *sgh)
 Update a rule counter. More...
 
void SCProfilingSghThreadSetup (struct SCProfileSghDetectCtx_ *, DetectEngineThreadCtx *)
 
void SCProfilingSghThreadCleanup (DetectEngineThreadCtx *)
 
void SCProfilingInit (void)
 Initialize profiling. More...
 
void SCProfilingDestroy (void)
 Free resources used by profiling. More...
 
void SCProfilingRegisterTests (void)
 
void SCProfilingDump (void)
 

Variables

int profiling_rules_enabled
 
int profiling_packets_enabled
 
int profiling_sghs_enabled
 
thread_local int profiling_rules_entered
 
int profiling_keyword_enabled
 
thread_local int profiling_keyword_entered
 
int profiling_prefilter_enabled
 
thread_local int profiling_prefilter_entered
 

Detailed Description

Author
Endace Technology Limited.
Victor Julien victo.nosp@m.r@in.nosp@m.linia.nosp@m.c.ne.nosp@m.t

Definition in file util-profiling.h.

Macro Definition Documentation

◆ FLOWWORKER_PROFILING_END

#define FLOWWORKER_PROFILING_END (   p,
  id 
)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
if ((id) < PROFILE_FLOWWORKER_SIZE) { \
(p)->profile->flowworker[(id)].ticks_end = UtilCpuGetTicks(); \
} \
}

Definition at line 174 of file util-profiling.h.

◆ FLOWWORKER_PROFILING_START

#define FLOWWORKER_PROFILING_START (   p,
  id 
)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
if ((id) < PROFILE_FLOWWORKER_SIZE) { \
(p)->profile->flowworker[(id)].ticks_start = UtilCpuGetTicks();\
} \
}

Definition at line 167 of file util-profiling.h.

◆ KEYWORD_PROFILING_END

#define KEYWORD_PROFILING_END (   ctx,
  type,
  m 
)
Value:
profile_keyword_end_ = UtilCpuGetTicks(); \
SCProfilingKeywordUpdateCounter((ctx),(type),(profile_keyword_end_ - profile_keyword_start_),(m)); \
profiling_keyword_entered--; \
}

Definition at line 84 of file util-profiling.h.

◆ KEYWORD_PROFILING_SET_LIST

#define KEYWORD_PROFILING_SET_LIST (   ctx,
  list 
)
Value:
{ \
(ctx)->keyword_perf_list = (list); \
}

Definition at line 66 of file util-profiling.h.

◆ KEYWORD_PROFILING_START

#define KEYWORD_PROFILING_START
Value:
uint64_t profile_keyword_start_ = 0; \
uint64_t profile_keyword_end_ = 0; \
SCLogError(SC_ERR_FATAL, "Re-entered profiling, exiting."); \
abort(); \
} \
profiling_keyword_entered++; \
profile_keyword_start_ = UtilCpuGetTicks(); \
}

Definition at line 70 of file util-profiling.h.

◆ PACKET_PROFILING_APP_END

#define PACKET_PROFILING_APP_END (   dp,
  id 
)
Value:
BUG_ON((id) != (dp)->alproto); \
(dp)->ticks_end = UtilCpuGetTicks(); \
if ((dp)->ticks_start != 0 && (dp)->ticks_start < ((dp)->ticks_end)) { \
(dp)->ticks_spent = ((dp)->ticks_end - (dp)->ticks_start); \
} \
}

Definition at line 193 of file util-profiling.h.

◆ PACKET_PROFILING_APP_PD_END

#define PACKET_PROFILING_APP_PD_END (   dp)
Value:
(dp)->proto_detect_ticks_end = UtilCpuGetTicks(); \
if ((dp)->proto_detect_ticks_start != 0 && (dp)->proto_detect_ticks_start < ((dp)->proto_detect_ticks_end)) { \
(dp)->proto_detect_ticks_spent = \
((dp)->proto_detect_ticks_end - (dp)->proto_detect_ticks_start); \
} \
}

Definition at line 207 of file util-profiling.h.

◆ PACKET_PROFILING_APP_PD_START

#define PACKET_PROFILING_APP_PD_START (   dp)
Value:
(dp)->proto_detect_ticks_start = UtilCpuGetTicks(); \
}

Definition at line 202 of file util-profiling.h.

◆ PACKET_PROFILING_APP_RESET

#define PACKET_PROFILING_APP_RESET (   dp)
Value:
(dp)->ticks_start = 0; \
(dp)->ticks_end = 0; \
(dp)->ticks_spent = 0; \
(dp)->alproto = 0; \
(dp)->proto_detect_ticks_start = 0; \
(dp)->proto_detect_ticks_end = 0; \
(dp)->proto_detect_ticks_spent = 0; \
}

Definition at line 216 of file util-profiling.h.

◆ PACKET_PROFILING_APP_START

#define PACKET_PROFILING_APP_START (   dp,
  id 
)
Value:
(dp)->ticks_start = UtilCpuGetTicks(); \
(dp)->alproto = (id); \
}

Definition at line 187 of file util-profiling.h.

◆ PACKET_PROFILING_APP_STORE

#define PACKET_PROFILING_APP_STORE (   dp,
 
)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
if ((dp)->alproto < ALPROTO_MAX) { \
(p)->profile->app[(dp)->alproto].ticks_spent += (dp)->ticks_spent; \
(p)->profile->proto_detect += (dp)->proto_detect_ticks_spent; \
} \
}

Definition at line 227 of file util-profiling.h.

◆ PACKET_PROFILING_COPY_LOCKS

#define PACKET_PROFILING_COPY_LOCKS (   p,
  id 
)

Definition at line 148 of file util-profiling.h.

◆ PACKET_PROFILING_DETECT_END

#define PACKET_PROFILING_DETECT_END (   p,
  id 
)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
if ((id) < PROF_DETECT_SIZE) { \
(p)->profile->detect[(id)].ticks_end = UtilCpuGetTicks();\
if ((p)->profile->detect[(id)].ticks_start != 0 && \
(p)->profile->detect[(id)].ticks_start < (p)->profile->detect[(id)].ticks_end) { \
(p)->profile->detect[(id)].ticks_spent += \
((p)->profile->detect[(id)].ticks_end - (p)->profile->detect[(id)].ticks_start); \
} \
} \
}

Definition at line 242 of file util-profiling.h.

◆ PACKET_PROFILING_DETECT_START

#define PACKET_PROFILING_DETECT_START (   p,
  id 
)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
if ((id) < PROF_DETECT_SIZE) { \
(p)->profile->detect[(id)].ticks_start = UtilCpuGetTicks(); \
} \
}

Definition at line 235 of file util-profiling.h.

◆ PACKET_PROFILING_END

#define PACKET_PROFILING_END (   p)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
(p)->profile->ticks_end = UtilCpuGetTicks(); \
SCProfilingAddPacket((p)); \
}

Definition at line 106 of file util-profiling.h.

◆ PACKET_PROFILING_LOGGER_END

#define PACKET_PROFILING_LOGGER_END (   p,
  id 
)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
if ((id) < LOGGER_SIZE) { \
(p)->profile->logger[(id)].ticks_end = UtilCpuGetTicks();\
if ((p)->profile->logger[(id)].ticks_start != 0 && \
(p)->profile->logger[(id)].ticks_start < (p)->profile->logger[(id)].ticks_end) { \
(p)->profile->logger[(id)].ticks_spent += \
((p)->profile->logger[(id)].ticks_end - (p)->profile->logger[(id)].ticks_start); \
} \
} \
}

Definition at line 261 of file util-profiling.h.

◆ PACKET_PROFILING_LOGGER_START

#define PACKET_PROFILING_LOGGER_START (   p,
  id 
)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
if ((id) < LOGGER_SIZE) { \
(p)->profile->logger[(id)].ticks_start = UtilCpuGetTicks(); \
} \
}

Definition at line 254 of file util-profiling.h.

◆ PACKET_PROFILING_RESET

#define PACKET_PROFILING_RESET (   p)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
SCFree((p)->profile); \
(p)->profile = NULL; \
}

Definition at line 181 of file util-profiling.h.

◆ PACKET_PROFILING_RESET_LOCKS

#define PACKET_PROFILING_RESET_LOCKS

Definition at line 147 of file util-profiling.h.

◆ PACKET_PROFILING_RESTART

#define PACKET_PROFILING_RESTART (   p)
Value:
if ((p)->profile != NULL) \
(p)->profile->ticks_start = UtilCpuGetTicks(); \
}

Definition at line 100 of file util-profiling.h.

◆ PACKET_PROFILING_START

#define PACKET_PROFILING_START (   p)
Value:
(p)->profile = SCProfilePacketStart(); \
if ((p)->profile != NULL) \
(p)->profile->ticks_start = UtilCpuGetTicks(); \
}

Definition at line 93 of file util-profiling.h.

◆ PACKET_PROFILING_TMM_END

#define PACKET_PROFILING_TMM_END (   p,
  id 
)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
if ((id) < TMM_SIZE) { \
PACKET_PROFILING_COPY_LOCKS((p), (id)); \
(p)->profile->tmm[(id)].ticks_end = UtilCpuGetTicks(); \
} \
}

Definition at line 159 of file util-profiling.h.

◆ PACKET_PROFILING_TMM_START

#define PACKET_PROFILING_TMM_START (   p,
  id 
)
Value:
if (profiling_packets_enabled && (p)->profile != NULL) { \
if ((id) < TMM_SIZE) { \
(p)->profile->tmm[(id)].ticks_start = UtilCpuGetTicks();\
PACKET_PROFILING_RESET_LOCKS; \
} \
}

Definition at line 151 of file util-profiling.h.

◆ PREFILTER_PROFILING_END

#define PREFILTER_PROFILING_END (   ctx,
  profile_id 
)
Value:
profile_prefilter_end_ = UtilCpuGetTicks(); \
if (profile_prefilter_end_ > profile_prefilter_start_) \
SCProfilingPrefilterUpdateCounter((ctx),(profile_id),(profile_prefilter_end_ - profile_prefilter_start_)); \
profiling_prefilter_entered--; \
}

Definition at line 295 of file util-profiling.h.

◆ PREFILTER_PROFILING_START

#define PREFILTER_PROFILING_START
Value:
uint64_t profile_prefilter_start_ = 0; \
uint64_t profile_prefilter_end_ = 0; \
SCLogError(SC_ERR_FATAL, "Re-entered profiling, exiting."); \
abort(); \
} \
profiling_prefilter_entered++; \
profile_prefilter_start_ = UtilCpuGetTicks(); \
}

Definition at line 281 of file util-profiling.h.

◆ RULE_PROFILING_END

#define RULE_PROFILING_END (   ctx,
  r,
  m,
 
)
Value:
profile_rule_end_ = UtilCpuGetTicks(); \
SCProfilingRuleUpdateCounter(ctx, r->profiling_id, \
profile_rule_end_ - profile_rule_start_, m); \
profiling_rules_entered--; \
}

Definition at line 55 of file util-profiling.h.

◆ RULE_PROFILING_START

#define RULE_PROFILING_START (   p)
Value:
uint64_t profile_rule_start_ = 0; \
uint64_t profile_rule_end_ = 0; \
SCLogError(SC_ERR_FATAL, "Re-entered profiling, exiting."); \
exit(1); \
} \
profiling_rules_entered++; \
profile_rule_start_ = UtilCpuGetTicks(); \
}

Definition at line 43 of file util-profiling.h.

◆ SGH_PROFILING_RECORD

#define SGH_PROFILING_RECORD (   det_ctx,
  sgh 
)
Value:
SCProfilingSghUpdateCounter((det_ctx), (sgh)); \
}

Definition at line 273 of file util-profiling.h.

Function Documentation

◆ SCProfilePacketStart()

PktProfiling* SCProfilePacketStart ( void  )

Definition at line 1222 of file util-profiling.c.

References SC_ATOMIC_ADD.

◆ SCProfileRuleStart()

int SCProfileRuleStart ( Packet p)

Definition at line 1232 of file util-profiling.c.

References Packet_::flags, PKT_PROFILE, Packet_::profile, and SC_ATOMIC_ADD.

◆ SCProfilingAddPacket()

void SCProfilingAddPacket ( Packet )

◆ SCProfilingDestroy()

void SCProfilingDestroy ( void  )

Free resources used by profiling.

Definition at line 268 of file util-profiling.c.

References profiling_packets_enabled.

◆ SCProfilingDump()

void SCProfilingDump ( void  )

Definition at line 294 of file util-profiling.c.

References SCLogPerf, and SCProfilingDumpPacketStats().

Here is the call graph for this function:

◆ SCProfilingInit()

void SCProfilingInit ( void  )

Initialize profiling.

Definition at line 140 of file util-profiling.c.

References ConfGetInt(), and SC_ATOMIC_INIT.

Referenced by PreRunInit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SCProfilingKeywordDestroyCtx()

void SCProfilingKeywordDestroyCtx ( DetectEngineCtx )

Definition at line 277 of file util-profiling-keywords.c.

References de_ctx.

Referenced by DetectEngineCtxFree().

Here is the caller graph for this function:

◆ SCProfilingKeywordInitCounters()

void SCProfilingKeywordInitCounters ( DetectEngineCtx de_ctx)

Register the keyword profiling counters.

Parameters
de_ctxThe active DetectEngineCtx, used to get at the loaded rules.

Definition at line 377 of file util-profiling-keywords.c.

References DetectEngineCtx_::buffer_type_id, de_ctx, DetectEngineCtx_::profile_keyword_ctx, and profiling_keyword_enabled.

◆ SCProfilingKeywordsGlobalInit()

void SCProfilingKeywordsGlobalInit ( void  )

Definition at line 69 of file util-profiling-keywords.c.

References ConfGetNode(), ConfigGetLogDirectory(), ConfNodeChildValueIsTrue(), ConfNodeLookupChildValue(), and profiling_keyword_enabled.

Referenced by PreRunInit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SCProfilingKeywordThreadCleanup()

◆ SCProfilingKeywordThreadSetup()

◆ SCProfilingKeywordUpdateCounter()

void SCProfilingKeywordUpdateCounter ( DetectEngineThreadCtx det_ctx,
int  id,
uint64_t  ticks,
int  match 
)

◆ SCProfilingPrefilterDestroyCtx()

void SCProfilingPrefilterDestroyCtx ( DetectEngineCtx )

Definition at line 222 of file util-profiling-prefilter.c.

References de_ctx.

Referenced by DetectEngineCtxFree().

Here is the caller graph for this function:

◆ SCProfilingPrefilterGlobalInit()

void SCProfilingPrefilterGlobalInit ( void  )

Definition at line 63 of file util-profiling-prefilter.c.

References ConfGetNode(), ConfigGetLogDirectory(), ConfNodeChildValueIsTrue(), ConfNodeLookupChildValue(), and profiling_prefilter_enabled.

Referenced by PreRunInit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SCProfilingPrefilterInitCounters()

void SCProfilingPrefilterInitCounters ( DetectEngineCtx de_ctx)

Register the prefilter profiling counters.

Parameters
de_ctxThe active DetectEngineCtx, used to get at the loaded rules.

Definition at line 279 of file util-profiling-prefilter.c.

References de_ctx, DetectEngineCtx_::prefilter_id, DetectEngineCtx_::profile_prefilter_ctx, and profiling_prefilter_enabled.

◆ SCProfilingPrefilterThreadCleanup()

◆ SCProfilingPrefilterThreadSetup()

◆ SCProfilingPrefilterUpdateCounter()

void SCProfilingPrefilterUpdateCounter ( DetectEngineThreadCtx det_ctx,
int  id,
uint64_t  ticks 
)

Update a rule counter.

Parameters
idThe ID of this counter.
ticksNumber of CPU ticks for this rule.
matchDid the rule match?

Definition at line 183 of file util-profiling-prefilter.c.

References SCProfilePrefilterData_::called, DetectEngineThreadCtx_::de_ctx, SCProfilePrefilterData_::max, DetectEngineCtx_::prefilter_id, DetectEngineThreadCtx_::prefilter_perf_data, and SCProfilePrefilterData_::total.

◆ SCProfilingPrintPacketProfile()

void SCProfilingPrintPacketProfile ( Packet )

Definition at line 804 of file util-profiling.c.

◆ SCProfilingRegisterTests()

void SCProfilingRegisterTests ( void  )

Definition at line 1446 of file util-profiling.c.

References UtRegisterTest().

Here is the call graph for this function:

◆ SCProfilingRuleDestroyCtx()

void SCProfilingRuleDestroyCtx ( struct SCProfileDetectCtx_ )

Definition at line 588 of file util-profiling-rules.c.

Referenced by DetectEngineCtxFree().

Here is the caller graph for this function:

◆ SCProfilingRuleInitCounters()

void SCProfilingRuleInitCounters ( DetectEngineCtx de_ctx)

Register the rule profiling counters.

Parameters
de_ctxThe active DetectEngineCtx, used to get at the loaded rules.

Definition at line 650 of file util-profiling-rules.c.

References de_ctx, DetectEngineCtx_::profile_ctx, and profiling_rules_enabled.

◆ SCProfilingRulesGlobalInit()

◆ SCProfilingRuleThreadCleanup()

◆ SCProfilingRuleThreadSetup()

◆ SCProfilingRuleUpdateCounter()

void SCProfilingRuleUpdateCounter ( DetectEngineThreadCtx det_ctx,
uint16_t  id,
uint64_t  ticks,
int  match 
)

Update a rule counter.

Parameters
idThe ID of this counter.
ticksNumber of CPU ticks for this rule.
matchDid the rule match?

Definition at line 557 of file util-profiling-rules.c.

References SCProfileData_::checks, SCProfileData_::matches, SCProfileData_::max, DetectEngineThreadCtx_::rule_perf_data, DetectEngineThreadCtx_::rule_perf_data_size, SCProfileData_::ticks_match, and SCProfileData_::ticks_no_match.

◆ SCProfilingSghDestroyCtx()

void SCProfilingSghDestroyCtx ( DetectEngineCtx )

Definition at line 310 of file util-profiling-rulegroups.c.

References de_ctx.

Referenced by DetectEngineCtxFree().

Here is the caller graph for this function:

◆ SCProfilingSghInitCounters()

void SCProfilingSghInitCounters ( DetectEngineCtx de_ctx)

Register the keyword profiling counters.

Parameters
de_ctxThe active DetectEngineCtx, used to get at the loaded rules.

Definition at line 375 of file util-profiling-rulegroups.c.

References de_ctx, DetectEngineCtx_::profile_sgh_ctx, and profiling_sghs_enabled.

◆ SCProfilingSghsGlobalInit()

void SCProfilingSghsGlobalInit ( void  )

Definition at line 71 of file util-profiling-rulegroups.c.

References ConfGetNode(), ConfigGetLogDirectory(), ConfNodeChildValueIsTrue(), ConfNodeLookupChildValue(), and profiling_sghs_enabled.

Referenced by PreRunInit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SCProfilingSghThreadCleanup()

◆ SCProfilingSghThreadSetup()

◆ SCProfilingSghUpdateCounter()

Variable Documentation

◆ profiling_keyword_enabled

int profiling_keyword_enabled

◆ profiling_keyword_entered

thread_local int profiling_keyword_entered

Definition at line 65 of file util-profiling-keywords.c.

◆ profiling_packets_enabled

int profiling_packets_enabled

Definition at line 101 of file util-profiling.c.

Referenced by SCProfilingDestroy(), and SCProfilingDumpPacketStats().

◆ profiling_prefilter_enabled

int profiling_prefilter_enabled

◆ profiling_prefilter_entered

thread_local int profiling_prefilter_entered

Definition at line 59 of file util-profiling-prefilter.c.

◆ profiling_rules_enabled

int profiling_rules_enabled

◆ profiling_rules_entered

thread_local int profiling_rules_entered

Used as a check so we don't double enter a profiling run.

Definition at line 117 of file util-profiling.c.

◆ profiling_sghs_enabled

int profiling_sghs_enabled
profiling_rules_entered
thread_local int profiling_rules_entered
Definition: util-profiling.c:117
profiling_prefilter_entered
thread_local int profiling_prefilter_entered
Definition: util-profiling-prefilter.c:59
PROF_DETECT_SIZE
@ PROF_DETECT_SIZE
Definition: suricata-common.h:435
SCProfilePacketStart
PktProfiling * SCProfilePacketStart(void)
Definition: util-profiling.c:1222
m
SCMutex m
Definition: flow-hash.h:3
SCProfileRuleStart
int SCProfileRuleStart(Packet *p)
Definition: util-profiling.c:1232
ALPROTO_MAX
@ ALPROTO_MAX
Definition: app-layer-protos.h:66
PktProfiling_::ticks_start
uint64_t ticks_start
Definition: decode.h:378
profiling_packets_enabled
int profiling_packets_enabled
Definition: util-profiling.c:101
UtilCpuGetTicks
uint64_t UtilCpuGetTicks(void)
Definition: util-cpu.c:190
type
uint8_t type
Definition: decode-icmpv4.h:0
profiling_keyword_entered
thread_local int profiling_keyword_entered
Definition: util-profiling-keywords.c:65
LOGGER_SIZE
@ LOGGER_SIZE
Definition: suricata-common.h:488
profiling_keyword_enabled
int profiling_keyword_enabled
Definition: util-profiling-keywords.c:64
TMM_SIZE
@ TMM_SIZE
Definition: tm-threads-common.h:73
flags
uint8_t flags
Definition: decode-gre.h:0
profiling_sghs_enabled
int profiling_sghs_enabled
Definition: util-profiling-rulegroups.c:66
PROFILE_FLOWWORKER_SIZE
@ PROFILE_FLOWWORKER_SIZE
Definition: flow-worker.h:27
SC_ERR_FATAL
@ SC_ERR_FATAL
Definition: util-error.h:203
PKT_PROFILE
#define PKT_PROFILE
Definition: decode.h:1104
profiling_rules_enabled
int profiling_rules_enabled
Definition: util-profiling-rules.c:81
profiling_prefilter_enabled
int profiling_prefilter_enabled
Definition: util-profiling-prefilter.c:58