Discover this podcast and so much more

Podcasts are free to enjoy without a subscription. We also offer ebooks, audiobooks, and so much more for just $11.99/month.

RR 383: “Rbspy: A New(ish) Ruby Profiler!” with Julia Evans

RR 383: “Rbspy: A New(ish) Ruby Profiler!” with Julia Evans

FromRuby Rogues


RR 383: “Rbspy: A New(ish) Ruby Profiler!” with Julia Evans

FromRuby Rogues

ratings:
Length:
50 minutes
Released:
Oct 9, 2018
Format:
Podcast episode

Description

Panel:


Charles Max Wood
Dave Kimura
David Richards


Special Guests: Julia Evans

In this episode of Ruby Rogues, the panel talks with Julia Evans who is a software engineer at Stripe and lives in Montreal, Quebec, Canada. The panel talks with Julia about her tool Ruby Spy among other topics. Check it out!

Show Topics:

1:34 – Julia gives her background.

1:52 – Chuck: You’ve been on the show before. Listeners, go check it out!

2:30 – What is Ruby Spy?

2:09 – Julia: I wanted to know WHY my computer was doing what it was doing. I felt that it was my right, so I wrote that program.

3:20 – Julia: This does have these profiling tools in Java. I thought it was unfair that Java had better tools than Ruby. I figured Ruby should have it, too.

3:44 – Chuck talks about tools and Ruby Spy.

4:05 – Julia recommends it.

Julia: You had to install the gem in order to use it.

4:30 – Chuck: some people say that it has affected their performance.

4:42 – Julia: Ruby Spy is a separate process.

Julia continues this conversation and goes in-depth of what Ruby Spy is, etc.

5:27 – When would you use something like this, and what kind of data would get you back to debug the slow points.

5:43 – Julia: When you run Ruby Spy it will...

6:20 – Chuck: Does it give you method names?

6:25 – Julia: Yes, 20% in this method or...

6:37 – I can see how that would be helpful on certain aspects. Being able to narrow down the 1,000 methods where you cab get your biggest bang for your buck.

7:05 – Julia comments.

7:35 – Chuck: I know people pay for Relic...

7:56 – Chuck: When it tells you which method is taking a long time, will it look at the stack and THIS method is insufficient b/c this other method is insufficient? How does it do that?

8:35 – Julia answers the questions.

8:58 – Chuck: I’d imagine that it could keep anything in memory. Did you have to do a bunch of work where THAT means THAT?

9:20 – Julia answers.

Julia: The differences weren’t that big between the different versions.

9:54 – Julia goes through the different ways the versions are different.

11:56 – Panelist asks a question.

Is this meant for Ruby Scripts?

12:10 – Julia: It doesn’t care – as long as you are using the Ruby Interpreter.

12:25 – Chuck: Sometimes my performance issues is Ruby, and sometimes it’s the database. For Ruby it will sit there and wait for IO. Is that a blind spot that you will have in Ruby Spy?

12:54 – Julia: Great question. There are 2 ways to do profiling.

Julia explains these two ways.

13:54 – Wall Clock Time.

14:04 – Chuck: Your computer has a speed and however long it takes to run one cycle. It is similar, but...

14:26 – I guess as long as it’s relative – I was looking at these graphs you wrote.

14:51 – Julia.

14:56 – Panelist: That has been my issue. Changing context into a profiler...

15:27 – Julia.

15:38 – Chuck: Do you have to run it through something...?

15:49 – Julia.

15:53 – Chuck: Is that the most effective way to look at the data through Ruby Spy?

16:07 – Julia: I twill show you the output as it is profiling. 2 visualizations: flame graph and...

16:45 – Chuck.

16:49 – Julia: It is the only visualization that I know of.

17:00 – Chuck: I don’t know.

17:05 – Julia: You have spent this amount of % to...

How much time was spent in this function or that function?

I feel that the flame graph is much more helpful than a list of percentages.

17:33 – Chuck: What are you looking at in the flame graph?

17:37 – Guest: Basically what time was spent in that function. You look at what is big, and then you figure out if that is something to optimize or not. You go to the docs and...

18:36 – Jackal.

18:40 – Main problem that I would run into is the information OVERLOAD.

Now you have the action controllers and all these other components that aren’t normally visual.

Panelist asks a question to Julia.

19:29 – Julia: It does give you everything. If you have a real serious problem often the answer will really jump out at you. What I
Released:
Oct 9, 2018
Format:
Podcast episode

Titles in the series (100)

All ruby related podcasts from Devchat.tv, including: - Ruby Rogues - My Ruby Story - Ruby Rants