Skip to content

longshorej/vapor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vapord

vapord is an all-in-one metric collection and visualization system. Its main feature is simplicity -- no persistence, a simple protocol, and a limited conceptual model. Metrics are kept in memory and dropped after a configurable period of time.

It's currently very minimal and contains the minimal amount of features necessary to aid in monitoring a UDP-based audio system I'm developing for use at the Longshore household. More to come as needed.

Getting Started

Run the daemon. You can find a list of versions on DockerHub:

docker run --rm -p 13542:13542 -p 13542:13542/udp appalachian/vapord:<version>

Send a gauge:

netcat -u localhost 13542
g/test/1234

Send an event:

netcat -u localhost
e/test

View some data:

http://localhost:13542

Terminology

Gauge

A gauge is a recording of a distinct integer value that is timestamped on arrival.

case class Gauge(name: String, value: Long)

Event

An event signifies the occurrence of some arbitrary event. These are collected and summed over a specified aggregation period by the UDP server.

case class Event(name: String, rollUpPeriod: Option[Long])

Programmatic Use

vapor-rust

Development

This project uses sbt for its daemon.

Releases

This is currently harder than it needs to be.

  1. Fresh clone from upstream
  2. cd vapor/backend
  3. sbt release
  4. git checkout v<version>
  5. cd ../frontend; npm run build
  6. cd ../backend; sbt assembly
  7. cd ..
  8. docker build -t appalachian/vapord:<version> .
  9. docker push appalachian/vapord:<version>

Author

Jason Longshore hello@jasonlongshore.com

License

Copyright (C) 2018 Jason Longshore (https://www.jasonlongshore.com/).

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published