railsware / newrelic_platform_plugins

MIT License
42 stars 66 forks source link

Run resque in parallel with other agents/plugins (config issues) #31

Open ghaase opened 10 years ago

ghaase commented 10 years ago

With the commit to allow multiple instances with one agent (see: https://github.com/railsware/newrelic_platform_plugins/commit/5cb8f2a2aba33259aefee626103e49ef199f4cd4#diff-d7cd39b75e98d8d6bb7a02b42f9a2574) it appears that you have lost the ability to run this agent simultaneously with other agents. It seems that you are using the agent level of config to drive the additional instances; however I think that's going to cause the resque agent to also pick up parameters for every other agent setup in newrelic_plugin.yml.

For example if you tried to have something like this:

agents:
  varnish:
    -
      name: "Local Varnish"
      vname:

  my_resque_1:
    # Redis connection string: 'hostname:port' or 'hostname:port:db' or 'redis://user:password@hostname:port:db'
    redis: localhost:6379
    # Resque namespace
    namespace:
  my_resque_2:
    # Redis connection string: 'hostname:port' or 'hostname:port:db' or 'redis://user:password@hostname:port:db'
    redis: localhost:6379
    # Resque namespace
    namespace:

Then I believe the resque plugin would attempt to execute:

NewRelic::Plugin::Setup.install_agent varnish, ResqueAgent

There is an example of how to run multiple agents per plugin here, although I'm not sure it would work in this scenario: https://docs.newrelic.com/docs/plugin-dev/multiple-agents-for-plugins-example