Need advice about which tool to choose?Ask the StackShare community!
Graphite vs StatsD: What are the differences?
Developers describe Graphite as "A highly scalable real-time graphing system". Graphite does two things: 1) Store numeric time-series data and 2) Render graphs of this data on demand. On the other hand, StatsD is detailed as "Simple daemon for easy stats aggregation". StatsD is a front-end proxy for the Graphite/Carbon metrics server, originally written by Etsy's Erik Kastner. StatsD is a network daemon that runs on the Node.js platform and listens for statistics, like counters and timers, sent over UDP and sends aggregates to one or more pluggable backend services (e.g., Graphite).
Graphite and StatsD can be categorized as "Monitoring" tools.
Some of the features offered by Graphite are:
- carbon - a Twisted daemon that listens for time-series data
- whisper - a simple database library for storing time-series data (similar in design to RRD)
- graphite webapp - A Django webapp that renders graphs on-demand using Cairo
On the other hand, StatsD provides the following key features:
- buckets: Each stat is in its own "bucket". They are not predefined anywhere. Buckets can be named anything that will translate to Graphite (periods make folders, etc)
- values: Each stat will have a value. How it is interpreted depends on modifiers. In general values should be integer.
- flush: After the flush interval timeout (defined by config.flushInterval, default 10 seconds), stats are aggregated and sent to an upstream backend service.
"Render any graph" is the primary reason why developers consider Graphite over the competitors, whereas "Single responsibility" was stated as the key factor in picking StatsD.
Graphite and StatsD are both open source tools. StatsD with 14.2K GitHub stars and 1.83K forks on GitHub appears to be more popular than Graphite with 4.59K GitHub stars and 1.2K GitHub forks.
Uber Technologies, Twilio SendGrid, and Shutterstock are some of the popular companies that use Graphite, whereas StatsD is used by Lyft, Kickstarter, and Sauce Labs. Graphite has a broader approval, being mentioned in 97 company stacks & 21 developers stacks; compared to StatsD, which is listed in 72 company stacks and 16 developer stacks.
Looking for a tool which can be used for mainly dashboard purposes, but here are the main requirements:
- Must be able to get custom data from AS400,
- Able to display automation test results,
- System monitoring / Nginx API,
- Able to get data from 3rd parties DB.
Grafana is almost solving all the problems, except AS400 and no database to get automation test results.
You can look out for Prometheus Instrumentation (https://prometheus.io/docs/practices/instrumentation/) Client Library available in various languages https://prometheus.io/docs/instrumenting/clientlibs/ to create the custom metric you need for AS4000 and then Grafana can query the newly instrumented metric to show on the dashboard.
Pros of Graphite
- Render any graph16
- Great functions to apply on timeseries9
- Well supported integrations8
- Includes event tracking6
- Rolling aggregation makes storage managable3
Pros of StatsD
- Open source9
- Single responsibility7
- Efficient wire format5
- Loads of integrations3
- Handles aggregation3
- Many implementations1
- Scales well1
- Simple to use1
- NodeJS1
Sign up to add or upvote prosMake informed product decisions
Cons of Graphite
Cons of StatsD
- No authentication; cannot be used over Internet1