[ANN] god 0.1.0 released

T

Tom Werner

I'm proud to announce the initial public release of god!

http://god.rubyforge.org/


WHAT IS GOD?

God is an easy to configure, easy to extend monitoring framework written
in Ruby.

Keeping your server processes and tasks running should be a simple part
of your deployment process. God aims to be the simplest, most powerful
monitoring application available.


DISCLAIMER

God is still very young, I'd love to get feedback and bug reports, but I
do not yet recommend you use it for mission critical tasks. I personally
use it in production but then I'm a daring fellow.


INSTALL

sudo gem install god

* note: currently tested only on Redhat Linux and Darwin (won't work on
Windows)


FEATURES

* Config file is written in Ruby
* Easily write your own custom conditions in Ruby
* Supports both poll and event based conditions
* Different poll conditions can have different intervals


EXAMPLE

The easiest way to understand how god will make your life better is by
looking at a sample config file. The following configuration file is
what I use at gravatar.com to keep the mongrels running:

# file: gravatar.god
# run with: god start -c /path/to/gravatar.god
#
# This is the actual config file used to keep the mongrels of
# gravatar.com running.

RAILS_ROOT = "/var/www/gravatar2/current"

God.meddle do |god|
%w{8200 8201 8202}.each do |port|
god.watch do |w|
w.name = "gravatar2-mongrel-#{port}"
w.interval = 30 # seconds
w.start = "mongrel_rails cluster::start --only #{port} \
-C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.stop = "mongrel_rails cluster::stop --only #{port} \
-C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.grace = 10 # seconds

pid_file = File.join(RAILS_ROOT, "log/mongrel.#{port}.pid")

w.behavior:)clean_pid_file) do |b|
b.pid_file = pid_file
end

w.start_if do |start|
start.condition:)process_not_running) do |c|
c.interval = 5 # seconds
c.pid_file = pid_file
end
end

w.restart_if do |restart|
restart.condition:)memory_usage) do |c|
c.pid_file = pid_file
c.above = (150 * 1024) # 150mb
c.times = [3, 5] # 3 out of 5 intervals
end

restart.condition:)cpu_usage) do |c|
c.pid_file = pid_file
c.above = 50 # percent
c.times = 5
end
end
end
end
end


DOCS

Detailed documentation is available at http://god.rubyforge.org/


CHANGES

== 0.1.0 / 2007-07-07

* 1 major enhancement
* Birthday!


AUTHOR

Tom Preston-Werner
 
T

Todd Burch

Why would you pick the name "god"? Surely there are more appropriate
names for a piece of software.

Todd Burch (yes, I am a Christian)
 
J

Joel VanderWerf

Wayne said:
haha! I was waiting for a comment on that!

To me the name makes much sense because that is effectively what the
"piece of software" does, it plays god with the lives of daemons and
processes. Hence seems to be named very well to me.

Maybe "god" is simply an acronym, as proposed by Douglas Hofstadter:

http://www.google.com/search?hl=en&q=god+over+djinn

You can s/djinn/daemon/ if you like.
 
T

Trans

I'm basically agnostic, but I still find "god" a poor name. It just
has too much semantic weight. An ancient name for god may carry
better, like "Deus".

My 2c.
T.
 
J

John Joyce

I'm basically agnostic, but I still find "god" a poor name. It just
has too much semantic weight. An ancient name for god may carry
better, like "Deus".

My 2c.
T.


Oh my god!
 
M

Michael Fellinger

I'm basically agnostic, but I still find "god" a poor name. It just
has too much semantic weight. An ancient name for god may carry
better, like "Deus".

My monitoring framework was called abyss, for it keeps my daemons :)

^ manveru
 
T

Travis D Warlick Jr

Tom said:
I'm proud to announce the initial public release of god!

http://god.rubyforge.org/

You need to add God.smite()

--
Travis Warlick

"Programming in Java is like dealing with your mom --
it's kind, forgiving, and gently chastising.
Programming in C++ is like dealing with a disgruntled
girlfriend -- it's cold, unforgiving, and doesn't tell
you what you've done wrong."
 
