Commit graph

51 commits

Author SHA1 Message Date
Frank Davidson
d55b42eabb :Issue 234: Split into reusable packages.
Signed-off-by: Frank Davidson <frank_davidson@manulife.com>
Signed-off-by: Frank Davidson <ffdavidson@gmail.com>
2020-04-08 15:29:49 -04:00
bakins
90e247b091 Add random replacement cache
Signed-off-by: bakins <brian@akins.org>
2020-03-04 12:26:59 -05:00
Matthias Rampke
fa2159f8e8
Pass logger to UDP listener
We were already passing it to the TCP and Unixgram listener, but
somehow left it out of the UDP listener setup.

Fixes #285.

Signed-off-by: Matthias Rampke <mr@soundcloud.com>
2020-01-13 09:55:07 +00:00
Matthias Rampke
53f732d480
Log error and exit instead of panicking
Following the lead of prometheus/prometheus, we prefer to log-and-exit
instead of an unstructured panic.

cf. https://github.com/prometheus/prometheus/pull/3061/files#diff-4a3ccbb3ebdcd530af96f0105fe833c2R182

Signed-off-by: Matthias Rampke <mr@soundcloud.com>
2020-01-10 14:02:59 +00:00
mhartenbower
c710b851c7 Switch to go-kit logging
Fixes #270

Signed-off-by: mhartenbower <matt.hartenbower@gmail.com>
2019-10-13 13:19:28 -05:00
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