-
Notifications
You must be signed in to change notification settings - Fork 2k
Adding support for Martini & Goji frameworks - Go #837
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Adding benchmark support for Martini, a web framework for Go. See: https://github.com/martini/martini
Set the environment to `Prod` avoiding recompilation of `templates/fortunes.tmpl` on each request and thus avoiding the following error `http: panic serving 127.0.0.1:58799: open templates/fortunes.tmpl: too many open files`
martini/src/app/app.go
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does Fatalf() exit the process automatically ?
I haven't used Go so just wondering why you'd let it continue after this fatal error
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
log.Fatalf logs then exit with error code 1.
See: http://golang.org/pkg/log/#Fatalf
|
👍 |
|
@agrison Thanks for this contribution! We will aim to have this merged in for Round 10. |
goji/setup.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When shell=True, command passed to subprocess.call should be str, not list.
So .rsplit(" ") should removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
subprocess.call() waits command finished.
Use Popen instead.
Good catch!
martini/setup.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
env=env throws an exception
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@agrison In addition to alex's comment on env=env, I'll add that it's useless here. Your entire environment is persisted into the subprocess by default, including that snazzy GOPATH update above ;-) Please remove env=env from all of these subprocess lines
|
After correcting the env=env thing, a few of the tests still fail. Goji For Martini, it seems to want the user to log into github. Please fix that. |
goji/setup.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per some changes in #915, please remove this line. Add a new file at goji/bash_profile.sh, and inside it put the line export GOPATH=$TROOT
|
@agrison Awesome to see a few more go tests! If you will rebase this onto our master branch, and then update the A number of the comments here are minor changes. If you would like a working example, please consult the latest |
Toolset: Setup Vagrant
Ur/Web: Cleanup config file
Adding benchmark support for Martini, a web framework for Go. See: https://github.com/martini/martini
Set the environment to `Prod` avoiding recompilation of `templates/fortunes.tmpl` on each request and thus avoiding the following error `http: panic serving 127.0.0.1:58799: open templates/fortunes.tmpl: too many open files`
|
@hamiltont I've rebased my branch onto master but the travis build is not working, I don't know why but it keeps trying to update something on the linux box and fail because the apt-get is waiting for input on : Then it gets stuck and won't continue. I can't see any difference with the other Go frameworks. Any advice ? Example: https://travis-ci.org/TechEmpower/FrameworkBenchmarks/jobs/35114986 Sorry for the delay I was not able to find some time to work on that lately and was in vacation all the summer. |
|
I think you can add -o Dpkg::Options::="--force-confdef" -o Head's up - I'm going to have very little presence here for the next month On Fri, Sep 12, 2014 at 9:26 AM, Alexandre Grison [email protected]
|
|
Ok thanks @hamiltont , I think I'll check about that, the problem is that the apt-get commands are being issued automatically, it seems I don't have control about that. |
|
I've restarted the last travis build as this rsyslog stuff should be fixed in master |
|
Ping @agrison - the restarted travis build has finished. Looks like there are a few remaining issues with goji, and there's something causing the start method of your setup.py for martini to hang forever |
|
@agrison There were SOOOO many changes to the suite in the last few weeks - I would prefer a rebase from master to give Travis another chance. |
|
Closing because another implementation of Goji has been added to TFB and the Martini framework is no longer available on Github. |
Adding benchmark support for Martini & Goji, two web frameworks for Go.
See: