]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - data/rbot/plugins/debugger.rb
[plugin] del.icio.us ceased to exist.
[user/henk/code/ruby/rbot.git] / data / rbot / plugins / debugger.rb
index 6eabdfea257c5819b326b87ec5c20e4b5c9d59d1..2895cd0beadf678c3ec01ba3aec2c35e9d22d9c7 100644 (file)
@@ -8,22 +8,26 @@
 # License:: GPL v2
 
 class DebugPlugin < Plugin
-  BotConfig.register BotConfigIntegerValue.new('debug.interval',
+  Config.register Config::IntegerValue.new('debug.interval',
     :default => 10, :validate => Proc.new{|v| v > 0},
     :desc => "Number of seconds between memory profile dumps")
-  BotConfig.register BotConfigBooleanValue.new('debug.dump_strings',
+  Config.register Config::BooleanValue.new('debug.dump_strings',
     :default => false,
     :desc => "Set to true if you want the profiler to dump strings, false otherwise")
-  BotConfig.register BotConfigStringValue.new('debug.logdir',
+  Config.register Config::StringValue.new('debug.logdir',
     :default => "",
     :desc => "Directory where profile/string dumps are to be stored")
 
+  def dirname
+    @bot.config['debug.logdir']
+  end
+
   def initialize
     super
     @prev = Hash.new(0)
     @curr = Hash.new(0)
     @delta = Hash.new(0)
-    @file = File.open("#{@bot.botclass}/#{@bot.config['debug.logdir']}/memory_profiler.log",'w')
+    @file = File.open(datafile("memory_profiler.log"), 'w')
     @thread = @bot.timer.add(@bot.config['debug.interval']) {
         begin
           GC.start
@@ -39,7 +43,7 @@ class DebugPlugin < Plugin
           end
 
           if @bot.config['debug.dump_strings']
-            File.open("#{@bot.botclass}/#{@bot.config['debug.logdir']}/memory_profiler_strings.log.#{Time.now.to_i}",'w') do |f|
+            File.open(datafile("memory_profiler_strings.log.#{Time.now.to_i}"), 'w') do |f|
               curr_strings.sort.each do |s|
                 f.puts s
               end
@@ -48,7 +52,7 @@ class DebugPlugin < Plugin
           end
 
           @delta.clear
-          (@curr.keys + @delta.keys).uniq.each do |k,v|
+          (@curr.keys + @prev.keys).uniq.each do |k,v|
             @delta[k] = @curr[k]-@prev[k]
           end
 
@@ -107,7 +111,7 @@ class DebugPlugin < Plugin
         end
       end
 
-      File.open("#{@bot.botclass}/#{@bot.config['debug.logdir']}/memory_profiler_strings.log.#{Time.now.to_i}",'w') do |f|
+      File.open(datafile("memory_profiler_strings.log.#{Time.now.to_i}"), 'w') do |f|
         curr_strings.sort.each do |s|
           f.puts s
         end