M

M. Edward (Ed) Borasky

Tom said:
I'm proud to announce the initial public release of god!

http://god.rubyforge.org/


WHAT IS GOD?

God is an easy to configure, easy to extend monitoring framework written
in Ruby.

Keeping your server processes and tasks running should be a simple part
of your deployment process. God aims to be the simplest, most powerful
monitoring application available.


DISCLAIMER

God is still very young, I'd love to get feedback and bug reports, but I
do not yet recommend you use it for mission critical tasks. I personally
use it in production but then I'm a daring fellow.


INSTALL

sudo gem install god

* note: currently tested only on Redhat Linux and Darwin (won't work on
Windows)


FEATURES

* Config file is written in Ruby
* Easily write your own custom conditions in Ruby
* Supports both poll and event based conditions
* Different poll conditions can have different intervals


EXAMPLE

The easiest way to understand how god will make your life better is by
looking at a sample config file. The following configuration file is
what I use at gravatar.com to keep the mongrels running:

# file: gravatar.god
# run with: god start -c /path/to/gravatar.god
#
# This is the actual config file used to keep the mongrels of
# gravatar.com running.

RAILS_ROOT = "/var/www/gravatar2/current"

God.meddle do |god|
%w{8200 8201 8202}.each do |port|
god.watch do |w|
w.name = "gravatar2-mongrel-#{port}"
w.interval = 30 # seconds
w.start = "mongrel_rails cluster::start --only #{port} \
-C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.stop = "mongrel_rails cluster::stop --only #{port} \
-C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.grace = 10 # seconds
pid_file = File.join(RAILS_ROOT, "log/mongrel.#{port}.pid")
w.behavior:)clean_pid_file) do |b|
b.pid_file = pid_file
end

w.start_if do |start|
start.condition:)process_not_running) do |c|
c.interval = 5 # seconds
c.pid_file = pid_file
end
end
w.restart_if do |restart|
restart.condition:)memory_usage) do |c|
c.pid_file = pid_file
c.above = (150 * 1024) # 150mb
c.times = [3, 5] # 3 out of 5 intervals
end
restart.condition:)cpu_usage) do |c|
c.pid_file = pid_file
c.above = 50 # percent
c.times = 5
end
end
end
end
end


DOCS

Detailed documentation is available at http://god.rubyforge.org/


CHANGES

== 0.1.0 / 2007-07-07

* 1 major enhancement
* Birthday!


AUTHOR

Tom Preston-Werner

Interesting ... the Gang of Four say you shouldn't have a "god" class,
but you went and did it anyway. :)
 
G

Gregory Brown

DISCLAIMER

God is still very young, I'd love to get feedback and bug reports, but I
do not yet recommend you use it for mission critical tasks. I personally
use it in production but then I'm a daring fellow.

Doesn't that just mean you have faith in God?
 
J

John Joyce

Hahaha, I liked that one.

Mark
Hey Apple has had a system command 'bless' for decades!
In the old Mac OS (pre OS X) it was a common troubleshooting activity
to 'bless the system folder' !
Ruby already has the method taint!
Why not some things like:
curse()
cure()
judge()
miracle
plague()
resurrect()
inspire()
create()
 
F

Florian Frank

Todd said:
Why would you pick the name "god"? Surely there are more appropriate
names for a piece of software.
Why? At least now the name refers to *something*.
 
U

Ujjwal Trivedi

Hey time.. Congrats...=20
I just loved the name... may GOD help us all! :)

Regards,=20
Ujjwal=20
=20
=20

-----Original Message-----
From: Tom Werner [mailto:p[email protected]]=20
Sent: Monday, July 09, 2007 11:54 PM
To: ruby-talk ML
Subject: [ANN] god 0.1.0 released

I'm proud to announce the initial public release of god!

http://god.rubyforge.org/


WHAT IS GOD?

God is an easy to configure, easy to extend monitoring framework written

in Ruby.

Keeping your server processes and tasks running should be a simple part=20
of your deployment process. God aims to be the simplest, most powerful=20
monitoring application available.


