GithubHelp home page GithubHelp logo

dever860 / anode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mattrco/anode

0.0 1.0 0.0 336 KB

Utility for analyzing graphite metrics. Experimental package.

License: Apache License 2.0

Go 100.00%

anode's Introduction

Anode

Anode is a tool for experimenting with different analysis algorithms on metrics and other time series. You can read an extended introduction to anode here.

Data analysis starts with getting to know your data. The overarching goal of anode is to advance the open-source offerings for metrics analysis by creating a proving ground for different approaches.

Anode ships with a Graphite input plugin, capable of fetching a named metric from graphite and streaming updates to registered analysis plugins. Each analysis plugin then streams its result to output plugins.

Just learning about metrics analysis? Have a look at this excellent talk on anomaly detection for metrics.

Example

Try the three sigma analyzer that's included. This works best for data with a normal (gaussian) distribution.

go get github.com/mattrco/anode
anode -metric=app.latency

(Other flags exist; see here).

This will fetch and process the last 24 hours of data. New metrics will appear in graphite under anode.threesig which you can then plot alongside your existing metric. The screenshot below shows the original metric (lilac) with anomalous values highlighted in orange.

Screenshot of Three Sigma analyzer

Coming soon

  • More analyzers, outputs, docs, and better-defined APIs.

  • Write-ups on statistical (and other) approaches to metrics analysis. You can follow along on twitter to stay on top of these, but I'll link to them from this doc too.

Contributions

Contributions welcome! Please open an issue to discuss what you'd like to work on.

Related projects and acknowledgement

mozilla-services/heka

Heka is a more general data collection and processing system, processing much more than time series. Its data pipeline inspired anode's architecture.

etsy/skyline

Skyline is an anomaly detection system for time series data.

Key differences:

  • Skyline is production-ready and more work to get set up
  • Fairly rigid decision logic for determining whether latest updates to a series are anomalous. Algorithms each return a boolean and majority vote wins. There's no way to apply different analyses to different metrics, which is a key design point of anode.

Copyright Notice and License

Copyright 2014 Matthew ("Matt") Cottingham

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software 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.

anode's People

Contributors

mattrco avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.