storj/cmd/statreceiver
JT Olio 2744a26b60
pkg/cfgstruct: tie defaults to releases (#1787)
* tie defaults to releases

this change makes it so that by default, the flag defaults are
chosen based on whether the build was built as a release build or
an ordinary build. release builds by default get release defaults,
whereas ordinary builds by default get dev defaults.

any binary can have its defaults changed by specifying

 --defaults=dev

or

 --defaults=release

Change-Id: I6d216aa345d211c69ad913159d492fac77b12c64

* make release defaults more clear

this change extends cfgstruct structs to support either
a 'default' tag, or a pair of 'devDefault' and 'releaseDefault'
tags, but not both, for added clarity

Change-Id: Ia098be1fa84b932fdfe90a4a4d027ffb95e249c6

* clarify cfgstruct.DefaultsFlag

Change-Id: I55f2ff9080ebbc0ce83abf956e085242a92f883e
2019-04-19 12:17:30 -06:00
..
luacfg updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
common.go updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
copy.go updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
db.go updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
example.lua cmd/statreceiver: lua-scriptable stat receiver (#636) 2018-12-11 11:24:31 -07:00
file.go updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
filter.go updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
graphite.go reorder graphite metric string for easier parsing (#1362) 2019-02-26 15:47:31 +02:00
main.go pkg/cfgstruct: tie defaults to releases (#1787) 2019-04-19 12:17:30 -06:00
parser.go updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
print.go updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
README.md Update README.md 2018-12-20 10:01:28 -07:00
sanitizer.go updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
schema.sql cmd/statreceiver: lua-scriptable stat receiver (#636) 2018-12-11 11:24:31 -07:00
udp.go updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00

statreceiver

This package implements a Lua-scriptable pipeline processor for zeebo/admission telemetry packets (like monkit or something).

There are a number of types of objects involved in making this work:

  • Sources - A source is a source of packets. Each packet is a byte slice that, when parsed, consists of application and instance identification information (such as the application name and perhaps the MAC address or some other id of the computer running the application), and a list of named floating point values. There are currently two types of sources, a UDP source and a file source. A UDP source appends the current time as the timestamp to all packets, whereas a file source should have a prior timestamp to attach to each packet.
  • Packet Destinations - A packet destination is something that can handle a packet with a timestamp. This is either a packet parser, a UDP packet destination for forwarding to another process, or a file destination that will serialize all packets and timestamps for later replay.
  • Metric Destinations - Once a packet has been parsed, the contained metrics can get sent to a metric destination, such as a time series database, a relational database, stdout, a metric filterer, etc.

Please see example.lua for a good example of using this pipeline.

Setup

If you use a relational database metric destination, make sure to instantiate the schema provided in schema.sql first.