DISCLAIMER

God is still very young, I'd love to get feedback and bug reports, but I

do not yet recommend you use it for mission critical tasks. I personally

use it in production but then I'm a daring fellow.


INSTALL

sudo gem install god

* note: currently tested only on Redhat Linux and Darwin (won't work on=20
Windows)


FEATURES

* Config file is written in Ruby
* Easily write your own custom conditions in Ruby
* Supports both poll and event based conditions
* Different poll conditions can have different intervals


EXAMPLE

The easiest way to understand how god will make your life better is by=20
looking at a sample config file. The following configuration file is=20
what I use at gravatar.com to keep the mongrels running:

# file: gravatar.god
# run with: god start -c /path/to/gravatar.god
#
# This is the actual config file used to keep the mongrels of
# gravatar.com running.

RAILS_ROOT =3D "/var/www/gravatar2/current"

God.meddle do |god|
%w{8200 8201 8202}.each do |port|
god.watch do |w|
w.name =3D "gravatar2-mongrel-#{port}"
w.interval =3D 30 # seconds
w.start =3D "mongrel_rails cluster::start --only #{port} \
-C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.stop =3D "mongrel_rails cluster::stop --only #{port} \
-C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.grace =3D 10 # seconds
=20
pid_file =3D File.join(RAILS_ROOT, "log/mongrel.#{port}.pid")
=20
w.behavior:)clean_pid_file) do |b|
b.pid_file =3D pid_file
end

w.start_if do |start|
start.condition:)process_not_running) do |c|
c.interval =3D 5 # seconds
c.pid_file =3D pid_file
end
end
=20
w.restart_if do |restart|
restart.condition:)memory_usage) do |c|
c.pid_file =3D pid_file
c.above =3D (150 * 1024) # 150mb
c.times =3D [3, 5] # 3 out of 5 intervals
end
=20
restart.condition:)cpu_usage) do |c|
c.pid_file =3D pid_file
c.above =3D 50 # percent
c.times =3D 5
end
end
end
end
end


DOCS

Detailed documentation is available at http://god.rubyforge.org/


CHANGES

=3D=3D 0.1.0 / 2007-07-07

* 1 major enhancement
* Birthday!


AUTHOR

Tom Preston-Werner



*************************************************************************=
**************************************************=0AThis e-mail communic=
ation and any attachments may be privileged and confidential to Hexaware =
and are intended only for the =0Ause of the recipients named above. If yo=
u are not the intended recipient, please do not review, disclose, dissemi=
nate, =0Adistribute or copy this e-mail and attachments. If you have rece=
ived this email in error, please delete the same alongwith =0Aall attachm=
ents thereto and notify us immediately at (e-mail address removed) .=0A****=
*************************************************************************=
**********************************************=0A
 
U

Ujjwal Trivedi

Typo...x Hey Tom!=20

Regards,=20
Ujjwal=20
=20
=20

-----Original Message-----
From: Ujjwal Trivedi [mailto:[email protected]]=20
Sent: Tuesday, July 10, 2007 1:50 PM
To: ruby-talk ML
Subject: Re: [ANN] god 0.1.0 released

Hey ****.. Congrats...=20
I just loved the name... may GOD help us all! :)

Regards,=20
Ujjwal=20
=20
=20

-----Original Message-----
From: Tom Werner [mailto:p[email protected]]=20
Sent: Monday, July 09, 2007 11:54 PM
To: ruby-talk ML
Subject: [ANN] god 0.1.0 released

I'm proud to announce the initial public release of god!

http://god.rubyforge.org/


WHAT IS GOD?

God is an easy to configure, easy to extend monitoring framework written

in Ruby.

Keeping your server processes and tasks running should be a simple part=20
of your deployment process. God aims to be the simplest, most powerful=20
monitoring application available.


DISCLAIMER

God is still very young, I'd love to get feedback and bug reports, but I

do not yet recommend you use it for mission critical tasks. I personally

use it in production but then I'm a daring fellow.


INSTALL

