Page Speed Optimization Libraries  1.4.26.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Static Public Member Functions
net_instaweb::DebugFilter Class Reference

#include "debug_filter.h"

Inheritance diagram for net_instaweb::DebugFilter:
net_instaweb::EmptyHtmlFilter net_instaweb::HtmlFilter

List of all members.

Classes

class  Event

Public Member Functions

 DebugFilter (RewriteDriver *driver)
virtual void EndDocument ()
 Note: EndDocument will be called imediately before the last Flush call.
virtual void Flush ()
virtual const char * Name () const
 The name of this filter -- used for logging and debugging.
void InitParse ()
void StartParse ()
void EndParse ()
void StartRender ()
void EndRender ()

Static Public Member Functions

static GoogleString FormatFlushMessage (int64 time_since_init_parse_us, int64 parse_duration_us, int64 flush_duration_us, int64 idle_duration_us)
static GoogleString FormatEndDocumentMessage (int64 time_since_init_parse_us, int64 total_parse_duration_us, int64 total_flush_duration_us, int64 total_idle_duration_us, int num_flushes)

Detailed Description

Injects HTML comments for measuring the time it takes to parse HTML, run the Flush/Render sequence, and the idle-time between text blocks. Data is written into the HTML as comments.


Member Function Documentation

virtual void net_instaweb::DebugFilter::Flush ( ) [virtual]

Notifies the Filter that a flush is occurring. A filter that's generating streamed output should flush at this time. A filter that's mutating elements can mutate any element seen since the most recent flush; once an element is flushed it is already on the wire to its destination and it's too late to mutate. Flush is initiated by an application calling HttpParse::Flush().

Flush() is called after all other handlers during a HttpParse::Flush().

Reimplemented from net_instaweb::EmptyHtmlFilter.

static GoogleString net_instaweb::DebugFilter::FormatFlushMessage ( int64  time_since_init_parse_us,
int64  parse_duration_us,
int64  flush_duration_us,
int64  idle_duration_us 
) [static]

Formats Flush/EndOfDocument messages that will be easy to read from View->PageSource in a browser.

They are exposed for testing, so that unit tests are not concerned with the exact formatting of those messages.

Special entry-points needed for measuring timing. The timing of StartDocument/EndDocument does not capture the correct timing, and changing them so they do would alter functionality depended upon by numerous filters. So we have special entry-points for this filter called directly by RewriteDriver. This can be generalized in the future if these entry-points prove useful.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines