Perl Instruments

1,624
-1

Published on

A brief introduction to an ongoing project to create a agent-based command and control infrastructure for long-running Perl applications.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,624
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Perl Instruments

  1. 1. Perl Instruments PtPW’08 - {mailto,xmpp}:melo@simplicidade.org
  2. 2. Numbers • 1993: #1 of Top500: 1024 procs, 59.7Gflops • 2008: single quad-core Intel Core 2 Duo, 48Gflops • 1997: with 7264 procs, 1 Tflops reached • 2008: 16 dual-socket quad-core Intel, 1Tflop - 7264 vs 128 core’s
  3. 3. In a networked world... • You mostly wait for data • Simple requests, with a fast response • Some requests, complex to process • So we don’t do them in real-time
  4. 4. Usual solution is the worker model Zee Net
  5. 5. Track and Trace • When problems start, how do you diagnose it? • tail -f logfile: which logfile? • Who dealt with the user request? • Which webserver? • Which minion?
  6. 6. Perl Instruments • An agent runs on every Perl program • Connects to a hub via TCP • Establishes a bidirectional link between us and each web-head/worker • Logging, stats and commands flow between the two • Your own C&C system
  7. 7. Modules • Instruments::Agent • Log::Instruments • Instruments::Hub • App::Instruments::Sniffer • (CatalystX::Controller::Viewer)
  8. 8. Typical commands • “increase log level to debug” • “... but only for user X” • “... and only in module M” • Wish list: a remote real-time Devel::REPL • Wish list: enable profiling
  9. 9. CPAN Hackaton • Protocol::BLIP • and then Net::BLIP • and also AnyEvent::BLIP
  10. 10. Thanks!

×