Perl Instruments

  • 1,526 views
Uploaded on

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

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

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,526
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
14
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Perl Instruments PtPW’08 - {mailto,xmpp}:melo@simplicidade.org
  • 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. 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. Usual solution is the worker model Zee Net
  • 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. 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. Modules • Instruments::Agent • Log::Instruments • Instruments::Hub • App::Instruments::Sniffer • (CatalystX::Controller::Viewer)
  • 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. CPAN Hackaton • Protocol::BLIP • and then Net::BLIP • and also AnyEvent::BLIP
  • 10. Thanks!