Commit graph

46 commits

Author SHA1 Message Date
Gert van den Berg b555158e53 Add event handler for Unixgram
Signed-off-by: Gert van den Berg <gert.vandenberg@iotnxt.com>
2019-07-23 16:00:00 +02:00
Matthias Rampke 23ef5daeac
Reload on SIGHUP instead of watching the file
This is more portable (works on any system that has UNIX signals) and
removes the dependency on fsnotify, which doesn't compile on AIX. It
also reduces the probability of failed reloads due to partial writes.

Fixes #241.

Signed-off-by: Matthias Rampke <mr@soundcloud.com>
2019-07-05 13:30:31 +00:00
Selman Kayrancioglu bb88165d52 add missing eventHandler to StatsDTCPListener
Signed-off-by: Selman Kayrancioglu <selman@peak.com>
2019-06-14 15:42:21 +03:00
Chanan Damboritz 8f7676eaa9 Use promhttp instead of http
Signed-off-by: Chanan Damboritz <chanan@hiredscore.com>
Signed-off-by: Chanan Damboritz <cdambo@gmail.com>
2019-06-11 13:54:20 +03:00
Clayton O'Neill c7e76967c8
Add internal event queuing and flushing
At high traffic levels, the locking around sending on channels can cause
a large amount of blocking and CPU usage.  These adds an event queue
mechanism so that events are queued for short period of time, and
flushed in batches to the main exporter goroutine periodically.

The default is is to flush every 1000 events, or every 200ms, whichever
happens first.

Signed-off-by: Clayton O'Neill <claytono@github.com>
2019-06-04 06:57:48 -04:00
SpencerMalone 35d1a99592 Adding mapping cache
Signed-off-by: SpencerMalone <malone.spencer@gmail.com>
2019-04-26 18:00:39 -04:00
Matthias Rampke 9963806a62
Merge pull request #205 from claytono/add-pprof
Add pprof for profiling
2019-04-23 09:01:09 +00:00
Wangchong Zhou 47b5ef9be0
Buffer signals channel
Signed-off-by: Wangchong Zhou <fffonion@gmail.com>
2019-04-22 16:35:28 -07:00
Wangchong Zhou 383ee9bd3b
Add a signal handler to allow clean up of unixgram socket file
Signed-off-by: Wangchong Zhou <fffonion@gmail.com>
2019-04-22 16:33:22 -07:00
Clayton O'Neill 024f9dc0aa
Add pprof for profiling
Signed-off-by: Clayton O'Neill <clayton@oneill.net>
2019-04-22 08:07:43 -04:00
Matthias Rampke 9ed6d59151
Correct to use name socket mode instead of mask
Co-Authored-By: fffonion <fffonion@gmail.com>
Signed-off-by: Wangchong Zhou <fffonion@gmail.com>
2019-04-09 11:20:11 -07:00
Wangchong Zhou 05bca84294
Implement listener for Unixgram sockets
As requested in #189

Signed-off-by: Wangchong Zhou <fffonion@gmail.com>
2019-04-05 16:45:34 -07:00
Simon Pasquier 8f56cc811d *: add staticcheck target back
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-01-04 15:26:57 +01:00
Wangchong Zhou 5262b2904c
tidy up and use go benchmark
Signed-off-by: Wangchong Zhou <fffonion@gmail.com>
2018-09-28 12:58:25 -07:00
Wangchong Zhou 5e1df60d22
abstract dumpFsm
Signed-off-by: Wangchong Zhou <fffonion@gmail.com>
2018-09-21 18:11:00 -07:00
Wangchong Zhou e634997791
move fsm to sepeare pkg
Signed-off-by: Wangchong Zhou <fffonion@gmail.com>
2018-09-21 18:10:51 -07:00
Wangchong Zhou bfe23298aa
replace glob matching
Signed-off-by: Wangchong Zhou <fffonion@gmail.com>
2018-09-11 17:34:19 -07:00
Nic Cope fcc398a032 Switch to kingpin for flag handling
This commit also removs the deprecated -statsd.listen-address flag. Switching
to kingpin is a breaking change in that flags now start with two hyphens (e.g.
--statsd.listen-udp), and thus a good time to remove deprecated flags.

Signed-off-by: Nic Cope <negz@planet.com>
2018-08-20 13:18:59 -07:00
Matthias Rampke d9f305b6f2
Inject the mappings count metric into the library package
so that it can be initialized with an exporter-specific name.

