MCPcopy
hub / github.com/python-diamond/Diamond

github.com/python-diamond/Diamond @v4.0.515 sqlite

repository ↗ · DeepWiki ↗ · release v4.0.515 ↗
2,386 symbols 7,859 edges 325 files 542 documented · 23%
README

Diamond

Join the chat at https://gitter.im/python-diamond/Diamond Build Status

Diamond is a python daemon that collects system metrics and publishes them to Graphite (and others). It is capable of collecting cpu, memory, network, i/o, load and disk metrics. Additionally, it features an API for implementing custom collectors for gathering metrics from almost any source.

Getting Started

Steps to getting started:

  • Read the documentation
  • Install via pip install diamond. The releases on GitHub are not recommended for use. Use pypi-install diamond on Debian/Ubuntu systems with python-stdeb installed to build packages.
  • Copy the diamond.conf.example file to diamond.conf.
  • Optional: Run diamond-setup to help set collectors in diamond.conf.
  • Modify diamond.conf for your needs.
  • Run diamond with one of: diamond or initctl start diamond or /etc/init.d/diamond restart.

Success Stories

  • Diamond has successfully been deployed to a cluster of 1000 machines pushing 3 million points per minute.
  • Diamond is deployed on Fabric's infrastructure, polling hundreds of metric sources and pushing millions of points per minute.
  • Have a story? Please share!

Repos

Historically Diamond was a brightcove project and hosted at BrightcoveOS. However none of the active developers are brightcove employees and so the development has moved to python-diamond. We request that any new pull requests and issues be cut against python-diamond. We will keep BrightcoveOS updated and still honor issues/tickets cut on that repo.

Diamond Related Projects

Contact

Core symbols most depended-on inside this repo

publish
called by 179
src/collectors/memory_docker/memory_docker.py
get
called by 99
src/collectors/snmp/snmp.py
publish_gauge
called by 56
src/diamond/collector.py
str_to_bool
called by 50
src/diamond/collector.py
format
called by 41
src/diamond/utils/log.py
get
called by 37
src/diamond/convertor.py
convert
called by 35
src/diamond/convertor.py
_add_metric
called by 34
src/collectors/elasticsearch/elasticsearch.py

Shape

Method 1,664
Class 377
Route 274
Function 71

Languages

Python100%

Modules by API surface

src/diamond/convertor.py40 symbols
src/collectors/mongodb/test/testmongodb.py32 symbols
src/collectors/postgres/postgres.py31 symbols
src/collectors/ceph/test/testceph.py31 symbols
src/diamond/handler/sentry.py24 symbols
src/collectors/tokumx/test/testtokumx.py24 symbols
src/collectors/httpd/test/testhttpd.py24 symbols
src/collectors/kafkastat/test/testkafka.py23 symbols
src/diamond/collector.py22 symbols
src/collectors/ping/test/testping.py21 symbols
src/collectors/jcollectd/collectd_network.py21 symbols
src/collectors/icinga_stats/icinga_stats.py21 symbols

For agents

$ claude mcp add Diamond \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact