|
@@ -0,0 +1,99 @@
|
|
|
+/*
|
|
|
+ * $Id$
|
|
|
+ *
|
|
|
+ * Copyright (C) 2010 iptelorg GmbH
|
|
|
+ *
|
|
|
+ * Permission to use, copy, modify, and distribute this software for any
|
|
|
+ * purpose with or without fee is hereby granted, provided that the above
|
|
|
+ * copyright notice and this permission notice appear in all copies.
|
|
|
+ *
|
|
|
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
|
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
|
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
|
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
|
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
|
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
|
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
+ */
|
|
|
+/** macros used for various core statistics.
|
|
|
+ * (if USE_CORE_STATS is not defined they won't do anything)
|
|
|
+ * @file core_stats.h
|
|
|
+ * @ingroup core
|
|
|
+ */
|
|
|
+/*
|
|
|
+ * History:
|
|
|
+ * --------
|
|
|
+ * 2010-02-01 initial version (andrei)
|
|
|
+*/
|
|
|
+
|
|
|
+#ifndef __core_stats_h
|
|
|
+#define __core_stats_h
|
|
|
+
|
|
|
+/* define USE_CORE_STATS to enable statistics events
|
|
|
+ (SREV_CORE_STATS callbacks) */
|
|
|
+/*#define USE_CORE_STATS */
|
|
|
+
|
|
|
+#ifndef USE_CORE_STATS
|
|
|
+
|
|
|
+#define STATS_REQ_FWD_DROP()
|
|
|
+#define STATS_REQ_FWD_OK()
|
|
|
+#define STATS_RPL_FWD_DROP()
|
|
|
+#define STATS_RPL_FWD_OK()
|
|
|
+#define STATS_BAD_MSG()
|
|
|
+#define STATS_BAD_RPL()
|
|
|
+#define STATS_BAD_URI()
|
|
|
+#define STATS_BAD_MSG_HDR()
|
|
|
+
|
|
|
+#else /* USE_CORE_STATS */
|
|
|
+
|
|
|
+#include "events.h"
|
|
|
+
|
|
|
+/** called each time a received request is dropped.
|
|
|
+ * The request might be dropped explicitly (e.g. pre script callback)
|
|
|
+ * or there might be an error while trying to forward it (e.g. send).
|
|
|
+ */
|
|
|
+#define STATS_REQ_FWD_DROP() sr_event_exec(SREV_CORE_STATS, (void*)3)
|
|
|
+
|
|
|
+
|
|
|
+/** called each time forwarding a request succeeds (send).*/
|
|
|
+#define STATS_REQ_FWD_OK() sr_event_exec(SREV_CORE_STATS, (void*)1)
|
|
|
+
|
|
|
+
|
|
|
+/** called each time forwarding a reply fails.
|
|
|
+ * The reply forwarding might fail due to send errors,
|
|
|
+ * pre script callbacks (module denying forwarding) or explicit script
|
|
|
+ * drop (drop or module function returning 0).
|
|
|
+ */
|
|
|
+#define STATS_RPL_FWD_DROP() sr_event_exec(SREV_CORE_STATS, (void*)4)
|
|
|
+
|
|
|
+
|
|
|
+/* called each time forwarding a reply succeeds. */
|
|
|
+#define STATS_RPL_FWD_OK() sr_event_exec(SREV_CORE_STATS, (void*)2)
|
|
|
+
|
|
|
+
|
|
|
+/** called each time a received request is too bad to process.
|
|
|
+ * For now it's called in case the message does not have any via.
|
|
|
+ */
|
|
|
+#define STATS_BAD_MSG() sr_event_exec(SREV_CORE_STATS, (void*)5)
|
|
|
+
|
|
|
+
|
|
|
+/** called each time a received reply is too bad to process.
|
|
|
+ * For now it's called in case the message does not have any via.
|
|
|
+ */
|
|
|
+#define STATS_BAD_RPL() sr_event_exec(SREV_CORE_STATS, (void*)6)
|
|
|
+
|
|
|
+
|
|
|
+/** called each time uri parsing fails. */
|
|
|
+#define STATS_BAD_URI() sr_event_exec(SREV_CORE_STATS, (void*)7)
|
|
|
+
|
|
|
+
|
|
|
+/** called each time parsing some header fails. */
|
|
|
+#define STATS_BAD_MSG_HDR() sr_event_exec(SREV_CORE_STATS, (void*)8)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#endif /* USE_CORE_STATS */
|
|
|
+
|
|
|
+#endif /*__core_stats_h*/
|
|
|
+
|
|
|
+/* vi: set ts=4 sw=4 tw=79:ai:cindent: */
|