Signed-off-by: Matthias Rampke <mr@soundcloud.com>
2018-08-14 09:31:38 +00:00
Matthias Rampke 40a13e604f
Move mapper -> pkg/mapper
to make clear that this is meant to be used elsewhere

Signed-off-by: Matthias Rampke <mr@soundcloud.com>
2018-08-14 09:20:00 +00:00
Matthias Rampke 124c5b88d0
Move mapper to a package
This allows the mapping logic and configuration format to be re-used by
the graphite exporter.

Enables prometheus/graphite_exporter#37, cf. https://github.com/prometheus/graphite_exporter/pull/52#issuecomment-412324849

Signed-off-by: Matthias Rampke <mr@soundcloud.com>
2018-08-12 11:14:18 +00:00
Simon Pasquier 27f07a6516 Use Makefile.common from Prometheus
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-05-23 12:49:57 +02:00
Brian Brazil fbbd6452c6
Update a few Bridges we missed to Exporter 2018-01-30 20:01:29 +00:00
Dave Rawks 0478c40ab0 Removes -statsd.add-suffix option flag
* Remove option flag
* Update NewExporter call signature to not take suffix boolean
* Update tests to reflect new behavior and signature
* Update documentation to reflect option flag removal
2017-09-28 11:30:17 -07:00
jwfang 07543ac557 Add TCP StatsD listener support (#71)
* add TCP StatsD listener support

* add listen-tcp flag to control UDP/TCP mode on same port

* statsdListenUDP/statsdListenTCP as string, and alias listen-address to listen-udp

* add stats for tcp error/line_too_long

* add test for TCP listener
2017-08-01 12:21:00 +02:00
nordicdyno 6ac8203d40 http listener: log and fail on ListenAndServe error 2017-02-10 15:35:38 +03:00
Johannes 'fish' Ziemke 03fde8f3ba Use common/version and common/log packages 2016-05-04 23:12:18 +02:00
Johannes 'fish' Ziemke e26a5e4728 Add Version variable 2016-05-03 20:25:42 +02:00
Johannes 'fish' Ziemke f031e30721 Add flag to disable metric type suffixes 2016-05-03 01:16:34 +02:00
Julius Volz 3727277927 Merge pull request #26 from macb/exporter_rename
rename bridge to exporter
2015-10-17 15:50:01 +02:00
Mac Browning ea7341a6c4 rename bridge -> exporter 2015-10-09 20:34:28 -04:00
Mac Browning c4ab11d05c add root endpoint with redirect 2015-10-09 20:26:05 -04:00
Fabian Stehle 3d7b731cfd Allow configuration of UDP read buffer 2015-09-09 17:50:32 +02:00
Julius Volz 1ee380cc39 Migrate logging to prometheus/log. 2015-05-29 13:45:11 +02:00
Julius Volz b299c8a72d Fix license headers to match LICENSE file. 2015-02-19 01:04:25 +01:00
Jan Brauer c8a749f7c5 Use log.fatalf 2015-02-11 22:31:49 +01:00
Jan Brauer f7dfad9bd4 Use argument instead of global 2015-02-11 22:30:57 +01:00
Julius Volz 61cba974b0 Make flag names consistent across projects. 2015-02-09 00:26:08 +01:00
Bjoern Rabenstein 65e9c49ca8 Migrate to new client_golang.
This should only be merged once the new client_golang is merged to its
master branch.
2014-06-26 15:56:21 +02:00
Julius Volz eff54bdcf9 Implement config watching and reloading. 2013-07-08 21:00:57 +02:00
Julius Volz 42ad6cb8d6 Separate bridge into new file. 2013-07-06 00:13:39 +02:00
Julius Volz 5b453a916e Change default statsd-receive port to 9125. 2013-07-05 23:53:15 +02:00
Julius Volz 80d504ae46 Implement statsd-to-prometheus metric label mappings. 2013-07-05 23:03:57 +02:00
Matt T. Proud 4fc89e65c7 Add internal metrics.
This commit adds internal metrics so that we can assess how well the
bridge performs in production.
2013-07-03 15:25:52 +02:00
Julius Volz ef07f34fe7 Address review comments. 2013-07-02 20:10:01 +02:00
Julius Volz 14385cd831 Initial commit. 2013-07-02 18:27:43 +02:00