Skip to content

Instantly share code, notes, and snippets.

?> pp java.lang.Class.forName("com.google.apphosting.utils.remoteapi.RemoteApiPb$Request").getMethods.to_a
[public int com.google.apphosting.utils.remoteapi.RemoteApiPb$Request.hashCode(),
public void com.google.apphosting.utils.remoteapi.RemoteApiPb$Request.clear(),
public boolean com.google.apphosting.utils.remoteapi.RemoteApiPb$Request.equals(java.lang.Object),
public boolean com.google.apphosting.utils.remoteapi.RemoteApiPb$Request.equals(com.google.appengine.repackaged.com.google.io.protocol.ProtocolMessage),
public boolean com.google.apphosting.utils.remoteapi.RemoteApiPb$Request.equals(com.google.appengine.repackaged.com.google.io.protocol.ProtocolMessage,boolean),
public boolean com.google.apphosting.utils.remoteapi.RemoteApiPb$Request.equals(com.google.apphosting.utils.remoteapi.RemoteApiPb$Request),
public boolean com.google.apphosting.utils.remoteapi.RemoteApiPb$Request.equals(com.google.apphosting.utils.remoteapi.RemoteApiPb$Request,boolean),
public final java.lang.String com.google.apphost
==============================================
(NG)
map '/sys/makesynccall' do
use AppEngine::Rack::AdminRequired
run JavaServlet.new('appengine.servlet.MakeSyncCallServlet')
end
use Rails::Rack::Static
run ActionController::Dispatcher.new
require "date"
gem_names = []
gem_names += %w(google-appengine appengine-tools appengine-sdk appengine-rack appengine-jruby-jars appengine-apis rack)
#gem_names += %w(rack rails activesupport actionpack erubis builder i18n)
#gem_names += %w(sinatra)
["gem", "jgem"].each do |gem_command|
puts "appengine gem versions[#{gem_command}]: #{Time.now}"
cmd = "#{gem_command} list"
#puts cmd
require "rubygems"
require "yaml"
require "pp"
backup_dir = "./backup_gems"
Dir.mkdir(backup_dir) unless File.exist?(backup_dir)
GEM_CACHE_PATH = "/opt/local/lib/ruby/gems/1.8/cache"
Dir["#{GEM_CACHE_PATH}/*"].select{|name| name=~/appengine/ }.each do |name|
spec = Gem::Specification.from_yaml(`gem spec #{name}`)
tkrmb:~/tmp/kenai_jruby% git clone git://kenai.com/jruby~main
Initialized empty Git repository in /Users/takeru/tmp/kenai_jruby/jruby~main/.git/
remote: Counting objects: 117885, done.
remote: Compressing objects: remote: 100% (36850/36850), done.
remote: Total 117885 (delta 82965), reused 107497remote: (delta 74527)
Receiving objects: 100% (117885/117885), 49.14 MiB | 473 KiB/s, done.
Resolving deltas: 100% (82965/82965), done.
Checking out files: 100% (5408/5408), done.
tkrmb:~/tmp/kenai_jruby% ls
jruby~main
############################################
### not working in user gem??? (/home/app/.gem/ruby/1.8/gems/...)
dev002:~/tmp/gaeprof% appcfg.rb .
file:/home/app/.gem/ruby/1.8/gems/appengine-jruby-jars-0.0.7.pre/lib/appengine-jruby-rubygems-0.0.7.pre.jar!/rubygems.rb:827:in `report_activate_error': Could not find RubyGem appengine-tools (>= 0) (Gem::LoadError)
from file:/home/app/.gem/ruby/1.8/gems/appengine-jruby-jars-0.0.7.pre/lib/appengine-jruby-rubygems-0.0.7.pre.jar!/rubygems.rb:261:in `activate'
from file:/home/app/.gem/ruby/1.8/gems/appengine-jruby-jars-0.0.7.pre/lib/appengine-jruby-rubygems-0.0.7.pre.jar!/rubygems.rb:68:in `gem'
from /home/app/.gem/ruby/1.8/bin/appcfg.rb:18
dev002:~/tmp/gaeprof% dev_appserver.rb .
dev002:~/tmp/gaeprof% dev_appserver.rb --jvm_flag=-agentlib:hprof .
=> Booting DevAppServer
=> Press Ctrl-C to shutdown server
2010/01/30 18:10:47 com.google.apphosting.utils.jetty.JettyLogger warn
警告: failed com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@16aeea66{/,/home/app/tmp/gaeprof}
java.lang.NoClassDefFoundError: com.sun.demo.jvmti.hprof.Tracker is a restricted class. Please see the Google App Engine developer's guide for more details.
at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51)
at org.jruby.RubyBasicObject.<clinit>(RubyBasicObject.java:1033)
at org.jruby.rack.servlet.ServletRackContext.<init>(ServletRackContext.java:63)
at org.jruby.rack.RackServletContextListener.contextInitialized(RackServletContextListener.java:40)
% RAILS_ENV=production dev_appserver.rb --jvm_flag=-agentlib:hprof=cpu=samples,interval=1 .
% grep "%" java.hprof.txt | sort -k 6
======================================
% RAILS_ENV=production dev_appserver.rb --jvm_flag=-agentlib:hprof=cpu=samples .
=> Booting DevAppServer
=> Press Ctrl-C to shutdown server
SKIP: add_gem_load_paths
ls -l WEB-INF/lib/gems.jar
jar -tf WEB-INF/lib/gems.jar | wc -l
cd WEB-INF/lib
rm -rf .tmp
mkdir .tmp
mv gems.jar .tmp/gems_ORIG.jar
cd .tmp
jar -xf gems_ORIG.jar
rm -rf bundler_gems/jruby/1.8/gems/activerecord-2.3.5
1.
02-08 06:44PM 30.495 / 500 34002ms 38286cpu_ms 0kb Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; ja-JP-mac; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6,gzip(gfe)
See details
116.81.237.215 - - [08/Feb/2010:18:45:04 -0800] "GET / HTTP/1.1" 500 0 "http://appengine.google.com/deployment?&app_id=gaebench&version_id=slowrails20090209.339754290291657510" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; ja-JP-mac; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 GTB6,gzip(gfe)" "slowrails20090209.latest.gaebench.appspot.com"
2.
I 02-08 06:45PM 00.404
** Erubis 2.6.5