2011-01-29 2 views
3

В настоящее время я пытаюсь пробиться вокруг суппорта с несколькими документами, доступными в вики-проекте проекта google. После того, как удалось запустить несколько тестов, я бы хотел опубликовать результаты в Интернете, чтобы я мог читать их немного более четко, чем в командной строке.Caliper: как опубликовать результаты онлайн?

Я выполнил инструкции по вики, перешел на сайт microbenchmarks.appspot.com и скопировал ключ API в файле «.caliperrc». В качестве дополнительной заметки на этой веб-странице мне сообщается, что файл «.caliperrc» должен быть «в Windows: C: \. Caliperrc», но на самом деле, суппорт выполняет поиск в% HOME% \. Caliperrc, который находится на окнах (по крайней мере для семь): c: \ users \% login% \. caliperrc.

С этим, суппорт действительно пытается загрузить результаты ... но он не работает с сообщением «Проводка до http://microbenchmarks.appspot.com:80/run/ не выполнена: внутренняя ошибка сервера». Когда я изменяю код метода Runner.run, чтобы он также печатал трассировку стека RuntimeException, он выглядит так, как показано ниже (% APIKey% в String для «APIKey» в моем файле .caliperrc):

java.lang.RuntimeException: Posting to http://microbenchmarks.appspot.com:80/run/ failed. 
    at com.google.caliper.Runner.postResults(Runner.java:206) 
    at com.google.caliper.Runner.run(Runner.java:96) 
    at com.google.caliper.Runner.main(Runner.java:405) 
    at com.google.caliper.Runner.main(Runner.java:417) 
    at collections.ArrayListBenchmark.main(ArrayListBenchmark.java:119) 
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://microbenchmarks.appspot.com:80/run/%APIKey%/collections.ArrayListBenchmark 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at com.google.caliper.Runner.postResults(Runner.java:200) 
    ... 4 more 
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://microbenchmarks.appspot.com:80/run/%APIKey%/collections.ArrayListBenchmark 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) 
    at java.net.HttpURLConnection.getResponseCode(Unknown Source) 
    at com.google.caliper.Runner.postResults(Runner.java:188) 
    ... 4 more 

Я пропустил шаг, который должен был последовать? Если это важно, я на окнах семь 64 бит работает исходный код суппорта непосредственно из SVN с помощью следующей Java версии:

java version "1.6.0_17" 
Java(TM) SE Runtime Environment (build 1.6.0_17-b04) 
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode) 
+0

Странно. Имеет ли ваш файл .caliperrc значение, подобное этому, с 32 шестнадцатеричными цифрами? apiKey: 6c3787f0-6d59-6234-8090-63aa0f200d71 –

ответ

3

Я доложил об этом, как суппорте bug 113. Как временное решение, пока это не будет исправлено, вы должны запустить свою JVM в локали США. В своем основном методе позвоните по телефону Locale.setDefault(Locale.US).

+0

Правая отметка ... Установка языкового стандарта по умолчанию в Locale.US сделала трюк. Теперь мне нужно только найти, как удалить результат, который был загружен (что является «фиктивным» результатом, который я использовал для тестирования загрузки :). Большое спасибо за быстрый ответ. – Kellindil

+0

FYI, это фиксируется в суппорте. Если вы возьмете r284 или более позднюю версию из SVN, вы получите .jar, который не нуждается в взломе Locale. –

+0

Действительно, последний код из SVN исправляет это. – Kellindil

Смежные вопросы