Slide 1

Slide 1 text

Metrics-Driven Engineering with GrowthForecast Takumi SAKAMOTO 2012/11/20 1 1 Saturday, December 15, 12

Slide 2

Slide 2 text

About me • Takumi SAKAMOTO • twitter: @takus • facebook: facebook.com/takumi.sakamoto • DeNA Co., Ltd. (2012.4 ~) • Operation Engineer 2 2 Saturday, December 15, 12

Slide 3

Slide 3 text

GrowthForecast User? 3 3 Saturday, December 15, 12

Slide 4

Slide 4 text

Sorry. Nothing New ;) 4 4 Saturday, December 15, 12

Slide 5

Slide 5 text

Metrics? 5 • Service Metrics • How many users? • How many PVs? • How many sales? • How many inquiries? • How many tweets of our services? • How many users of rival service? 5 Saturday, December 15, 12

Slide 6

Slide 6 text

Metrics? • Application Metrics • How fast are pages generating? • How fast do workers process queues? • How many jobs in queue? • How many RAMs used by daemon process? • How many Errors or Warns? 6 6 Saturday, December 15, 12

Slide 7

Slide 7 text

Metrics? • System Metrics • CPU • Memory • Disk I/O • Network I/O • Network connections • QPS of databases • Cache hit rates 7 7 Saturday, December 15, 12

Slide 8

Slide 8 text

Without Metrics... 8 8 Saturday, December 15, 12

Slide 9

Slide 9 text

9 By nkeegan Where should we go? 9 Saturday, December 15, 12

Slide 10

Slide 10 text

10 By C Jill Reed 10 Saturday, December 15, 12

Slide 11

Slide 11 text

11 By Thijs van Exel 11 Saturday, December 15, 12

Slide 12

Slide 12 text

Metrics is important for making a right choice 12 12 Saturday, December 15, 12

Slide 13

Slide 13 text

But, engineers are too busy to write features correcting metrics 13 13 Saturday, December 15, 12

Slide 14

Slide 14 text

We need a tool that visualizes metrics easily 14 14 Saturday, December 15, 12

Slide 15

Slide 15 text

GrowthForecast 15 15 Saturday, December 15, 12

Slide 16

Slide 16 text

Easy Install $ sudo yum groupinstall "Development Tools" $ sudo yum install pkgcon g glib2-devel gettext libxml2-devel pango-devel cairo-devel $ cpanm -n https://github.com/downloads/kazeburo/ GrowthForecast/GrowthForecast-0.31.tar.gz $ growthforecast.pl --data-dir /path/to/data_dir 16 16 Saturday, December 15, 12

Slide 17

Slide 17 text

Easy Update # POST to http://host/api/:service/:section/:graph my $ua = LWP::UserAgent->new; $ua->post('http://host:5125/api/comm/user/register', { number => $registered_user, color => '#333399' }); 17 17 Saturday, December 15, 12

Slide 18

Slide 18 text

DEMO 18 18 Saturday, December 15, 12

Slide 19

Slide 19 text

Pros/Cons 19 • Pros ;) • Easy install • Update metrics by HTTP • Regular data size (∵ RRDTool) • Integrated with uentd • Cons :-( • Managing large # of graphs is difficult • But, graph API is available • You can make your own WebUI easily • Can’t update past metrics 19 Saturday, December 15, 12

Slide 20

Slide 20 text

20 20 Saturday, December 15, 12

Slide 21

Slide 21 text

Tips • Auto Refresh Plus • auto reload Chrome Tab • https://chrome.google.com/webstore/detail/ auto-refresh-plus/ oilipfekkmncanaajkapbpancpelijih/related 21 21 Saturday, December 15, 12

Slide 22

Slide 22 text

Conclusion • Metrics is important • We can’t make a right choice without metrics • But we are so busy for adding new features • GrowthForecast • We can make service/application/system metrics graph easily • We can customize our own dashboard with graph API • @kazeburo ware is great 22 22 Saturday, December 15, 12

Slide 23

Slide 23 text

Any Questions? 23 23 Saturday, December 15, 12

Slide 24

Slide 24 text

See Also • GrowthForcast • http://kazeburo.github.com/GrowthForecast/ • Metrics Driven Engineering at Etsy • http://www.slideshare.net/mikebrittain/ metrics-driven-engineering-at-etsy 24 24 Saturday, December 15, 12