Skip to content
Pure Ruby interface for generating Ganglia gmetric packets
Find file
Latest commit 3a459ac @igrigorik Merge pull request #5 from evilensky/master
Failed to load latest commit information.
lib close connection after writing
spec Gemfile
.gitignore Gemfile
Gemfile Gemfile Update
Rakefile Version bump to 0.1.0
VERSION bump to 0.1.3; bugfix to close connection
gmetric.gemspec Gemfile


A pure Ruby client for generating Ganglia 3.1.x+ gmetric meta and metric packets and talking to your gmond / gmetad nodes over UDP protocol. Supports host spoofing, and all the same parameters as the gmetric command line executable.

Example: Sending a gmetric to a gmond over UDP

Ganglia::GMetric.send("", 8670, {
  :name => 'pageviews',
  :units => 'req/min',
  :type => 'uint8',
  :value => 7000,
  :tmax => 60,
  :dmax => 300,
  :group => 'test'

Example: Generating the Meta and Metric packets

g = Ganglia::GMetric.pack(
  :slope => 'positive',
  :name => 'ruby',
  :value => rand(100),
  :tmax => 60,
  :units => '',
  :dmax => 60,
  :type => 'uint8'

# g[0] = meta packet
# g[1] = gmetric packet

s =
s.connect("", 8670)
s.send g[0], 0
s.send g[1], 0

Spoofing a hostname in gmetrics

To spoof a hostname with the gmetric library you will need to add the following keys to your gmetric. This works with both GMetric.send() and GMetric.pack().

  • spoof - takes a value of 1 or True
  • hostname - expects a value of ip_address:hostname.


The MIT License, Copyright (c) 2009 Ilya Grigorik

Something went wrong with that request. Please try again.