sudo gem install god

* note: currently tested only on Redhat Linux and Darwin (won't work on=20
Windows)


FEATURES

* Config file is written in Ruby
* Easily write your own custom conditions in Ruby
* Supports both poll and event based conditions
* Different poll conditions can have different intervals


EXAMPLE

The easiest way to understand how god will make your life better is by=20
looking at a sample config file. The following configuration file is=20
what I use at gravatar.com to keep the mongrels running:

# file: gravatar.god
# run with: god start -c /path/to/gravatar.god
#
# This is the actual config file used to keep the mongrels of
# gravatar.com running.

RAILS_ROOT =3D "/var/www/gravatar2/current"

God.meddle do |god|
%w{8200 8201 8202}.each do |port|
god.watch do |w|
w.name =3D "gravatar2-mongrel-#{port}"
w.interval =3D 30 # seconds
w.start =3D "mongrel_rails cluster::start --only #{port} \
-C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.stop =3D "mongrel_rails cluster::stop --only #{port} \
-C #{RAILS_ROOT}/config/mongrel_cluster.yml"
w.grace =3D 10 # seconds
=20
pid_file =3D File.join(RAILS_ROOT, "log/mongrel.#{port}.pid")
=20
w.behavior:)clean_pid_file) do |b|
b.pid_file =3D pid_file
end

w.start_if do |start|
start.condition:)process_not_running) do |c|
c.interval =3D 5 # seconds
c.pid_file =3D pid_file
end
end
=20
w.restart_if do |restart|
restart.condition:)memory_usage) do |c|
c.pid_file =3D pid_file
c.above =3D (150 * 1024) # 150mb
c.times =3D [3, 5] # 3 out of 5 intervals
end
=20
restart.condition:)cpu_usage) do |c|
c.pid_file =3D pid_file
c.above =3D 50 # percent
c.times =3D 5
end
end
end
end
end


DOCS

Detailed documentation is available at http://god.rubyforge.org/


CHANGES

=3D=3D 0.1.0 / 2007-07-07

* 1 major enhancement
* Birthday!


AUTHOR

Tom Preston-Werner



************************************************************************
***************************************************
This e-mail communication and any attachments may be privileged and
confidential to Hexaware and are intended only for the=20
use of the recipients named above. If you are not the intended
recipient, please do not review, disclose, disseminate,=20
distribute or copy this e-mail and attachments. If you have received
this email in error, please delete the same alongwith=20
all attachments thereto and notify us immediately at
(e-mail address removed) .
************************************************************************
***************************************************




*************************************************************************=
**************************************************=0AThis e-mail communic=
ation and any attachments may be privileged and confidential to Hexaware =
and are intended only for the =0Ause of the recipients named above. If yo=
u are not the intended recipient, please do not review, disclose, dissemi=
nate, =0Adistribute or copy this e-mail and attachments. If you have rece=
ived this email in error, please delete the same alongwith =0Aall attachm=
ents thereto and notify us immediately at (e-mail address removed) .=0A****=
*************************************************************************=
**********************************************=0A
 
B

benjohn

I'm basically agnostic, but I still find "god" a poor name. It just
has too much semantic weight. An ancient name for god may carry
better, like "Deus".

I was imagining there would be objections when I saw the announcement.
Then I thought, look at the number of God Games out there (Populus, and
Black & White being prime examples of the genre): playing at God is
hardly uncharted in technology circles.

I think it's a great name for the application, given it's domain. It
also gives almost endless scope for grin / cringe jokes. All those jokes
will, with a little care, also make for a fun and memerable interface:
there's enormous scope for use of metaphores that I'd imagine most
societies would probably appreciate (anywhere with some exposure to
monotheistic religion).

Hey - with enough 2 cents, we can buy a burger.

