Штангенциркуль: как опубликовать онлайн результаты? - PullRequest
3 голосов
/ 29 января 2011

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

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

С этим Caliper действительно пытается загрузить результаты ... но он терпит неудачу с сообщением "Отправка в 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

Я пропустил шаг, которому должен был следовать? Если это имеет значение, я нахожусь на Windows 7 64-разрядной версии исходного кода Caliper непосредственно из 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)

1 Ответ

3 голосов
/ 30 января 2011

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

...