jekyll / Utterson

CI benchmarking suite for Jekyll
MIT License
13 stars 8 forks source link

Create flamegraph for each site #13

Closed pathawks closed 6 years ago

pathawks commented 6 years ago

Fixes #6

pathawks commented 6 years ago
Dropping permissions: running Ruby command as user ec2-user
Error. Causes: 
- No such file or directory (os error 2)
pathawks commented 6 years ago

If I try this without using sudo for rbspy, I get a different error message:

Press Ctrl+C to stop
Dropped 21/37 stack traces because of errors. Please consider reporting a GitHub issue -- this isn't normal.
Wrote raw data to /home/ec2-user/.cache/rbspy/records/rbspy-2018-06-17-LoUIXXOMUx.raw.gz
Writing formatted output to /home/ec2-user/.cache/rbspy/records/rbspy-2018-06-17-dwJU2MJRWk.flamegraph.svg
Error. Causes: 
- Failed to copy memory address 7ff297087510
- Bad address (os error 14)
pathawks commented 6 years ago

Related: https://github.com/rbspy/rbspy/issues/145

pathawks commented 6 years ago

I have been fighting with rbspy for two weeks, using different operating systems on different machines. Nothing works; I just get info on bundle exec.

Time to figure something else out. It is just frustrating, because I know @parkr has been able to generate flamegraphs with rbspy in the past 🤷‍♂️

parkr commented 6 years ago

I used a version of ruby installed with rbenv. How are you installing your ruby? I had a number of problems with it, but was able to get it to work sometimes. :/

ashmaroli commented 6 years ago

I know rbspy generates a nice flamegraph, but if its so much hassle, why don't we try generating flamegraphs using another program, like, Stackprof, ruby-prof-flamegraph, etc..?

pathawks commented 6 years ago

I’ve been exclusively using RVM. I will give rbenv a try and, if that doesn’t work, I will look into Stackprof.

pathawks commented 6 years ago

Using rbenv seems to fix the issue :+1:

pathawks commented 6 years ago

Note to self: Consider running pip install --upgrade pip on install

pathawks commented 6 years ago

Note to self:

echo 'eval "$(rbenv init -)"' > ~/.bash_profile
bundle config build.eventmachine --with-cxxflags="-O2 -pipe -march=native"

sudo chkconfig --add myscript 
sudo chkconfig --level 2345 myscript on 
pathawks commented 6 years ago

Sweet! https://utterson.pathawks.com/2f98e54a7bd52d40c634554042f7a2180ba72c1a.html

ashmaroli commented 6 years ago

How long is a flamegraph or the report page going to be available before you archive it..?

ashmaroli commented 6 years ago

Technically, its an "Icicle Graph" instead of a "Flame Graph" :stuck_out_tongue:

pathawks commented 6 years ago

How long is a flamegraph or the report page going to be available before you archive it..?

Right now I am not planning to "archive" anything. Storage on S3 is cheap. If it gets to be a problem in the future we can reevaluate.

Technically, its an "Icicle Graph" instead of a "Flame Graph"

Yeah, rbspy changed the default output format and I haven't cared enough to worry about that yet. Internally, we've all been referring to "flamegraphs," so I have just kept that nomenclature.

pathawks commented 6 years ago

report is starting to get pretty hacky, but I'm choosing not to worry about that at this stage. Right now I'm just trying to get everything to work.

pathawks commented 6 years ago

It really bugs me that the body of the page does not seem to be center aligned with the header, but I cannot let that distract me 🙄

ashmaroli commented 6 years ago

It really bugs me that the body of the page does not seem to be center aligned with the header

Once you're past the initial unstable dev stage, and are ready to use a layout that has CSS overrides for styles at jekyllrb.com, I can send a PR for that..

pathawks commented 6 years ago

Once you're past the initial unstable dev stage, and are ready to use a layout that has CSS overrides for styles at jekyllrb.com, I can send a PR for that..

Let's focus on creating a Jekyll theme that we can use in multiple places (like the plugins directory).

pathawks commented 6 years ago

Fixes #38