Cheers,
Benj - also mostly agnostic (if that's relevent).
 
G

gabriele renzi

I think it's a great name for the application, given it's domain. It
also gives almost endless scope for grin / cringe jokes. All those jokes
will, with a little care, also make for a fun and memerable interface:
there's enormous scope for use of metaphores that I'd imagine most
societies would probably appreciate (anywhere with some exposure to
monotheistic religion).

but it is hard to find god via google.
Well, not all of them, at least.
 
T

Todd Burch

Florian said:
Why? At least now the name refers to *something*.

I've never seen a "name" that didn't refer to something. Perhaps you
meant "implies" something. And yes, it implies a sense of arrogance on
Tom's part.

And your comment, Benj, about the Gaming industry already doing it - so
it must be "ok"... and your initial thoughts on objections for the use
of the name, and then signing as "mostly agnostic"... You sir - have
given me the best laugh of the day! Your first thoughts must have come
from your non-"mostly agnostic" side, and by the definition of agnostic,
you are uncertain anyway. So, your post is a trip, (a riot, it's
hilarious), anyway you look at it! And yes, in this case, it's
perfectly relevant.

Perhaps its my age (44), which to some might suggest a certain level of
maturity and/or discretion, but I would have spent a bit more mental
time to come up with a name, like I said before, that was more
appropriate, or perhaps, OK, I'll quit beating around the bush on my
real feelings - less inappropriate.

But, being a candidate for an old fuddy-duddy, I could be looking at
this all wrong too. With God (the real one) being taken out of schools,
and His commandments being taken out of our courthouses, and in all the
other ways society has found to remove or otherwise pidgeon-hole God out
of our lives, perhaps this reference, however infinitesimally minute in
the scheme of things, will raise someone's curiosity enough to do some
exploration for themselves on the matter.

One last comment. Yes, this name choice, as we've already seen, will be
the brunt of jokes and snickering, but in the end, you (Tom) have set a
pretty big expectation for the usefulness and quality of your wares.

Good luck with your project. (P.S. yeah, I know, "luck" is a pagan
thing!)

Todd

Now, before anyone gets their knickers in a twist on my comments - take
a deep breath, relax, and realize that I have not personally attacked
anyone. Might I have made fun of you? Well, that depends!
 
T

Todd Benson

I was imagining there would be objections when I saw the announcement.
Then I thought, look at the number of God Games out there (Populus, and
Black & White being prime examples of the genre): playing at God is
hardly uncharted in technology circles.

I think it's a great name for the application, given it's domain. It
also gives almost endless scope for grin / cringe jokes. All those jokes
will, with a little care, also make for a fun and memerable interface:
there's enormous scope for use of metaphores that I'd imagine most
societies would probably appreciate (anywhere with some exposure to
monotheistic religion).

I agree with Trans. It has too much syntactic weight, not to mention
it is also somewhat pretentious. It sort of suggests that it is and
will be the end all/be all of monitoring applications. In fact, in
almost goes one step beyond that, suggesting almost that it is the end
all/be all of any application. Pretty weighty indeed. It really has
nothing to do with theological beliefs. After all, "God" or "the
Lord" in the old testament -- if I remember correctly and sticking to
Judaism as an example -- is translated as "I am"; something _not_
unique to monotheism. Better to stick with synonyms of god instead.
You can have just as much fun with the mythological captains of the
past.

Todd Burch, I share your discretion, but that's about it. I really
think the concept of god is ultimately humanistic in nature and has
very little to do with religion.

But I don't foresee the name changing. So, if I happen to design
something along similar lines that I think is better, I guess I'll
just call it God2, or, hmm ... maybe Lucifer.

Todd
 
B

benjohn

Todd Burch wrote:
*snip*
But, being a candidate for an old fuddy-duddy, I could be looking at
this all wrong too. With God (the real one) being taken out of schools,
and His commandments being taken out of our courthouses, and in all the
other ways society has found to remove or otherwise pidgeon-hole God out
of our lives, perhaps this reference, however infinitesimally minute in
the scheme of things, will raise someone's curiosity enough to do some
exploration for themselves on the matter.
*snip*

Who's to know. :) But I guess it's a good thing that Gem name
convention is to be lower case.

Cheers,
Benj
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,961
Messages
2,570,131
Members
46,689
Latest member
liammiller

Latest Threads

Top