StatsD: Write skeleton Asterisk application
[asterisk/asterisk.git] / apps / app_statsd.c
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 2015, Digium, Inc.
5  *
6  * Tyler Cambron <tcambron@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18
19  /*** MODULEINFO
20         <depend>res_statsd</depend>
21         <defaultenabled>no</defaultenabled>
22         <support_level>extended</support_level>
23  ***/
24
25 #include "asterisk.h"
26
27 ASTERISK_REGISTER_FILE()
28
29 #include "asterisk/module.h"
30 #include "asterisk/logger.h"
31
32 /*** DOCUMENTATION
33         <application name="Statsd" language="en_US">
34                 <synopsis>
35                         Allow statistics to be passed to the StatsD server from the dialplan.
36                 </synopsis>
37                 <syntax>
38                         <parameter name="metric_type" required="true">
39                                 <para>The metric type to be sent to StatsD.</para>
40                         </parameter>
41                         <parameter name="statistic_name" required="true">
42                                 <para>The name of the variable to be sent to StatsD.</para>
43                         </parameter>
44                         <parameter name="value" required="true">
45                                 <para>The value of the variable to be sent to StatsD.</para>
46                         </parameter>
47                 </syntax>
48                 <description>
49                         <para>This dialplan application sends statistics to the StatsD server
50                         specified inside of <literal>statsd.conf</literal>.</para>
51                 </description>
52         </application>
53  ***/
54
55 static const char app[] = "Statsd";
56
57 static int statsd_exec(struct ast_channel *chan, const char *data)
58 {
59         ast_log(LOG_NOTICE, "StatsD application callback is working!\n");
60         return 0;
61 }
62
63
64 static int unload_module(void)
65 {
66         return ast_unregister_application(app);
67 }
68
69 static int load_module(void)
70 {
71         return ast_register_application_xml(app, statsd_exec);
72 }
73
74 AST_MODULE_INFO_STANDARD_EXTENDED(ASTERISK_GPL_KEY, "Statsd Dialplan Application");