Skip to main content

Welcome to FOSSLC

FOSSLC is a non-profit corporation dedicated to education, community, and business development involving open source technologies. Read more about FOSSLC

Probing PostgreSQL with DTrace and SystemTap

Printer-friendly version

Operating system developments in recent years have provided administrators with new and powerful ways of peeking into live, production applications to investigate behaviors and solve problems in real time without significant system impact. PostgreSQL provides several probe points allowing these dynamic tracing tools access to running applications that was formerly available only with a debugger. In this discussion we will explore the DTrace and SystemTap applications and some of their capabilities, with specific focus on PostgreSQL.

Ever wished an application's logging were just a bit more detailed? Ever wanted an application to spit out some internal variable, or count the iterations of a section of code? Ever wanted to see exactly what values resulted from some convoluted calculation? Ever been unable to provide these details because you couldn't recompile the application to add the code you needed? Dynamic tracing can provide all those details, on a running, production application, and -- theoretically, at least -- do it all without your users noticing.

PostgreSQL provides a wide array of tracing probes which allow users to gather data regarding parsing, planning, execution, storage, locking, and many other back-end behaviors, all without recompiling the application or adding new PostgreSQL code. We'll examine these probes and the capabilities of systems like DTrace and SystemTap to gather and analyze the data they provide.

Minutes: 
53
Event: 
PGCon2010
Speaker: 
Joshua Tolley
Filmed: 
21.05.2010
Key Words: 
PostgreSQL
Debugging
Performance analysis

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.