int m;
total = 0;
for (m = 0; m < TMM_SIZE; m++) {
+ if (tmm_modules[m].flags & TM_FLAG_LOGAPI_TM)
+ continue;
+
int p;
for (p = 0; p < 257; p++) {
SCProfilePacketData *pd = &packet_profile_tmm_data4[m][p];
}
for (m = 0; m < TMM_SIZE; m++) {
+ if (tmm_modules[m].flags & TM_FLAG_LOGAPI_TM)
+ continue;
+
int p;
for (p = 0; p < 257; p++) {
SCProfilePacketData *pd = &packet_profile_tmm_data4[m][p];
}
for (m = 0; m < TMM_SIZE; m++) {
+ if (tmm_modules[m].flags & TM_FLAG_LOGAPI_TM)
+ continue;
+
int p;
for (p = 0; p < 257; p++) {
SCProfilePacketData *pd = &packet_profile_tmm_data6[m][p];
total += pd->tot;
}
}
+
+
+ fprintf(fp, "\n%-24s %-6s %-5s %-12s %-12s %-12s %-12s %-12s %-3s",
+ "Log Thread Module", "IP ver", "Proto", "cnt", "min", "max", "avg", "tot", "%%");
+#ifdef PROFILE_LOCKING
+ fprintf(fp, " %-10s %-10s %-12s %-12s %-10s %-10s %-12s %-12s\n",
+ "locks", "ticks", "cont.", "cont.avg", "slocks", "sticks", "scont.", "scont.avg");
+#else
+ fprintf(fp, "\n");
+#endif
+ fprintf(fp, "%-24s %-6s %-5s %-12s %-12s %-12s %-12s %-12s %-3s",
+ "------------------------", "------", "-----", "----------", "------------", "------------", "-----------", "-----------", "---");
+#ifdef PROFILE_LOCKING
+ fprintf(fp, " %-10s %-10s %-12s %-12s %-10s %-10s %-12s %-12s\n",
+ "--------", "--------", "----------", "-----------", "--------", "--------", "------------", "-----------");
+#else
+ fprintf(fp, "\n");
+#endif
+ total = 0;
+ for (m = 0; m < TMM_SIZE; m++) {
+ if (!(tmm_modules[m].flags & TM_FLAG_LOGAPI_TM))
+ continue;
+
+ int p;
+ for (p = 0; p < 257; p++) {
+ SCProfilePacketData *pd = &packet_profile_tmm_data4[m][p];
+ total += pd->tot;
+
+ pd = &packet_profile_tmm_data6[m][p];
+ total += pd->tot;
+ }
+ }
+
+ for (m = 0; m < TMM_SIZE; m++) {
+ if (!(tmm_modules[m].flags & TM_FLAG_LOGAPI_TM))
+ continue;
+
+ int p;
+ for (p = 0; p < 257; p++) {
+ SCProfilePacketData *pd = &packet_profile_tmm_data4[m][p];
+
+ if (pd->cnt == 0) {
+ continue;
+ }
+
+ FormatNumber(pd->tot, totalstr, sizeof(totalstr));
+ double percent = (long double)pd->tot /
+ (long double)total * 100;
+
+ fprintf(fp, "%-24s IPv4 %3d %12"PRIu64" %12"PRIu64" %12"PRIu64" %12"PRIu64" %12s %6.2f",
+ TmModuleTmmIdToString(m), p, pd->cnt, pd->min, pd->max, (uint64_t)(pd->tot / pd->cnt), totalstr, percent);
+#ifdef PROFILE_LOCKING
+ fprintf(fp, " %10.2f %12"PRIu64" %12"PRIu64" %10.2f %10.2f %12"PRIu64" %12"PRIu64" %10.2f\n",
+ (float)pd->lock/pd->cnt, (uint64_t)pd->ticks/pd->cnt, pd->contention, (float)pd->contention/pd->cnt, (float)pd->slock/pd->cnt, (uint64_t)pd->sticks/pd->cnt, pd->scontention, (float)pd->scontention/pd->cnt);
+#else
+ fprintf(fp, "\n");
+#endif
+ }
+ }
+
+ for (m = 0; m < TMM_SIZE; m++) {
+ if (!(tmm_modules[m].flags & TM_FLAG_LOGAPI_TM))
+ continue;
+
+ int p;
+ for (p = 0; p < 257; p++) {
+ SCProfilePacketData *pd = &packet_profile_tmm_data6[m][p];
+
+ if (pd->cnt == 0) {
+ continue;
+ }
+
+ FormatNumber(pd->tot, totalstr, sizeof(totalstr));
+ double percent = (long double)pd->tot /
+ (long double)total * 100;
+
+ fprintf(fp, "%-24s IPv6 %3d %12"PRIu64" %12"PRIu64" %12"PRIu64" %12"PRIu64" %12s %6.2f\n",
+ TmModuleTmmIdToString(m), p, pd->cnt, pd->min, pd->max, (uint64_t)(pd->tot / pd->cnt), totalstr, percent);
+ }
+ }
+
fprintf(fp, "\nGeneral detection engine stats:\n");
total = 0;