rothko

package module
v0.0.0-...-0ce9163 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2018 License: Apache-2.0 Imports: 30 Imported by: 0

README

Rothko

Rothko stores and allows interaction with distributions of a metric that vary through time. This allows you to collect insight about the overall values of metrics when there are many values from multiple hosts.

Learn more about Rothko in our introductory blog post.

Contributing

Set up

Source the .setup script to add the bin folder to your $PATH (run . .setup) which adds the roth command. Running roth has output like

Usage: roth <subcommand> [subcommand args...]

	build     builds a development rothko binary
	clean     cleans development rothko data
	generate  generates all the code/documentation
	live      runs a live server that rebuilds on code changes
	onboard   sets up the developer environment to build and run the ui
	run       runs a development rothko server

If you are working on the ui, you can run roth onboard to have it install the required set of npm and Elm dependencies, and roth live to have it spin up a live server (fswatch is required). Any changes to the Go or Elm code will cause the code to be rebuilt and any open web pages to reload. You can then visit a demo site with some demo data at http://localhost:8080.

In general

  • Pull requests are fine and dandy.
  • Try to make the code you add "look like" the code around it. Style and consistency matter.
  • Open an issue to talk about any major changes you'd like to see. Maybe it's already being worked on.

In Go

  • Try to add unit tests for any new functionality you add or any bugs you fix. There are some internal packages for doing assertions, etc. Check out other tests for guidance.
  • Be sure to document any exported public interfaces. Documentation matters.
  • Run roth generate as it commits documentation to the README's at the package directories.
  • Breaking changes are still acceptible for now.

In Elm

  • Make sure to run elm-format on everything. I use elm-format-0.18 0.7.0-exp.

Misc

  • If you write bash scripts, make sure they pass shellcheck.

Finally

Be sure to add yourself to AUTHORS so that you can get credit for your hard work!

Documentation

Overview

package rothko is a time-distribution system.

It stores and allows interaction with distributions of a metric that vary through time. This allows you to collect insight about the overall values of metrics when there are many values from multiple hosts.

This package contains a Main function to be called by the actual main package, allowing you to customize the configuration of rothko's operation.

See the github.com/vivint/rothko/bin/rothko package for a rothko binary with implementations loaded from this project.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Main

func Main()

Main is the entrypoint to any rothko binary. It is exposed so that it is easy to create custom binaries with your own enhancements.

Types

This section is empty.

Directories

Path Synopsis
api
package api provides apis for interacting with a rothko server
package api provides apis for interacting with a rothko server
query
package query provides routines to query out of a set of metrics.
package query provides routines to query out of a set of metrics.
bin
rothko
rothko is a binary for storing and serving time-distribution values.
rothko is a binary for storing and serving time-distribution values.
package config provides methods to load/create the configs.
package config provides methods to load/create the configs.
package data provides types for handling rothko data.
package data provides types for handling rothko data.
load
package load provides a function to load a dist.Dist from a data.Record.
package load provides a function to load a dist.Dist from a data.Record.
package database provides interfaces to storage of records.
package database provides interfaces to storage of records.
files
package files implements a disk.Source and disk.Writer
package files implements a disk.Source and disk.Writer
files/internal/sset
package sset implements a sorted set of strings.
package sset implements a sorted set of strings.
files/internal/system
package system provides optimized and dangerous functions for system calls.
package system provides optimized and dangerous functions for system calls.
package dist provides interfaces for distribution sketches.
package dist provides interfaces for distribution sketches.
tdigest
package tdigest provides a wrapper around github.com/zeebo/tdigest.
package tdigest provides a wrapper around github.com/zeebo/tdigest.
package draw provides common types for the drawing packages.
package draw provides common types for the drawing packages.
axis
package axis provides implementations of drawing rothko axes.
package axis provides implementations of drawing rothko axes.
colors
package colors provides some color maps for drawing.
package colors provides some color maps for drawing.
graph
package graph provides implementations of drawing rothko graphs.
package graph provides implementations of drawing rothko graphs.
heatmap
package heatmap provides implementations of drawing rothko heatmaps.
package heatmap provides implementations of drawing rothko heatmaps.
iosevka
package iosevka contains a basicfont.Face of the ascii range of the iosevka font face.
package iosevka contains a basicfont.Face of the ascii range of the iosevka font face.
key
package key provides a way to draw a heatmap key
package key provides a way to draw a heatmap key
observations
package observations provides drawing of an observations axis.
package observations provides drawing of an observations axis.
package dump provides periodic dumping from a scribbler to disk.
package dump provides periodic dumping from a scribbler to disk.
package external defines some interfaces for external resources.
package external defines some interfaces for external resources.
internal
assert
package assert provides helper functions for tests.
package assert provides helper functions for tests.
junk
package junk is a drop spot for things with no home.
package junk is a drop spot for things with no home.
pcg
package pcg provides the pcg random number generator
package pcg provides the pcg random number generator
tgzfs
package tgzfs provides an http.FileSystem based on a tgz.
package tgzfs provides an http.FileSystem based on a tgz.
tmplfs
package tmplfs wraps an http.FileSystem to make html files html/templates.
package tmplfs wraps an http.FileSystem to make html files html/templates.
typeassert
package typeassert provides helper functions type asserting structures.
package typeassert provides helper functions type asserting structures.
package listener provides types for adding data to rothko.
package listener provides types for adding data to rothko.
graphite
package graphite provides a listener for the graphite wire protocol.
package graphite provides a listener for the graphite wire protocol.
package merge provides a merger for rothko data.
package merge provides a merger for rothko data.
package registry provides ways for plugins to add rothko entities.
package registry provides ways for plugins to add rothko entities.
package ui provides a gzipped tar archive of the compiled ui.
package ui provides a gzipped tar archive of the compiled ui.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL