Perl Instruments
Upcoming SlideShare
Loading in...5
×
 

Perl Instruments

on

  • 2,367 views

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.

Statistics

Views

Total Views
2,367
Views on SlideShare
2,363
Embed Views
4

Actions

Likes
0
Downloads
14
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Perl Instruments Perl Instruments Presentation Transcript

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